Struct snarkvm_ledger_store::BlockStore
source · pub struct BlockStore<N: Network, B: BlockStorage<N>> { /* private fields */ }
Expand description
The block store.
Implementations§
source§impl<N: Network, B: BlockStorage<N>> BlockStore<N, B>
impl<N: Network, B: BlockStorage<N>> BlockStore<N, B>
sourcepub fn remove_last_n(&self, n: u32) -> Result<()>
pub fn remove_last_n(&self, n: u32) -> Result<()>
Removes the last ‘n’ blocks from storage.
sourcepub fn transaction_store(&self) -> &TransactionStore<N, B::TransactionStorage>
pub fn transaction_store(&self) -> &TransactionStore<N, B::TransactionStorage>
Returns the transaction store.
sourcepub fn transition_store(&self) -> &TransitionStore<N, B::TransitionStorage>
pub fn transition_store(&self) -> &TransitionStore<N, B::TransitionStorage>
Returns the transition store.
sourcepub fn start_atomic(&self)
pub fn start_atomic(&self)
Starts an atomic batch write operation.
sourcepub fn is_atomic_in_progress(&self) -> bool
pub fn is_atomic_in_progress(&self) -> bool
Checks if an atomic batch is in progress.
sourcepub fn atomic_checkpoint(&self)
pub fn atomic_checkpoint(&self)
Checkpoints the atomic batch.
sourcepub fn clear_latest_checkpoint(&self)
pub fn clear_latest_checkpoint(&self)
Clears the latest atomic batch checkpoint.
sourcepub fn atomic_rewind(&self)
pub fn atomic_rewind(&self)
Rewinds the atomic batch to the previous checkpoint.
sourcepub fn abort_atomic(&self)
pub fn abort_atomic(&self)
Aborts an atomic batch write operation.
sourcepub fn finish_atomic(&self) -> Result<()>
pub fn finish_atomic(&self) -> Result<()>
Finishes an atomic batch write operation.
source§impl<N: Network, B: BlockStorage<N>> BlockStore<N, B>
impl<N: Network, B: BlockStorage<N>> BlockStore<N, B>
sourcepub fn find_block_height_from_state_root(
&self,
state_root: N::StateRoot
) -> Result<Option<u32>>
pub fn find_block_height_from_state_root( &self, state_root: N::StateRoot ) -> Result<Option<u32>>
Returns the block height that contains the given state root
.
sourcepub fn find_block_hash(
&self,
transaction_id: &N::TransactionID
) -> Result<Option<N::BlockHash>>
pub fn find_block_hash( &self, transaction_id: &N::TransactionID ) -> Result<Option<N::BlockHash>>
Returns the block hash that contains the given transaction ID
.
sourcepub fn find_block_height_from_puzzle_commitment(
&self,
puzzle_commitment: &PuzzleCommitment<N>
) -> Result<Option<u32>>
pub fn find_block_height_from_puzzle_commitment( &self, puzzle_commitment: &PuzzleCommitment<N> ) -> Result<Option<u32>>
Returns the block height that contains the given puzzle commitment
.
source§impl<N: Network, B: BlockStorage<N>> BlockStore<N, B>
impl<N: Network, B: BlockStorage<N>> BlockStore<N, B>
sourcepub fn current_state_root(&self) -> N::StateRoot
pub fn current_state_root(&self) -> N::StateRoot
Returns the current state root.
sourcepub fn get_state_root(&self, block_height: u32) -> Result<Option<N::StateRoot>>
pub fn get_state_root(&self, block_height: u32) -> Result<Option<N::StateRoot>>
Returns the state root that contains the given block height
.
sourcepub fn get_state_path_for_commitment(
&self,
commitment: &Field<N>
) -> Result<StatePath<N>>
pub fn get_state_path_for_commitment( &self, commitment: &Field<N> ) -> Result<StatePath<N>>
Returns a state path for the given commitment
.
sourcepub fn get_previous_block_hash(
&self,
height: u32
) -> Result<Option<N::BlockHash>>
pub fn get_previous_block_hash( &self, height: u32 ) -> Result<Option<N::BlockHash>>
Returns the previous block hash of the given block height
.
sourcepub fn get_block_hash(&self, height: u32) -> Result<Option<N::BlockHash>>
pub fn get_block_hash(&self, height: u32) -> Result<Option<N::BlockHash>>
Returns the block hash for the given block height
.
sourcepub fn get_block_height(&self, block_hash: &N::BlockHash) -> Result<Option<u32>>
pub fn get_block_height(&self, block_hash: &N::BlockHash) -> Result<Option<u32>>
Returns the block height for the given block hash
.
sourcepub fn get_block_header(
&self,
block_hash: &N::BlockHash
) -> Result<Option<Header<N>>>
pub fn get_block_header( &self, block_hash: &N::BlockHash ) -> Result<Option<Header<N>>>
Returns the block header for the given block hash
.
Returns the block authority for the given block hash
.
sourcepub fn get_block_ratifications(
&self,
block_hash: &N::BlockHash
) -> Result<Option<Ratifications<N>>>
pub fn get_block_ratifications( &self, block_hash: &N::BlockHash ) -> Result<Option<Ratifications<N>>>
Returns the block ratifications for the given block hash
.
sourcepub fn get_block_solutions(
&self,
block_hash: &N::BlockHash
) -> Result<Option<CoinbaseSolution<N>>>
pub fn get_block_solutions( &self, block_hash: &N::BlockHash ) -> Result<Option<CoinbaseSolution<N>>>
Returns the block solutions for the given block hash
.
sourcepub fn get_solution(
&self,
solution_id: &PuzzleCommitment<N>
) -> Result<ProverSolution<N>>
pub fn get_solution( &self, solution_id: &PuzzleCommitment<N> ) -> Result<ProverSolution<N>>
Returns the prover solution for the given solution ID.
sourcepub fn get_block_transactions(
&self,
block_hash: &N::BlockHash
) -> Result<Option<Transactions<N>>>
pub fn get_block_transactions( &self, block_hash: &N::BlockHash ) -> Result<Option<Transactions<N>>>
Returns the block transactions for the given block hash
.
sourcepub fn get_block_aborted_transaction_ids(
&self,
block_hash: &N::BlockHash
) -> Result<Option<Vec<N::TransactionID>>>
pub fn get_block_aborted_transaction_ids( &self, block_hash: &N::BlockHash ) -> Result<Option<Vec<N::TransactionID>>>
Returns the block aborted transaction IDs for the given block hash
.
sourcepub fn get_transaction(
&self,
transaction_id: &N::TransactionID
) -> Result<Option<Transaction<N>>>
pub fn get_transaction( &self, transaction_id: &N::TransactionID ) -> Result<Option<Transaction<N>>>
Returns the transaction for the given transaction ID
.
sourcepub fn get_confirmed_transaction(
&self,
transaction_id: &N::TransactionID
) -> Result<Option<ConfirmedTransaction<N>>>
pub fn get_confirmed_transaction( &self, transaction_id: &N::TransactionID ) -> Result<Option<ConfirmedTransaction<N>>>
Returns the confirmed transaction for the given transaction ID
.
sourcepub fn get_unconfirmed_transaction(
&self,
transaction_id: &N::TransactionID
) -> Result<Option<Transaction<N>>>
pub fn get_unconfirmed_transaction( &self, transaction_id: &N::TransactionID ) -> Result<Option<Transaction<N>>>
Returns the unconfirmed transaction for the given transaction ID
.
sourcepub fn get_block(&self, block_hash: &N::BlockHash) -> Result<Option<Block<N>>>
pub fn get_block(&self, block_hash: &N::BlockHash) -> Result<Option<Block<N>>>
Returns the block for the given block hash
.
sourcepub fn get_program(
&self,
program_id: &ProgramID<N>
) -> Result<Option<Program<N>>>
pub fn get_program( &self, program_id: &ProgramID<N> ) -> Result<Option<Program<N>>>
Returns the program for the given program ID
.
sourcepub fn get_batch_certificate(
&self,
certificate_id: &Field<N>
) -> Result<Option<BatchCertificate<N>>>
pub fn get_batch_certificate( &self, certificate_id: &Field<N> ) -> Result<Option<BatchCertificate<N>>>
Returns the batch certificate for the given certificate ID
.
source§impl<N: Network, B: BlockStorage<N>> BlockStore<N, B>
impl<N: Network, B: BlockStorage<N>> BlockStore<N, B>
sourcepub fn contains_state_root(&self, state_root: &N::StateRoot) -> Result<bool>
pub fn contains_state_root(&self, state_root: &N::StateRoot) -> Result<bool>
Returns true
if the given state root exists.
sourcepub fn contains_block_height(&self, height: u32) -> Result<bool>
pub fn contains_block_height(&self, height: u32) -> Result<bool>
Returns true
if the given block height exists.
sourcepub fn contains_block_hash(&self, block_hash: &N::BlockHash) -> Result<bool>
pub fn contains_block_hash(&self, block_hash: &N::BlockHash) -> Result<bool>
Returns true
if the given block hash exists.
sourcepub fn contains_transaction_id(
&self,
transaction_id: &N::TransactionID
) -> Result<bool>
pub fn contains_transaction_id( &self, transaction_id: &N::TransactionID ) -> Result<bool>
Returns true
if the given transaction ID exists.
sourcepub fn contains_rejected_or_aborted_transaction_id(
&self,
transaction_id: &N::TransactionID
) -> Result<bool>
pub fn contains_rejected_or_aborted_transaction_id( &self, transaction_id: &N::TransactionID ) -> Result<bool>
Returns true
if the given rejected transaction ID or aborted transaction ID exists.
sourcepub fn contains_rejected_deployment_or_execution_id(
&self,
rejected_id: &Field<N>
) -> Result<bool>
pub fn contains_rejected_deployment_or_execution_id( &self, rejected_id: &Field<N> ) -> Result<bool>
Returns true
if the given rejected deployment or execution ID.
sourcepub fn contains_certificate(&self, certificate_id: &Field<N>) -> Result<bool>
pub fn contains_certificate(&self, certificate_id: &Field<N>) -> Result<bool>
Returns true
if the given certificate ID exists.
sourcepub fn contains_puzzle_commitment(
&self,
puzzle_commitment: &PuzzleCommitment<N>
) -> Result<bool>
pub fn contains_puzzle_commitment( &self, puzzle_commitment: &PuzzleCommitment<N> ) -> Result<bool>
Returns true
if the given puzzle commitment exists.
source§impl<N: Network, B: BlockStorage<N>> BlockStore<N, B>
impl<N: Network, B: BlockStorage<N>> BlockStore<N, B>
sourcepub fn state_roots(&self) -> impl '_ + Iterator<Item = Cow<'_, N::StateRoot>>
pub fn state_roots(&self) -> impl '_ + Iterator<Item = Cow<'_, N::StateRoot>>
Returns an iterator over the state roots, for all blocks in self
.
sourcepub fn heights(&self) -> impl '_ + Iterator<Item = Cow<'_, u32>>
pub fn heights(&self) -> impl '_ + Iterator<Item = Cow<'_, u32>>
Returns an iterator over the block heights, for all blocks in self
.
sourcepub fn hashes(&self) -> impl '_ + Iterator<Item = Cow<'_, N::BlockHash>>
pub fn hashes(&self) -> impl '_ + Iterator<Item = Cow<'_, N::BlockHash>>
Returns an iterator over the block hashes, for all blocks in self
.
sourcepub fn puzzle_commitments(
&self
) -> impl '_ + Iterator<Item = Cow<'_, PuzzleCommitment<N>>>
pub fn puzzle_commitments( &self ) -> impl '_ + Iterator<Item = Cow<'_, PuzzleCommitment<N>>>
Returns an iterator over the puzzle commitments, for all blocks in self
.
Trait Implementations§
source§impl<N: Clone + Network, B: Clone + BlockStorage<N>> Clone for BlockStore<N, B>
impl<N: Clone + Network, B: Clone + BlockStorage<N>> Clone for BlockStore<N, B>
source§fn clone(&self) -> BlockStore<N, B>
fn clone(&self) -> BlockStore<N, B>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more