Trait snarkvm_compiler::ExecutionStorage
source · [−]pub trait ExecutionStorage<N: Network>: Clone + Sync {
type IDMap: for<'a> Map<'a, N::TransactionID, (Vec<N::TransitionID>, Option<N::TransitionID>)>;
type ReverseIDMap: for<'a> Map<'a, N::TransitionID, N::TransactionID>;
type EditionMap: for<'a> Map<'a, N::TransactionID, u16>;
type TransitionStorage: TransitionStorage<N>;
Show 14 methods
fn open(
transition_store: TransitionStore<N, Self::TransitionStorage>
) -> Result<Self>;
fn id_map(&self) -> &Self::IDMap;
fn reverse_id_map(&self) -> &Self::ReverseIDMap;
fn edition_map(&self) -> &Self::EditionMap;
fn transition_store(&self) -> &TransitionStore<N, Self::TransitionStorage>;
fn start_atomic(&self) { ... }
fn is_atomic_in_progress(&self) -> bool { ... }
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(
&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
The mapping of transaction ID
to ([transition ID], (optional) transition ID)
.
sourcetype ReverseIDMap: for<'a> Map<'a, N::TransitionID, N::TransactionID>
type ReverseIDMap: for<'a> Map<'a, N::TransitionID, N::TransactionID>
The mapping of transition ID
to transaction ID
.
sourcetype EditionMap: for<'a> Map<'a, N::TransactionID, u16>
type EditionMap: for<'a> Map<'a, N::TransactionID, u16>
The mapping of program ID
to edition
.
sourcetype TransitionStorage: TransitionStorage<N>
type TransitionStorage: TransitionStorage<N>
The transition storage.
Required Methods
sourcefn open(
transition_store: TransitionStore<N, Self::TransitionStorage>
) -> Result<Self>
fn open(
transition_store: TransitionStore<N, Self::TransitionStorage>
) -> Result<Self>
Initializes the execution storage.
sourcefn reverse_id_map(&self) -> &Self::ReverseIDMap
fn reverse_id_map(&self) -> &Self::ReverseIDMap
Returns the reverse ID map.
sourcefn edition_map(&self) -> &Self::EditionMap
fn edition_map(&self) -> &Self::EditionMap
Returns the edition map.
sourcefn transition_store(&self) -> &TransitionStore<N, Self::TransitionStorage>
fn transition_store(&self) -> &TransitionStore<N, Self::TransitionStorage>
Returns the transition store.
Provided Methods
sourcefn start_atomic(&self)
fn start_atomic(&self)
Starts an atomic batch write operation.
sourcefn is_atomic_in_progress(&self) -> bool
fn is_atomic_in_progress(&self) -> bool
Checks if an atomic batch is in progress.
sourcefn abort_atomic(&self)
fn abort_atomic(&self)
Aborts an atomic batch write operation.
sourcefn finish_atomic(&self) -> Result<()>
fn finish_atomic(&self) -> Result<()>
Finishes an atomic batch write operation.
sourcefn insert(&self, transaction: &Transaction<N>) -> Result<()>
fn insert(&self, transaction: &Transaction<N>) -> Result<()>
Stores the given execution transaction
pair into storage.
Removes the execution transaction for the given transaction ID
.
sourcefn find_transaction_id(
&self,
transition_id: &N::TransitionID
) -> Result<Option<N::TransactionID>>
fn find_transaction_id(
&self,
transition_id: &N::TransitionID
) -> Result<Option<N::TransactionID>>
Returns the transaction ID that contains the given transition ID
.
sourcefn get_execution(
&self,
transaction_id: &N::TransactionID
) -> Result<Option<Execution<N>>>
fn get_execution(
&self,
transaction_id: &N::TransactionID
) -> Result<Option<Execution<N>>>
Returns the execution for the given transaction ID
.
sourcefn get_transaction(
&self,
transaction_id: &N::TransactionID
) -> Result<Option<Transaction<N>>>
fn get_transaction(
&self,
transaction_id: &N::TransactionID
) -> Result<Option<Transaction<N>>>
Returns the transaction for the given transaction ID
.