Re-exports§
pub use snarkvm_ledger_block as block;pub use snarkvm_ledger_committee as committee;pub use snarkvm_ledger_narwhal as narwhal;pub use snarkvm_ledger_puzzle as puzzle;pub use snarkvm_ledger_query as query;pub use snarkvm_ledger_store as store;
Modules§
Structs§
- Block
- Deployment
- Execution
- Fee
- Header
- The header for the block contains metadata that uniquely identifies the block.
- Ledger
- State of the entire chain.
- Metadata
- Ratifications
- Solutions
- Transactions
- The set of transactions included in a block.
- Transition
Enums§
- Confirmed
Transaction - The confirmed transaction.
- Input
- The transition input.
- Output
- The transition output.
- Ratify
- Records
Filter - Rejected
- A wrapper around the rejected deployment or execution.
- Transaction
Constants§
- MAX_
COINBASE_ REWARD - A safety bound (sanity-check) for the coinbase reward.
Functions§
- block_
reward - Calculate the block reward based on the network’s consensus version, determined by the given block height.
- block_
reward_ v1 - Calculate the V1 block reward, given the total supply, block time, coinbase reward, and transaction fees. R_staking = floor((0.05 * S) / H_Y1) + CR / 3 + TX_F. S = Total supply. H_Y1 = Expected block height at year 1. CR = Coinbase reward. TX_F = Transaction fees.
- block_
reward_ v2 - Calculate the V2 block reward, given the total supply, block interval, coinbase reward, and transaction fees. R_staking = floor((0.05 * S) * clamp(I, MIN_BI, MAX_BI) / S_Y) + CR / 3 + TX_F. S = Total supply. I = Seconds elapsed since last block. S_Y = Seconds in a year (31536000). CR = Coinbase reward. TX_F = Transaction fees. MIN_BI = Minimum block interval. MAX_BI = Maximum block interval.
- coinbase_
reward - Calculate the coinbase reward based on the network’s consensus version, determined by the given block height.
- coinbase_
reward_ v1 - Calculates the V1 coinbase reward for a given block. R_coinbase = R_anchor(H) * min(P, C_R) / C R_anchor = Anchor reward at block height. H = Current block height. P = Combined proof target. C_R = Remaining coinbase target. C = Coinbase target.
- coinbase_
reward_ v2 - Calculates the V2 coinbase reward for a given block. R_coinbase = R_anchor(H) * min(P, C_R) / C R_anchor = Anchor reward at block height. H = Current block height. P = Combined proof target. C_R = Remaining coinbase target. C = Coinbase target.
- coinbase_
target - Calculate the coinbase target for the given block timestamps and target.
- decouple_
transmissions - Takes in an iterator of transmissions and returns a tuple of ratifications, solutions, and transactions.
- proof_
target - Calculate the minimum proof target for the given coinbase target.
- puzzle_
reward - Calculate the puzzle reward, given the coinbase reward. The puzzle reward is 2/3 of the total coinbase reward and paid out to the provers. The other 1/3 of the coinbase reward is included in the block reward and paid out to stakers.
- to_
next_ targets - This function calculates the next targets for the given attributes:
latest_cumulative_proof_target: The latest cumulative proof target.combined_proof_target: The combined proof target of solutions in the block.latest_coinbase_target: The latest coinbase target.last_coinbase_target: The coinbase target for the last coinbase.last_coinbase_timestamp: The timestamp for the last coinbase.next_timestamp: The timestamp for the next block. - update_
total_ supply - Returns the next total supply in microcredits, given the starting total supply and newly-confirmed transactions.