mirror of
https://github.com/d0zingcat/ore.git
synced 2026-05-14 07:26:51 +00:00
9e20781d8a2bf6ece370cac2210b6b232c91c9d5
ORE
ORE is a cross-border digital currency everyone can mine.
API
Consts– Program constants.Entrypoint– The program entrypoint.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
Description
Languages
Rust
99.5%
Shell
0.5%