reth_trie_db

Trait DatabaseProof

Source
pub trait DatabaseProof<'a, TX> {
    // Required methods
    fn from_tx(tx: &'a TX) -> Self;
    fn overlay_account_proof(
        tx: &'a TX,
        input: TrieInput,
        address: Address,
        slots: &[B256],
    ) -> Result<AccountProof, StateProofError>;
    fn overlay_multiproof(
        tx: &'a TX,
        input: TrieInput,
        targets: HashMap<B256, HashSet<B256>>,
    ) -> Result<MultiProof, StateProofError>;
}
Expand description

Extends Proof with operations specific for working with a database transaction.

Required Methods§

Source

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

Create a new Proof from database transaction.

Source

fn overlay_account_proof( tx: &'a TX, input: TrieInput, address: Address, slots: &[B256], ) -> Result<AccountProof, StateProofError>

Generates the state proof for target account based on TrieInput.

Source

fn overlay_multiproof( tx: &'a TX, input: TrieInput, targets: HashMap<B256, HashSet<B256>>, ) -> Result<MultiProof, StateProofError>

Generates the state [MultiProof] for target hashed account and storage keys.

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.

Implementations on Foreign Types§

Source§

impl<'a, TX: DbTx> DatabaseProof<'a, TX> for Proof<DatabaseTrieCursorFactory<'a, TX>, DatabaseHashedCursorFactory<'a, TX>>

Source§

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

Create a new Proof instance from database transaction.

Source§

fn overlay_account_proof( tx: &'a TX, input: TrieInput, address: Address, slots: &[B256], ) -> Result<AccountProof, StateProofError>

Source§

fn overlay_multiproof( tx: &'a TX, input: TrieInput, targets: HashMap<B256, HashSet<B256>>, ) -> Result<MultiProof, StateProofError>

Implementors§