pub trait DeploymentStorage<N: Network>: Clone + 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 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 AdditionalFeeMap: for<'a> Map<'a, N::TransactionID, N::TransitionID>;
    type TransitionStorage: TransitionStorage<N>;

Show 24 methods fn open(
        transition_store: TransitionStore<N, Self::TransitionStorage>
    ) -> Result<Self>; fn id_map(&self) -> &Self::IDMap; fn edition_map(&self) -> &Self::EditionMap; fn reverse_id_map(&self) -> &Self::ReverseIDMap; fn program_map(&self) -> &Self::ProgramMap; fn verifying_key_map(&self) -> &Self::VerifyingKeyMap; fn certificate_map(&self) -> &Self::CertificateMap; fn additional_fee_map(&self) -> &Self::AdditionalFeeMap; fn transition_store(&self) -> &TransitionStore<N, Self::TransitionStorage>; fn start_atomic(&self) { ... } fn is_atomic_in_progress(&self) -> bool { ... } 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(
        &self,
        program_id: &ProgramID<N>
    ) -> 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_additional_fee(
        &self,
        transaction_id: &N::TransactionID
    ) -> Result<Option<AdditionalFee<N>>> { ... } fn get_transaction(
        &self,
        transaction_id: &N::TransactionID
    ) -> Result<Option<Transaction<N>>> { ... }
}
Expand description

A trait for deployment storage.

Required Associated Types

The mapping of transaction ID to program ID.

The mapping of program ID to edition.

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

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

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

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

The mapping of transaction ID to additional fee ID.

The transition storage.

Required Methods

Initializes the deployment storage.

Returns the ID map.

Returns the edition map.

Returns the reverse ID map.

Returns the program map.

Returns the verifying key map.

Returns the certificate map.

Returns the additional fee map.

Returns the transition storage.

Provided Methods

Starts an atomic batch write operation.

Checks if an atomic batch is in progress.

Aborts an atomic batch write operation.

Finishes an atomic batch write operation.

Stores the given deployment transaction pair into storage.

Removes the deployment transaction for the given transaction ID.

Returns the transaction ID that contains the given program ID.

Returns the program ID for the given transaction ID.

Returns the edition for the given program ID.

Returns the program for the given program ID.

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

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

Returns the deployment for the given transaction ID.

Returns the additional fee for the given transaction ID.

Returns the transaction for the given transaction ID.

Implementors