snarkvm_ledger_store

Trait DeploymentStorage

Source
pub trait DeploymentStorage<N: Network>:
    Clone
    + Send
    + Sync {
    type IDMap: for<'a> Map<'a, N::TransactionID, ProgramID<N>>;
    type EditionMap: for<'a> Map<'a, ProgramID<N>, u16>;
    type ReverseIDMap: for<'a> Map<'a, (ProgramID<N>, u16), N::TransactionID>;
    type OwnerMap: for<'a> Map<'a, (ProgramID<N>, u16), ProgramOwner<N>>;
    type ProgramMap: for<'a> Map<'a, (ProgramID<N>, u16), Program<N>>;
    type VerifyingKeyMap: for<'a> Map<'a, (ProgramID<N>, Identifier<N>, u16), VerifyingKey<N>>;
    type CertificateMap: for<'a> Map<'a, (ProgramID<N>, Identifier<N>, u16), Certificate<N>>;
    type FeeStorage: FeeStorage<N>;

Show 30 methods // Required methods fn open(fee_store: FeeStore<N, Self::FeeStorage>) -> Result<Self>; fn id_map(&self) -> &Self::IDMap; fn edition_map(&self) -> &Self::EditionMap; fn reverse_id_map(&self) -> &Self::ReverseIDMap; fn owner_map(&self) -> &Self::OwnerMap; fn program_map(&self) -> &Self::ProgramMap; fn verifying_key_map(&self) -> &Self::VerifyingKeyMap; fn certificate_map(&self) -> &Self::CertificateMap; fn fee_store(&self) -> &FeeStore<N, Self::FeeStorage>; // Provided methods fn storage_mode(&self) -> &StorageMode { ... } 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, transaction: &Transaction<N>) -> Result<()> { ... } fn remove(&self, transaction_id: &N::TransactionID) -> Result<()> { ... } fn find_transaction_id_from_program_id( &self, program_id: &ProgramID<N>, ) -> Result<Option<N::TransactionID>> { ... } fn find_transaction_id_from_transition_id( &self, transition_id: &N::TransitionID, ) -> Result<Option<N::TransactionID>> { ... } fn get_program_id( &self, transaction_id: &N::TransactionID, ) -> Result<Option<ProgramID<N>>> { ... } fn get_edition(&self, program_id: &ProgramID<N>) -> Result<Option<u16>> { ... } fn get_program( &self, program_id: &ProgramID<N>, ) -> Result<Option<Program<N>>> { ... } fn get_verifying_key( &self, program_id: &ProgramID<N>, function_name: &Identifier<N>, ) -> Result<Option<VerifyingKey<N>>> { ... } fn get_certificate( &self, program_id: &ProgramID<N>, function_name: &Identifier<N>, ) -> Result<Option<Certificate<N>>> { ... } fn get_deployment( &self, transaction_id: &N::TransactionID, ) -> Result<Option<Deployment<N>>> { ... } fn get_fee( &self, transaction_id: &N::TransactionID, ) -> Result<Option<Fee<N>>> { ... } fn get_owner( &self, program_id: &ProgramID<N>, ) -> Result<Option<ProgramOwner<N>>> { ... } fn get_transaction( &self, transaction_id: &N::TransactionID, ) -> Result<Option<Transaction<N>>> { ... }
}
Expand description

A trait for deployment storage.

Required Associated Types§

Source

type IDMap: for<'a> Map<'a, N::TransactionID, ProgramID<N>>

The mapping of transaction ID to program ID.

Source

type EditionMap: for<'a> Map<'a, ProgramID<N>, u16>

The mapping of program ID to edition.

Source

type ReverseIDMap: for<'a> Map<'a, (ProgramID<N>, u16), N::TransactionID>

The mapping of (program ID, edition) to transaction ID.

Source

type OwnerMap: for<'a> Map<'a, (ProgramID<N>, u16), ProgramOwner<N>>

The mapping of (program ID, edition) to ProgramOwner.

Source

type ProgramMap: for<'a> Map<'a, (ProgramID<N>, u16), Program<N>>

The mapping of (program ID, edition) to program.

Source

type VerifyingKeyMap: for<'a> Map<'a, (ProgramID<N>, Identifier<N>, u16), VerifyingKey<N>>

The mapping of (program ID, function name, edition) to verifying key.

Source

type CertificateMap: for<'a> Map<'a, (ProgramID<N>, Identifier<N>, u16), Certificate<N>>

The mapping of (program ID, function name, edition) to certificate.

Source

type FeeStorage: FeeStorage<N>

The fee storage.

Required Methods§

Source

fn open(fee_store: FeeStore<N, Self::FeeStorage>) -> Result<Self>

Initializes the deployment storage.

Source

fn id_map(&self) -> &Self::IDMap

Returns the ID map.

Source

fn edition_map(&self) -> &Self::EditionMap

Returns the edition map.

Source

fn reverse_id_map(&self) -> &Self::ReverseIDMap

Returns the reverse ID map.

Source

fn owner_map(&self) -> &Self::OwnerMap

Returns the owner map.

Source

fn program_map(&self) -> &Self::ProgramMap

Returns the program map.

Source

fn verifying_key_map(&self) -> &Self::VerifyingKeyMap

Returns the verifying key map.

Source

fn certificate_map(&self) -> &Self::CertificateMap

Returns the certificate map.

Source

fn fee_store(&self) -> &FeeStore<N, Self::FeeStorage>

Returns the fee storage.

Provided Methods§

Source

fn storage_mode(&self) -> &StorageMode

Returns the storage mode.

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 insert(&self, transaction: &Transaction<N>) -> Result<()>

Stores the given deployment transaction pair into storage.

Source

fn remove(&self, transaction_id: &N::TransactionID) -> Result<()>

Removes the deployment transaction for the given transaction ID.

Source

fn find_transaction_id_from_program_id( &self, program_id: &ProgramID<N>, ) -> Result<Option<N::TransactionID>>

Returns the transaction ID that contains the given program ID.

Source

fn find_transaction_id_from_transition_id( &self, transition_id: &N::TransitionID, ) -> Result<Option<N::TransactionID>>

Returns the transaction ID that contains the given transition ID.

Source

fn get_program_id( &self, transaction_id: &N::TransactionID, ) -> Result<Option<ProgramID<N>>>

Returns the program ID for the given transaction ID.

Source

fn get_edition(&self, program_id: &ProgramID<N>) -> Result<Option<u16>>

Returns the edition for the given program ID.

Source

fn get_program(&self, program_id: &ProgramID<N>) -> Result<Option<Program<N>>>

Returns the program for the given program ID.

Source

fn get_verifying_key( &self, program_id: &ProgramID<N>, function_name: &Identifier<N>, ) -> Result<Option<VerifyingKey<N>>>

Returns the verifying key for the given program ID and function name.

Source

fn get_certificate( &self, program_id: &ProgramID<N>, function_name: &Identifier<N>, ) -> Result<Option<Certificate<N>>>

Returns the certificate for the given program ID and function name.

Source

fn get_deployment( &self, transaction_id: &N::TransactionID, ) -> Result<Option<Deployment<N>>>

Returns the deployment for the given transaction ID.

Source

fn get_fee(&self, transaction_id: &N::TransactionID) -> Result<Option<Fee<N>>>

Returns the fee for the given transaction ID.

Source

fn get_owner( &self, program_id: &ProgramID<N>, ) -> Result<Option<ProgramOwner<N>>>

Returns the owner for the given program ID.

Source

fn get_transaction( &self, transaction_id: &N::TransactionID, ) -> Result<Option<Transaction<N>>>

Returns the transaction for the given transaction ID.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§