Trait snarkvm_ledger_store::InputStorage
source · pub trait InputStorage<N: Network>: Clone + Send + Sync {
type IDMap: for<'a> Map<'a, N::TransitionID, Vec<Field<N>>>;
type ReverseIDMap: for<'a> Map<'a, Field<N>, N::TransitionID>;
type ConstantMap: for<'a> Map<'a, Field<N>, Option<Plaintext<N>>>;
type PublicMap: for<'a> Map<'a, Field<N>, Option<Plaintext<N>>>;
type PrivateMap: for<'a> Map<'a, Field<N>, Option<Ciphertext<N>>>;
type RecordMap: for<'a> Map<'a, Field<N>, Field<N>>;
type RecordTagMap: for<'a> Map<'a, Field<N>, Field<N>>;
type ExternalRecordMap: for<'a> Map<'a, Field<N>, ()>;
Show 22 methods
// Required methods
fn open(dev: Option<u16>) -> Result<Self>;
fn id_map(&self) -> &Self::IDMap;
fn reverse_id_map(&self) -> &Self::ReverseIDMap;
fn constant_map(&self) -> &Self::ConstantMap;
fn public_map(&self) -> &Self::PublicMap;
fn private_map(&self) -> &Self::PrivateMap;
fn record_map(&self) -> &Self::RecordMap;
fn record_tag_map(&self) -> &Self::RecordTagMap;
fn external_record_map(&self) -> &Self::ExternalRecordMap;
fn dev(&self) -> Option<u16>;
// Provided methods
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,
transition_id: N::TransitionID,
inputs: &[Input<N>]
) -> Result<()> { ... }
fn remove(&self, transition_id: &N::TransitionID) -> Result<()> { ... }
fn find_transition_id(
&self,
input_id: &Field<N>
) -> Result<Option<N::TransitionID>> { ... }
fn get_ids(&self, transition_id: &N::TransitionID) -> Result<Vec<Field<N>>> { ... }
fn get(&self, transition_id: &N::TransitionID) -> Result<Vec<Input<N>>> { ... }
}
Expand description
A trait for transition input storage.
Required Associated Types§
sourcetype IDMap: for<'a> Map<'a, N::TransitionID, Vec<Field<N>>>
type IDMap: for<'a> Map<'a, N::TransitionID, Vec<Field<N>>>
The mapping of transition ID
to input IDs
.
sourcetype ReverseIDMap: for<'a> Map<'a, Field<N>, N::TransitionID>
type ReverseIDMap: for<'a> Map<'a, Field<N>, N::TransitionID>
The mapping of input ID
to transition ID
.
sourcetype ConstantMap: for<'a> Map<'a, Field<N>, Option<Plaintext<N>>>
type ConstantMap: for<'a> Map<'a, Field<N>, Option<Plaintext<N>>>
The mapping of plaintext hash
to (optional) plaintext
.
sourcetype PublicMap: for<'a> Map<'a, Field<N>, Option<Plaintext<N>>>
type PublicMap: for<'a> Map<'a, Field<N>, Option<Plaintext<N>>>
The mapping of plaintext hash
to (optional) plaintext
.
sourcetype PrivateMap: for<'a> Map<'a, Field<N>, Option<Ciphertext<N>>>
type PrivateMap: for<'a> Map<'a, Field<N>, Option<Ciphertext<N>>>
The mapping of ciphertext hash
to (optional) ciphertext
.
sourcetype RecordTagMap: for<'a> Map<'a, Field<N>, Field<N>>
type RecordTagMap: for<'a> Map<'a, Field<N>, Field<N>>
The mapping of tag
to serial number
.
sourcetype ExternalRecordMap: for<'a> Map<'a, Field<N>, ()>
type ExternalRecordMap: for<'a> Map<'a, Field<N>, ()>
The mapping of external hash
to ()
. Note: This is not the record commitment.
Required Methods§
sourcefn reverse_id_map(&self) -> &Self::ReverseIDMap
fn reverse_id_map(&self) -> &Self::ReverseIDMap
Returns the reverse ID map.
sourcefn constant_map(&self) -> &Self::ConstantMap
fn constant_map(&self) -> &Self::ConstantMap
Returns the constant map.
sourcefn public_map(&self) -> &Self::PublicMap
fn public_map(&self) -> &Self::PublicMap
Returns the public map.
sourcefn private_map(&self) -> &Self::PrivateMap
fn private_map(&self) -> &Self::PrivateMap
Returns the private map.
sourcefn record_map(&self) -> &Self::RecordMap
fn record_map(&self) -> &Self::RecordMap
Returns the record map.
sourcefn record_tag_map(&self) -> &Self::RecordTagMap
fn record_tag_map(&self) -> &Self::RecordTagMap
Returns the record tag map.
sourcefn external_record_map(&self) -> &Self::ExternalRecordMap
fn external_record_map(&self) -> &Self::ExternalRecordMap
Returns the external record map.
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 atomic_checkpoint(&self)
fn atomic_checkpoint(&self)
Checkpoints the atomic batch.
sourcefn clear_latest_checkpoint(&self)
fn clear_latest_checkpoint(&self)
Clears the latest atomic batch checkpoint.
sourcefn atomic_rewind(&self)
fn atomic_rewind(&self)
Rewinds the atomic batch to the previous checkpoint.
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,
transition_id: N::TransitionID,
inputs: &[Input<N>]
) -> Result<()>
fn insert( &self, transition_id: N::TransitionID, inputs: &[Input<N>] ) -> Result<()>
Stores the given (transition ID, input)
pair into storage.
sourcefn remove(&self, transition_id: &N::TransitionID) -> Result<()>
fn remove(&self, transition_id: &N::TransitionID) -> Result<()>
Removes the input for the given transition ID
.
sourcefn find_transition_id(
&self,
input_id: &Field<N>
) -> Result<Option<N::TransitionID>>
fn find_transition_id( &self, input_id: &Field<N> ) -> Result<Option<N::TransitionID>>
Returns the transition ID that contains the given input ID
.