Skip to main content

DatabaseStorageProof

Trait DatabaseStorageProof 

Source
pub trait DatabaseStorageProof<'a, TX> {
    // Required methods
    fn from_tx(tx: &'a TX, address: Address) -> Self;
    fn overlay_storage_proof(
        tx: &'a TX,
        address: Address,
        slot: B256,
        storage: HashedStorage,
    ) -> Result<StorageProof, StateProofError>;
    fn overlay_storage_multiproof(
        tx: &'a TX,
        address: Address,
        slots: &[B256],
        storage: HashedStorage,
    ) -> Result<StorageMultiProof, StateProofError>;
}
Expand description

Extends [StorageProof] with operations specific for working with a database transaction.

Required Methods§

Source

fn from_tx(tx: &'a TX, address: Address) -> Self

Create a new [StorageProof] from database transaction and account address.

Source

fn overlay_storage_proof( tx: &'a TX, address: Address, slot: B256, storage: HashedStorage, ) -> Result<StorageProof, StateProofError>

Generates the storage proof for target slot based on [TrieInput].

Source

fn overlay_storage_multiproof( tx: &'a TX, address: Address, slots: &[B256], storage: HashedStorage, ) -> Result<StorageMultiProof, StateProofError>

Generates the storage multiproof for target slots based on [TrieInput].

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<'a, TX: DbTx, A: TrieTableAdapter> DatabaseStorageProof<'a, TX> for StorageProof<'static, DatabaseTrieCursorFactory<&'a TX, A>, DatabaseHashedCursorFactory<&'a TX>>

Source§

fn from_tx(tx: &'a TX, address: Address) -> Self

Source§

fn overlay_storage_proof( tx: &'a TX, address: Address, slot: B256, storage: HashedStorage, ) -> Result<StorageProof, StateProofError>

Source§

fn overlay_storage_multiproof( tx: &'a TX, address: Address, slots: &[B256], storage: HashedStorage, ) -> Result<StorageMultiProof, StateProofError>

Implementors§