Struct snarkvm_ledger_store::TransactionStore
source · pub struct TransactionStore<N: Network, T: TransactionStorage<N>> { /* private fields */ }
Expand description
The transaction store.
Implementations§
source§impl<N: Network, T: TransactionStorage<N>> TransactionStore<N, T>
impl<N: Network, T: TransactionStorage<N>> TransactionStore<N, T>
sourcepub fn open(
transition_store: TransitionStore<N, T::TransitionStorage>
) -> Result<Self>
pub fn open( transition_store: TransitionStore<N, T::TransitionStorage> ) -> Result<Self>
Initializes the transaction store.
sourcepub fn insert(&self, transaction: &Transaction<N>) -> Result<()>
pub fn insert(&self, transaction: &Transaction<N>) -> Result<()>
Stores the given transaction
into storage.
sourcepub fn remove(&self, transaction_id: &N::TransactionID) -> Result<()>
pub fn remove(&self, transaction_id: &N::TransactionID) -> Result<()>
Removes the transaction for the given transaction ID
.
sourcepub fn deployment_store(&self) -> &DeploymentStore<N, T::DeploymentStorage>
pub fn deployment_store(&self) -> &DeploymentStore<N, T::DeploymentStorage>
Returns the deployment store.
sourcepub fn transition_store(&self) -> &TransitionStore<N, T::TransitionStorage>
pub fn transition_store(&self) -> &TransitionStore<N, T::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, T: TransactionStorage<N>> TransactionStore<N, T>
impl<N: Network, T: TransactionStorage<N>> TransactionStore<N, T>
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_deployment(
&self,
transaction_id: &N::TransactionID
) -> Result<Option<Deployment<N>>>
pub fn get_deployment( &self, transaction_id: &N::TransactionID ) -> Result<Option<Deployment<N>>>
Returns the deployment for the given transaction ID
.
sourcepub fn get_execution(
&self,
transaction_id: &N::TransactionID
) -> Result<Option<Execution<N>>>
pub fn get_execution( &self, transaction_id: &N::TransactionID ) -> Result<Option<Execution<N>>>
Returns the execution for the given transaction ID
.
sourcepub fn get_edition(
&self,
transaction_id: &N::TransactionID
) -> Result<Option<u16>>
pub fn get_edition( &self, transaction_id: &N::TransactionID ) -> Result<Option<u16>>
Returns the edition for the given transaction ID
.
sourcepub fn get_program_id(
&self,
transaction_id: &N::TransactionID
) -> Result<Option<ProgramID<N>>>
pub fn get_program_id( &self, transaction_id: &N::TransactionID ) -> Result<Option<ProgramID<N>>>
Returns the program ID for the given transaction ID
.
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_verifying_key(
&self,
program_id: &ProgramID<N>,
function_name: &Identifier<N>
) -> Result<Option<VerifyingKey<N>>>
pub fn get_verifying_key( &self, program_id: &ProgramID<N>, function_name: &Identifier<N> ) -> Result<Option<VerifyingKey<N>>>
Returns the verifying key for the given (program ID, function name)
.
sourcepub fn get_certificate(
&self,
program_id: &ProgramID<N>,
function_name: &Identifier<N>
) -> Result<Option<Certificate<N>>>
pub fn get_certificate( &self, program_id: &ProgramID<N>, function_name: &Identifier<N> ) -> Result<Option<Certificate<N>>>
Returns the certificate for the given (program ID, function name)
.
source§impl<N: Network, T: TransactionStorage<N>> TransactionStore<N, T>
impl<N: Network, T: TransactionStorage<N>> TransactionStore<N, T>
sourcepub fn find_transaction_id_from_program_id(
&self,
program_id: &ProgramID<N>
) -> Result<Option<N::TransactionID>>
pub 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
.
sourcepub fn find_transaction_id_from_transition_id(
&self,
transition_id: &N::TransitionID
) -> Result<Option<N::TransactionID>>
pub 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§impl<N: Network, T: TransactionStorage<N>> TransactionStore<N, T>
impl<N: Network, T: TransactionStorage<N>> TransactionStore<N, T>
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_program_id(&self, program_id: &ProgramID<N>) -> Result<bool>
pub fn contains_program_id(&self, program_id: &ProgramID<N>) -> Result<bool>
Returns true
if the given program ID exists.
source§impl<N: Network, T: TransactionStorage<N>> TransactionStore<N, T>
impl<N: Network, T: TransactionStorage<N>> TransactionStore<N, T>
sourcepub fn transaction_ids(
&self
) -> impl '_ + Iterator<Item = Cow<'_, N::TransactionID>>
pub fn transaction_ids( &self ) -> impl '_ + Iterator<Item = Cow<'_, N::TransactionID>>
Returns an iterator over the transaction IDs, for all transactions.
sourcepub fn deployment_transaction_ids(
&self
) -> impl '_ + Iterator<Item = Cow<'_, N::TransactionID>>
pub fn deployment_transaction_ids( &self ) -> impl '_ + Iterator<Item = Cow<'_, N::TransactionID>>
Returns an iterator over the deployment transaction IDs, for all deployments.
sourcepub fn execution_transaction_ids(
&self
) -> impl '_ + Iterator<Item = Cow<'_, N::TransactionID>>
pub fn execution_transaction_ids( &self ) -> impl '_ + Iterator<Item = Cow<'_, N::TransactionID>>
Returns an iterator over the execution transaction IDs, for all executions.
sourcepub fn program_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, ProgramID<N>>>
pub fn program_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, ProgramID<N>>>
Returns an iterator over the program IDs, for all deployments.
sourcepub fn programs(&self) -> impl '_ + Iterator<Item = Cow<'_, Program<N>>>
pub fn programs(&self) -> impl '_ + Iterator<Item = Cow<'_, Program<N>>>
Returns an iterator over the programs, for all deployments.
sourcepub fn verifying_keys(
&self
) -> impl '_ + Iterator<Item = (Cow<'_, (ProgramID<N>, Identifier<N>, u16)>, Cow<'_, VerifyingKey<N>>)>
pub fn verifying_keys( &self ) -> impl '_ + Iterator<Item = (Cow<'_, (ProgramID<N>, Identifier<N>, u16)>, Cow<'_, VerifyingKey<N>>)>
Returns an iterator over the ((program ID, function name, edition), verifying key)
, for all deployments.
sourcepub fn certificates(
&self
) -> impl '_ + Iterator<Item = (Cow<'_, (ProgramID<N>, Identifier<N>, u16)>, Cow<'_, Certificate<N>>)>
pub fn certificates( &self ) -> impl '_ + Iterator<Item = (Cow<'_, (ProgramID<N>, Identifier<N>, u16)>, Cow<'_, Certificate<N>>)>
Returns an iterator over the ((program ID, function name, edition), certificate)
, for all deployments.
Trait Implementations§
source§impl<N: Clone + Network, T: Clone + TransactionStorage<N>> Clone for TransactionStore<N, T>where
T::IDMap: Clone,
impl<N: Clone + Network, T: Clone + TransactionStorage<N>> Clone for TransactionStore<N, T>where T::IDMap: Clone,
source§fn clone(&self) -> TransactionStore<N, T>
fn clone(&self) -> TransactionStore<N, T>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more