mirror of
https://github.com/d0zingcat/ore.git
synced 2026-05-13 23:16:52 +00:00
70a9d38e4d4ee64104972303210ba7c7650ee417
* update accounting logic for global boosts * rename vars * update event * const * deprecate top balance * handle div by zero * cast to u128 * debug logs * fix proof parser * debug logs * update boost sdk * remove debug logs * import * cleanup sdk * silent error * debug logs * more logs * boost math * debug log * log timing * debug logs * alt model * alt model * refine sdk * fix optional account parser * debug logs * boost keys * update sdk * remove debug logs * mainnet program id * cleanup * update metadata * update deps
ORE
ORE is a cryptocurrency everyone can mine.
API
Consts– Program constants.Error– Custom program errors.Event– Custom program events.Instruction– Declared instructions and arguments.
Instructions
Claim– Distributes ORE from the treasury to a miner.Close– Closes a proof account returns the rent to the owner.Open– Opens a new proof account for a miner.Mine– Verifies a hash and increments a miner's claimable balance.Reset– Resets the program for a new epoch.Update– Updates a proof account's miner authority.Initialize– Initializes the program and creates the global accounts.
State
Bus- An account (8 total) which tracks and limits the amount ORE mined each epoch.Config– A singleton account which manages program-wide variables.Proof- An account (1 per user) which tracks a miner's current hash and current stake.Treasury– A singleton account which has authority to mint ORE and holds onto user stake.
Tests
To run the test suite, use the Solana toolchain:
cargo test-sbf
For line coverage, use llvm-cov:
cargo llvm-cov
Description
Languages
Rust
99.5%
Shell
0.5%