snarkvm_ledger_store

Trait ExecutionStorage

Source
pub trait ExecutionStorage<N: Network>:
    Clone
    + Send
    + Sync {
    type IDMap: for<'a> Map<'a, N::TransactionID, (Vec<N::TransitionID>, bool)>;
    type ReverseIDMap: for<'a> Map<'a, N::TransitionID, N::TransactionID>;
    type InclusionMap: for<'a> Map<'a, N::TransactionID, (N::StateRoot, Option<Proof<N>>)>;
    type FeeStorage: FeeStorage<N>;

Show 19 methods // Required methods fn open(fee_store: FeeStore<N, Self::FeeStorage>) -> Result<Self>; fn id_map(&self) -> &Self::IDMap; fn reverse_id_map(&self) -> &Self::ReverseIDMap; fn inclusion_map(&self) -> &Self::InclusionMap; fn fee_store(&self) -> &FeeStore<N, Self::FeeStorage>; // Provided methods fn transition_store( &self, ) -> &TransitionStore<N, <Self::FeeStorage as FeeStorage<N>>::TransitionStorage> { ... } fn storage_mode(&self) -> &StorageMode { ... } fn start_atomic(&self) { ... } fn is_atomic_in_progress(&self) -> bool { ... } fn atomic_checkpoint(&self) { ... } fn clear_latest_checkpoint(&self) { ... } fn atomic_rewind(&self) { ... } fn abort_atomic(&self) { ... } fn finish_atomic(&self) -> Result<()> { ... } fn insert(&self, transaction: &Transaction<N>) -> Result<()> { ... } fn remove(&self, transaction_id: &N::TransactionID) -> Result<()> { ... } fn find_transaction_id_from_transition_id( &self, transition_id: &N::TransitionID, ) -> Result<Option<N::TransactionID>> { ... } fn get_execution( &self, transaction_id: &N::TransactionID, ) -> Result<Option<Execution<N>>> { ... } fn get_transaction( &self, transaction_id: &N::TransactionID, ) -> Result<Option<Transaction<N>>> { ... }
}
Expand description

A trait for execution storage.

Required Associated Types§

Source

type IDMap: for<'a> Map<'a, N::TransactionID, (Vec<N::TransitionID>, bool)>

The mapping of transaction ID to ([transition ID], has_fee).

Source

type ReverseIDMap: for<'a> Map<'a, N::TransitionID, N::TransactionID>

The mapping of transition ID to transaction ID.

Source

type InclusionMap: for<'a> Map<'a, N::TransactionID, (N::StateRoot, Option<Proof<N>>)>

The mapping of transaction ID to (global state root, (optional) proof).

Source

type FeeStorage: FeeStorage<N>

The fee storage.

Required Methods§

Source

fn open(fee_store: FeeStore<N, Self::FeeStorage>) -> Result<Self>

Initializes the execution storage.

Source

fn id_map(&self) -> &Self::IDMap

Returns the ID map.

Source

fn reverse_id_map(&self) -> &Self::ReverseIDMap

Returns the reverse ID map.

Source

fn inclusion_map(&self) -> &Self::InclusionMap

Returns the inclusion map.

Source

fn fee_store(&self) -> &FeeStore<N, Self::FeeStorage>

Returns the fee store.

Provided Methods§

Source

fn transition_store( &self, ) -> &TransitionStore<N, <Self::FeeStorage as FeeStorage<N>>::TransitionStorage>

Returns the transition store.

Source

fn storage_mode(&self) -> &StorageMode

Returns the storage mode.

Source

fn start_atomic(&self)

Starts an atomic batch write operation.

Source

fn is_atomic_in_progress(&self) -> bool

Checks if an atomic batch is in progress.

Source

fn atomic_checkpoint(&self)

Checkpoints the atomic batch.

Source

fn clear_latest_checkpoint(&self)

Clears the latest atomic batch checkpoint.

Source

fn atomic_rewind(&self)

Rewinds the atomic batch to the previous checkpoint.

Source

fn abort_atomic(&self)

Aborts an atomic batch write operation.

Source

fn finish_atomic(&self) -> Result<()>

Finishes an atomic batch write operation.

Source

fn insert(&self, transaction: &Transaction<N>) -> Result<()>

Stores the given execution transaction pair into storage.

Source

fn remove(&self, transaction_id: &N::TransactionID) -> Result<()>

Removes the execution transaction for the given transaction ID.

Source

fn find_transaction_id_from_transition_id( &self, transition_id: &N::TransitionID, ) -> Result<Option<N::TransactionID>>

Returns the transaction ID that contains the given transition ID.

Source

fn get_execution( &self, transaction_id: &N::TransactionID, ) -> Result<Option<Execution<N>>>

Returns the execution for the given transaction ID.

Source

fn get_transaction( &self, transaction_id: &N::TransactionID, ) -> Result<Option<Transaction<N>>>

Returns the transaction for the given transaction ID.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§