snarkvm_ledger_store

Trait TransactionStorage

Source
pub trait TransactionStorage<N: Network>:
    Clone
    + Send
    + Sync {
    type IDMap: for<'a> Map<'a, N::TransactionID, TransactionType>;
    type DeploymentStorage: DeploymentStorage<N, FeeStorage = Self::FeeStorage>;
    type ExecutionStorage: ExecutionStorage<N, FeeStorage = Self::FeeStorage>;
    type FeeStorage: FeeStorage<N, TransitionStorage = Self::TransitionStorage>;
    type TransitionStorage: TransitionStorage<N>;

Show 19 methods // Required methods fn open( transition_store: TransitionStore<N, Self::TransitionStorage>, ) -> Result<Self>; fn id_map(&self) -> &Self::IDMap; fn deployment_store(&self) -> &DeploymentStore<N, Self::DeploymentStorage>; fn execution_store(&self) -> &ExecutionStore<N, Self::ExecutionStorage>; fn fee_store(&self) -> &FeeStore<N, Self::FeeStorage>; // Provided methods fn transition_store(&self) -> &TransitionStore<N, Self::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 find_transaction_id_from_program_id( &self, program_id: &ProgramID<N>, ) -> Result<Option<N::TransactionID>> { ... } fn get_transaction( &self, transaction_id: &N::TransactionID, ) -> Result<Option<Transaction<N>>> { ... }
}
Expand description

A trait for transaction storage.

Required Associated Types§

Source

type IDMap: for<'a> Map<'a, N::TransactionID, TransactionType>

The mapping of transaction ID to transaction type.

Source

type DeploymentStorage: DeploymentStorage<N, FeeStorage = Self::FeeStorage>

The deployment storage.

Source

type ExecutionStorage: ExecutionStorage<N, FeeStorage = Self::FeeStorage>

The execution storage.

Source

type FeeStorage: FeeStorage<N, TransitionStorage = Self::TransitionStorage>

The fee storage.

Source

type TransitionStorage: TransitionStorage<N>

The transition storage.

Required Methods§

Source

fn open( transition_store: TransitionStore<N, Self::TransitionStorage>, ) -> Result<Self>

Initializes the transaction storage.

Source

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

Returns the ID map.

Source

fn deployment_store(&self) -> &DeploymentStore<N, Self::DeploymentStorage>

Returns the deployment store.

Source

fn execution_store(&self) -> &ExecutionStore<N, Self::ExecutionStorage>

Returns the execution store.

Source

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

Returns the fee store.

Provided Methods§

Source

fn transition_store(&self) -> &TransitionStore<N, Self::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 transaction into storage.

Source

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

Removes the 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 find_transaction_id_from_program_id( &self, program_id: &ProgramID<N>, ) -> Result<Option<N::TransactionID>>

Returns the transaction ID that contains the given program 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§