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 dev(&self) -> Option<u16> { ... } 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 dev(&self) -> Option<u16>

Returns the optional development ID.

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.

Object Safety§

This trait is not object safe.

Implementors§