22 releases (13 stable)
new 2.6.0 | Nov 3, 2024 |
---|---|
2.5.0 | Oct 26, 2024 |
2.1.9 | Aug 30, 2024 |
2.0.0 | Jul 31, 2024 |
#879 in Magic Beans
6,158 downloads per month
Used in 17 crates
36KB
728 lines
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.Stake
– Stakes ORE with a miner to increase their multiplier.Reset
– Resets the program for a new epoch.Update
– Updates a proof account's miner authority.Upgrade
– Migrates ORE v1 tokens to ORE v2, one-for-one.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
Dependencies
~39MB
~580K SLoC