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§
Sourcefn overlay_account_proof(
tx: &'a TX,
input: TrieInput,
address: Address,
slots: &[B256],
) -> Result<AccountProof, StateProofError>
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
.
Sourcefn overlay_multiproof(
tx: &'a TX,
input: TrieInput,
targets: HashMap<B256, HashSet<B256>>,
) -> Result<MultiProof, StateProofError>
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.