snarkvm_ledger_store::helpers::memory

Struct FinalizeMemory

Source
pub struct FinalizeMemory<N: Network> { /* private fields */ }
Expand description

An in-memory finalize storage.

Trait Implementations§

Source§

impl<N: Clone + Network> Clone for FinalizeMemory<N>

Source§

fn clone(&self) -> FinalizeMemory<N>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<N: Network> FinalizeStorage<N> for FinalizeMemory<N>

Source§

fn open<S: Clone + Into<StorageMode>>(storage: S) -> Result<Self>

Initializes the finalize storage.

Source§

fn committee_store(&self) -> &CommitteeStore<N, Self::CommitteeStorage>

Returns the committee store.

Source§

fn program_id_map(&self) -> &Self::ProgramIDMap

Returns the program ID map.

Source§

fn key_value_map(&self) -> &Self::KeyValueMap

Returns the key-value map.

Source§

fn storage_mode(&self) -> &StorageMode

Returns the storage mode.

Source§

type CommitteeStorage = CommitteeMemory<N>

The committee storage.
Source§

type ProgramIDMap = MemoryMap<ProgramID<N>, IndexSet<Identifier<N>>>

The mapping of program ID to [mapping name].
Source§

type KeyValueMap = NestedMemoryMap<(ProgramID<N>, Identifier<N>), Plaintext<N>, Value<N>>

The mapping of (program ID, mapping name) to [(key, value)].
Source§

fn start_atomic(&self)

Starts an atomic batch write operation.
Source§

fn is_atomic_in_progress(&self) -> bool

Checks if an atomic batch is in progress.
Source§

fn atomic_checkpoint(&self)

Checkpoints the atomic batch.
Source§

fn clear_latest_checkpoint(&self)

Clears the latest atomic batch checkpoint.
Source§

fn atomic_rewind(&self)

Rewinds the atomic batch to the previous checkpoint.
Source§

fn abort_atomic(&self)

Aborts an atomic batch write operation.
Source§

fn finish_atomic(&self) -> Result<()>

Finishes an atomic batch write operation.
Source§

fn initialize_mapping( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, ) -> Result<FinalizeOperation<N>>

Initializes the given program ID and mapping name in storage. If the mapping name is already initialized, an error is returned.
Source§

fn insert_key_value( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, key: Plaintext<N>, value: Value<N>, ) -> Result<FinalizeOperation<N>>

Stores the given (key, value) pair at the given program ID and mapping name in storage. If the mapping name is not initialized, an error is returned. If the key already exists, the method returns an error.
Source§

fn update_key_value( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, key: Plaintext<N>, value: Value<N>, ) -> Result<FinalizeOperation<N>>

Stores the given (key, value) pair at the given program ID and mapping name in storage. If the mapping name is not initialized, an error is returned. If the key does not exist, the (key, value) pair is initialized. If the key already exists, the value is overwritten.
Source§

fn remove_key_value( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, key: &Plaintext<N>, ) -> Result<Option<FinalizeOperation<N>>>

Removes the key-value pair for the given program ID, mapping name, and key from storage. If the key does not exist, None is returned.
Source§

fn replace_mapping( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, entries: Vec<(Plaintext<N>, Value<N>)>, ) -> Result<FinalizeOperation<N>>

Replaces the mapping for the given program ID and mapping name from storage, with the given key-value pairs.
Source§

fn remove_mapping( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, ) -> Result<FinalizeOperation<N>>

Removes the mapping for the given program ID and mapping name from storage, along with all associated key-value pairs in storage.
Source§

fn remove_program(&self, program_id: &ProgramID<N>) -> Result<()>

Removes the program for the given program ID from storage, along with all associated mappings and key-value pairs in storage.
Source§

fn contains_program_confirmed(&self, program_id: &ProgramID<N>) -> Result<bool>

Returns true if the given program ID exist.
Source§

fn contains_mapping_confirmed( &self, program_id: &ProgramID<N>, mapping_name: &Identifier<N>, ) -> Result<bool>

Returns true if the given program ID and mapping name exist.
Source§

fn contains_mapping_speculative( &self, program_id: &ProgramID<N>, mapping_name: &Identifier<N>, ) -> Result<bool>

Returns true if the given program ID and mapping name exist.
Source§

fn contains_key_confirmed( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, key: &Plaintext<N>, ) -> Result<bool>

Returns true if the given program ID, mapping name, and key exist.
Source§

fn contains_key_speculative( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, key: &Plaintext<N>, ) -> Result<bool>

Returns true if the given program ID, mapping name, and key exist.
Source§

fn get_mapping_names_confirmed( &self, program_id: &ProgramID<N>, ) -> Result<Option<IndexSet<Identifier<N>>>>

Returns the confirmed mapping names for the given program ID.
Source§

fn get_mapping_names_speculative( &self, program_id: &ProgramID<N>, ) -> Result<Option<IndexSet<Identifier<N>>>>

Returns the speculative mapping names for the given program ID.
Source§

fn get_mapping_confirmed( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, ) -> Result<Vec<(Plaintext<N>, Value<N>)>>

Returns the confirmed mapping entries for the given program ID and mapping name.
Source§

fn get_mapping_speculative( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, ) -> Result<Vec<(Plaintext<N>, Value<N>)>>

Returns the speculative mapping entries for the given program ID and mapping name.
Source§

fn get_value_confirmed( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, key: &Plaintext<N>, ) -> Result<Option<Value<N>>>

Returns the confirmed value for the given program ID, mapping name, and key.
Source§

fn get_value_speculative( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, key: &Plaintext<N>, ) -> Result<Option<Value<N>>>

Returns the speculative value for the given program ID, mapping name, and key.
Source§

fn get_checksum_confirmed(&self) -> Result<Field<N>>

Returns the confirmed checksum of the finalize storage.
Source§

fn get_checksum_pending(&self) -> Result<Field<N>>

Returns the pending checksum of the finalize storage.

Auto Trait Implementations§

§

impl<N> Freeze for FinalizeMemory<N>

§

impl<N> !RefUnwindSafe for FinalizeMemory<N>

§

impl<N> Send for FinalizeMemory<N>

§

impl<N> Sync for FinalizeMemory<N>

§

impl<N> Unpin for FinalizeMemory<N>
where N: Unpin,

§

impl<N> !UnwindSafe for FinalizeMemory<N>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize = _

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V