Struct snarkvm_ledger_store::TransitionStore
source · pub struct TransitionStore<N: Network, T: TransitionStorage<N>> { /* private fields */ }
Expand description
The transition store.
Implementations§
source§impl<N: Network, T: TransitionStorage<N>> TransitionStore<N, T>
impl<N: Network, T: TransitionStorage<N>> TransitionStore<N, T>
sourcepub fn insert(&self, transition: &Transition<N>) -> Result<()>
pub fn insert(&self, transition: &Transition<N>) -> Result<()>
Stores the given transition
into storage.
sourcepub fn remove(&self, transition_id: &N::TransitionID) -> Result<()>
pub fn remove(&self, transition_id: &N::TransitionID) -> Result<()>
Removes the input for the given transition ID
.
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: TransitionStorage<N>> TransitionStore<N, T>
impl<N: Network, T: TransitionStorage<N>> TransitionStore<N, T>
sourcepub fn find_transition_id(&self, id: &Field<N>) -> Result<N::TransitionID>
pub fn find_transition_id(&self, id: &Field<N>) -> Result<N::TransitionID>
Returns the transition ID that contains the given input ID
or output ID
.
source§impl<N: Network, T: TransitionStorage<N>> TransitionStore<N, T>
impl<N: Network, T: TransitionStorage<N>> TransitionStore<N, T>
sourcepub fn get_transition(
&self,
transition_id: &N::TransitionID
) -> Result<Option<Transition<N>>>
pub fn get_transition( &self, transition_id: &N::TransitionID ) -> Result<Option<Transition<N>>>
Returns the transition for the given transition ID
.
sourcepub fn get_program_id(
&self,
transition_id: &N::TransitionID
) -> Result<Option<ProgramID<N>>>
pub fn get_program_id( &self, transition_id: &N::TransitionID ) -> Result<Option<ProgramID<N>>>
Returns the program ID for the given transition ID
.
sourcepub fn get_function_name(
&self,
transition_id: &N::TransitionID
) -> Result<Option<Identifier<N>>>
pub fn get_function_name( &self, transition_id: &N::TransitionID ) -> Result<Option<Identifier<N>>>
Returns the function name for the given transition ID
.
sourcepub fn get_input_ids(
&self,
transition_id: &N::TransitionID
) -> Result<Vec<Field<N>>>
pub fn get_input_ids( &self, transition_id: &N::TransitionID ) -> Result<Vec<Field<N>>>
Returns the input IDs for the given transition ID
.
sourcepub fn get_inputs(
&self,
transition_id: &N::TransitionID
) -> Result<Vec<Input<N>>>
pub fn get_inputs( &self, transition_id: &N::TransitionID ) -> Result<Vec<Input<N>>>
Returns the inputs for the given transition ID
.
sourcepub fn get_output_ids(
&self,
transition_id: &N::TransitionID
) -> Result<Vec<Field<N>>>
pub fn get_output_ids( &self, transition_id: &N::TransitionID ) -> Result<Vec<Field<N>>>
Returns the output IDs for the given transition ID
.
sourcepub fn get_outputs(
&self,
transition_id: &N::TransitionID
) -> Result<Vec<Output<N>>>
pub fn get_outputs( &self, transition_id: &N::TransitionID ) -> Result<Vec<Output<N>>>
Returns the outputs for the given transition ID
.
sourcepub fn get_record(
&self,
commitment: &Field<N>
) -> Result<Option<Record<N, Ciphertext<N>>>>
pub fn get_record( &self, commitment: &Field<N> ) -> Result<Option<Record<N, Ciphertext<N>>>>
Returns the record for the given commitment
.
If the record exists, Ok(Some(record))
is returned.
If the record was purged, Ok(None)
is returned.
If the record does not exist, Err(error)
is returned.
source§impl<N: Network, T: TransitionStorage<N>> TransitionStore<N, T>
impl<N: Network, T: TransitionStorage<N>> TransitionStore<N, T>
sourcepub fn contains_transition_id(
&self,
transition_id: &N::TransitionID
) -> Result<bool>
pub fn contains_transition_id( &self, transition_id: &N::TransitionID ) -> Result<bool>
Returns true
if the given transition ID exists.
sourcepub fn contains_input_id(&self, input_id: &Field<N>) -> Result<bool>
pub fn contains_input_id(&self, input_id: &Field<N>) -> Result<bool>
Returns true
if the given input ID exists.
sourcepub fn contains_serial_number(&self, serial_number: &Field<N>) -> Result<bool>
pub fn contains_serial_number(&self, serial_number: &Field<N>) -> Result<bool>
Returns true
if the given serial number exists.
sourcepub fn contains_tag(&self, tag: &Field<N>) -> Result<bool>
pub fn contains_tag(&self, tag: &Field<N>) -> Result<bool>
Returns true
if the given tag exists.
sourcepub fn contains_output_id(&self, output_id: &Field<N>) -> Result<bool>
pub fn contains_output_id(&self, output_id: &Field<N>) -> Result<bool>
Returns true
if the given output ID exists.
sourcepub fn contains_commitment(&self, commitment: &Field<N>) -> Result<bool>
pub fn contains_commitment(&self, commitment: &Field<N>) -> Result<bool>
Returns true
if the given commitment exists.
sourcepub fn contains_checksum(&self, checksum: &Field<N>) -> bool
pub fn contains_checksum(&self, checksum: &Field<N>) -> bool
Returns true
if the given checksum exists.
sourcepub fn contains_nonce(&self, nonce: &Group<N>) -> Result<bool>
pub fn contains_nonce(&self, nonce: &Group<N>) -> Result<bool>
Returns true
if the given nonce exists.
sourcepub fn contains_tpk(&self, tpk: &Group<N>) -> Result<bool>
pub fn contains_tpk(&self, tpk: &Group<N>) -> Result<bool>
Returns true
if the given transition public key exists.
sourcepub fn contains_tcm(&self, tcm: &Field<N>) -> Result<bool>
pub fn contains_tcm(&self, tcm: &Field<N>) -> Result<bool>
Returns true
if the given transition commitment exists.
source§impl<N: Network, T: TransitionStorage<N>> TransitionStore<N, T>
impl<N: Network, T: TransitionStorage<N>> TransitionStore<N, T>
sourcepub fn transition_ids(
&self
) -> impl '_ + Iterator<Item = Cow<'_, N::TransitionID>>
pub fn transition_ids( &self ) -> impl '_ + Iterator<Item = Cow<'_, N::TransitionID>>
Returns an iterator over the transition IDs, for all transitions.
sourcepub fn input_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
pub fn input_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the input IDs, for all transition inputs.
sourcepub fn constant_input_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
pub fn constant_input_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the constant input IDs, for all transition inputs that are constant.
sourcepub fn public_input_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
pub fn public_input_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the public input IDs, for all transition inputs that are public.
sourcepub fn private_input_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
pub fn private_input_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the private input IDs, for all transition inputs that are private.
sourcepub fn serial_numbers(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
pub fn serial_numbers(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the serial numbers, for all transition inputs that are records.
sourcepub fn external_input_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
pub fn external_input_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the external record input IDs, for all transition inputs that are external records.
sourcepub fn output_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
pub fn output_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the output IDs, for all transition outputs.
sourcepub fn constant_output_ids(
&self
) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
pub fn constant_output_ids( &self ) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the constant output IDs, for all transition outputs that are constant.
sourcepub fn public_output_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
pub fn public_output_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the public output IDs, for all transition outputs that are public.
sourcepub fn private_output_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
pub fn private_output_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the private output IDs, for all transition outputs that are private.
sourcepub fn commitments(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
pub fn commitments(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the commitments, for all transition outputs that are records.
sourcepub fn external_output_ids(
&self
) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
pub fn external_output_ids( &self ) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the external record output IDs, for all transition outputs that are external records.
source§impl<N: Network, T: TransitionStorage<N>> TransitionStore<N, T>
impl<N: Network, T: TransitionStorage<N>> TransitionStore<N, T>
sourcepub fn constant_inputs(
&self
) -> impl '_ + Iterator<Item = Cow<'_, Plaintext<N>>>
pub fn constant_inputs( &self ) -> impl '_ + Iterator<Item = Cow<'_, Plaintext<N>>>
Returns an iterator over the constant inputs, for all transitions.
sourcepub fn public_inputs(&self) -> impl '_ + Iterator<Item = Cow<'_, Plaintext<N>>>
pub fn public_inputs(&self) -> impl '_ + Iterator<Item = Cow<'_, Plaintext<N>>>
Returns an iterator over the constant inputs, for all transitions.
sourcepub fn private_inputs(
&self
) -> impl '_ + Iterator<Item = Cow<'_, Ciphertext<N>>>
pub fn private_inputs( &self ) -> impl '_ + Iterator<Item = Cow<'_, Ciphertext<N>>>
Returns an iterator over the private inputs, for all transitions.
Returns an iterator over the tags, for all transition inputs that are records.
sourcepub fn constant_outputs(
&self
) -> impl '_ + Iterator<Item = Cow<'_, Plaintext<N>>>
pub fn constant_outputs( &self ) -> impl '_ + Iterator<Item = Cow<'_, Plaintext<N>>>
Returns an iterator over the constant outputs, for all transitions.
sourcepub fn public_outputs(&self) -> impl '_ + Iterator<Item = Cow<'_, Plaintext<N>>>
pub fn public_outputs(&self) -> impl '_ + Iterator<Item = Cow<'_, Plaintext<N>>>
Returns an iterator over the constant outputs, for all transitions.
sourcepub fn private_outputs(
&self
) -> impl '_ + Iterator<Item = Cow<'_, Ciphertext<N>>>
pub fn private_outputs( &self ) -> impl '_ + Iterator<Item = Cow<'_, Ciphertext<N>>>
Returns an iterator over the private outputs, for all transitions.
sourcepub fn checksums(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
pub fn checksums(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the checksums, for all transition outputs that are records.
sourcepub fn nonces(&self) -> impl '_ + Iterator<Item = Cow<'_, Group<N>>>
pub fn nonces(&self) -> impl '_ + Iterator<Item = Cow<'_, Group<N>>>
Returns an iterator over the nonces, for all transition outputs that are records.
sourcepub fn records(
&self
) -> impl '_ + Iterator<Item = (Cow<'_, Field<N>>, Cow<'_, Record<N, Ciphertext<N>>>)>
pub fn records( &self ) -> impl '_ + Iterator<Item = (Cow<'_, Field<N>>, Cow<'_, Record<N, Ciphertext<N>>>)>
Returns an iterator over the (commitment, record)
pairs, for all transition outputs that are records.
Trait Implementations§
source§impl<N: Clone + Network, T: Clone + TransitionStorage<N>> Clone for TransitionStore<N, T>where
T::LocatorMap: Clone,
T::InputStorage: Clone,
T::OutputStorage: Clone,
T::TPKMap: Clone,
T::ReverseTPKMap: Clone,
T::TCMMap: Clone,
T::ReverseTCMMap: Clone,
impl<N: Clone + Network, T: Clone + TransitionStorage<N>> Clone for TransitionStore<N, T>where T::LocatorMap: Clone, T::InputStorage: Clone, T::OutputStorage: Clone, T::TPKMap: Clone, T::ReverseTPKMap: Clone, T::TCMMap: Clone, T::ReverseTCMMap: Clone,
source§fn clone(&self) -> TransitionStore<N, T>
fn clone(&self) -> TransitionStore<N, T>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more