pub struct AccountProof {
pub address: Address,
pub info: Option<Account>,
pub proof: Vec<Bytes>,
pub storage_root: B256,
pub storage_proofs: Vec<StorageProof>,
}Expand description
The merkle proof with the relevant account info.
Fields§
§address: AddressThe address associated with the account.
info: Option<Account>Account info, if any.
proof: Vec<Bytes>Array of rlp-serialized merkle trie nodes which starting from the root node and following the path of the hashed address as key.
storage_root: B256The storage trie root.
storage_proofs: Vec<StorageProof>Array of storage proofs as requested.
Implementations§
Source§impl AccountProof
impl AccountProof
Sourcepub fn into_eip1186_response(
self,
slots: Vec<JsonStorageKey>,
) -> EIP1186AccountProofResponse
Available on crate feature eip1186 only.
pub fn into_eip1186_response( self, slots: Vec<JsonStorageKey>, ) -> EIP1186AccountProofResponse
eip1186 only.Convert into an EIP-1186 account proof response.
For non-existent accounts, this returns KECCAK_EMPTY for codeHash and
EMPTY_ROOT_HASH for storageHash, matching reth’s default behavior.
Use Self::into_eip1186_response_with to customize the behavior for
non-existent accounts (e.g. returning B256::ZERO for geth compatibility).
Sourcepub fn into_eip1186_response_with(
self,
slots: Vec<JsonStorageKey>,
zero_empty_account: bool,
) -> EIP1186AccountProofResponse
Available on crate feature eip1186 only.
pub fn into_eip1186_response_with( self, slots: Vec<JsonStorageKey>, zero_empty_account: bool, ) -> EIP1186AccountProofResponse
eip1186 only.Convert into an EIP-1186 account proof response, with optional geth-compatible zero hashes for non-existent accounts.
When zero_empty_account is true, non-existent accounts return B256::ZERO
for both codeHash and storageHash, matching geth’s behavior since v1.13.4
(go-ethereum#28357).
When false, returns KECCAK_EMPTY / EMPTY_ROOT_HASH (reth default).
Sourcepub fn from_eip1186_proof(proof: EIP1186AccountProofResponse) -> Self
Available on crate feature eip1186 only.
pub fn from_eip1186_proof(proof: EIP1186AccountProofResponse) -> Self
eip1186 only.Converts an
EIP1186AccountProofResponse to an
AccountProof.
This is the inverse of Self::into_eip1186_response
Source§impl AccountProof
impl AccountProof
Trait Implementations§
Source§impl Clone for AccountProof
impl Clone for AccountProof
Source§impl Debug for AccountProof
impl Debug for AccountProof
Source§impl Default for AccountProof
impl Default for AccountProof
Source§impl<'de> Deserialize<'de> for AccountProof
Available on crate features serde only.
impl<'de> Deserialize<'de> for AccountProof
serde only.Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for AccountProof
Source§impl From<EIP1186AccountProofResponse> for AccountProof
Available on crate feature eip1186 only.
impl From<EIP1186AccountProofResponse> for AccountProof
eip1186 only.Source§impl PartialEq for AccountProof
impl PartialEq for AccountProof
Source§impl Serialize for AccountProof
Available on crate features serde only.
impl Serialize for AccountProof
serde only.impl StructuralPartialEq for AccountProof
Auto Trait Implementations§
impl Freeze for AccountProof
impl RefUnwindSafe for AccountProof
impl Send for AccountProof
impl Sync for AccountProof
impl Unpin for AccountProof
impl UnsafeUnpin for AccountProof
impl UnwindSafe for AccountProof
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreimpl<T> MaybeDebug for Twhere
T: Debug,
impl<T> MaybeSerde for Twhere
T: Serialize + for<'de> Deserialize<'de>,
§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 192 bytes