Trait snarkvm_compiler::InputStorage
source · [−]pub trait InputStorage<N: Network>: Clone + 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>, Origin<N>)>;
type RecordTagMap: for<'a> Map<'a, Field<N>, Field<N>>;
type ExternalRecordMap: for<'a> Map<'a, Field<N>, ()>;
Show 18 methods
fn open() -> 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 start_atomic(&self) { ... }
fn is_atomic_in_progress(&self) -> bool { ... }
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
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
.
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
.
The mapping of serial number
to (tag, origin)
.
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 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.
Stores the given (transition ID, input)
pair into storage.
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
.
Returns the input IDs for the given transition ID
.