diff --git a/README.md b/README.md index 4756a3c..4822e99 100644 --- a/README.md +++ b/README.md @@ -9,19 +9,18 @@ - [`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. -- [`Initialize`](program/src/initialize.rs) – Initializes the program and creates the global accounts. +- [`Bet`](program/src/bet.rs) - Creates a wager on the current block. +- [`Bury`](program/src/bury.rs) - Swaps bets into ORE and burns it. +- [`Close`](program/src/close.rs) - Closes a wager account. +- [`Initialize`](program/src/initialize.rs) - Initializes the program. +- [`Payout`](program/src/payout.rs) - Distributes the block reward to the winner. +- [`Reset`](program/src/reset.rs) - Resets the program for the next block. ## 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. +- [`Block`](api/src/state/block.rs) - A singleton account tracking rounds of wagering. +- [`Proof`](api/src/state/proof.rs) - (Deprecated) An account which tracks a miner's current hash and current stake. +- [`Treasury`](api/src/state/treasury.rs) – The ORE mint authority. +- [`Wager`](api/src/state/wager.rs) - A bet placed by a user. ## Tests diff --git a/program/src/bet.rs b/program/src/bet.rs index 19d84df..0a21ab8 100644 --- a/program/src/bet.rs +++ b/program/src/bet.rs @@ -55,7 +55,7 @@ pub fn process_bet(accounts: &[AccountInfo<'_>], data: &[u8]) -> ProgramResult { block.total_bets += amount; block.bet_count += 1; - // Hash client seed into block noise. This follows the scheme for provable randomness. + // Hash client seed into block noise for provably fair randomness. block.noise = hashv(&[&block.noise, &seed]).to_bytes(); // Transfer wagers. diff --git a/program/src/payout.rs b/program/src/payout.rs index 365aff9..fb24c3e 100644 --- a/program/src/payout.rs +++ b/program/src/payout.rs @@ -33,11 +33,10 @@ pub fn process_payout(accounts: &[AccountInfo<'_>], _data: &[u8]) -> ProgramResu return Ok(()); } - // Select the slothash from the slot at when the round ended. - // The represents the server seed for a provably fair random number. + // Select the hash from the slot when the block ended for provably fair randomness. let slot_hashes = bincode::deserialize::(slot_hashes_sysvar.data.borrow().as_ref()).unwrap(); - let slot_hash = slot_hashes.get(&block.ends_at).unwrap(); + let slot_hash = slot_hashes.get(&block.ends_at).unwrap(); // TODO: Handle recovery case. block.noise = hashv(&[&block.noise, slot_hash.as_ref()]).to_bytes(); // Calculate the random number.