Files
ore/README.md
Hardhat Chad d59b3a2f4d Deprecate legacy staking (#99)
* add post balance to MineEvent log

* log input hash

* deprecate legacy staking

* update error message

* remove stake from readme

* err msg

* err msg

* update logs and comments

* consolidate logs

* last hash at

* bump version

* deprecate legacy staking

* update error message

* remove stake from readme

* err msg

* err msg

* bump version

---------

Co-authored-by: tonton-sol <19677766+tonton-sol@users.noreply.github.com>
Co-authored-by: alex <aabinaei@gmail.com>
2024-10-24 13:41:03 -05:00

42 lines
1.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ORE
**ORE is a cryptocurrency everyone can mine.**
## API
- [`Consts`](api/src/consts.rs)  Program constants.
- [`Error`](api/src/error.rs)  Custom program errors.
- [`Event`](api/src/error.rs)  Custom program events.
- [`Instruction`](api/src/instruction.rs)  Declared instructions and arguments.
## Instructions
- [`Claim`](program/src/claim.rs) Distributes ORE from the treasury to a miner.
- [`Close`](program/src/close.rs)  Closes a proof account returns the rent to the owner.
- [`Open`](program/src/open.rs)  Opens a new proof account for a miner.
- [`Mine`](program/src/mine.rs) Verifies a hash and increments a miner's claimable balance.
- [`Reset`](program/src/reset.rs) Resets the program for a new epoch.
- [`Update`](program/src/update.rs) Updates a proof account's miner authority.
- [`Upgrade`](program/src/upgrade.rs) Migrates ORE v1 tokens to ORE v2, one-for-one.
- [`Initialize`](program/src/initialize.rs)  Initializes the program and creates the global accounts.
## State
- [`Bus`](api/src/state/bus.rs) - An account (8 total) which tracks and limits the amount ORE mined each epoch.
- [`Config`](api/src/state/config.rs) A singleton account which manages program-wide variables.
- [`Proof`](api/src/state/proof.rs) - An account (1 per user) which tracks a miner's current hash and current stake.
- [`Treasury`](api/src/state/treasury.rs) 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
```