pub struct AccountAccess {Show 13 fields
pub chainInfo: <ChainInfo as SolType>::RustType,
pub kind: <AccountAccessKind as SolType>::RustType,
pub account: Address,
pub accessor: Address,
pub initialized: bool,
pub oldBalance: U256,
pub newBalance: U256,
pub deployedCode: Bytes,
pub value: U256,
pub data: Bytes,
pub reverted: bool,
pub storageAccesses: Vec<<StorageAccess as SolType>::RustType>,
pub depth: u64,
}
Expand description
The result of a stopAndReturnStateDiff
call.
struct AccountAccess { ChainInfo chainInfo; AccountAccessKind kind; address account; address accessor; bool initialized; uint256 oldBalance; uint256 newBalance; bytes deployedCode; uint256 value; bytes data; bool reverted; StorageAccess[] storageAccesses; uint64 depth; }
Fields§
§chainInfo: <ChainInfo as SolType>::RustType
The chain and fork the access occurred.
kind: <AccountAccessKind as SolType>::RustType
The kind of account access that determines what the account is. If kind is Call, DelegateCall, StaticCall or CallCode, then the account is the callee. If kind is Create, then the account is the newly created account. If kind is SelfDestruct, then the account is the selfdestruct recipient. If kind is a Resume, then account represents a account context that has resumed.
account: Address
The account that was accessed. It’s either the account created, callee or a selfdestruct recipient for CREATE, CALL or SELFDESTRUCT.
accessor: Address
What accessed the account.
initialized: bool
If the account was initialized or empty prior to the access. An account is considered initialized if it has code, a non-zero nonce, or a non-zero balance.
oldBalance: U256
The previous balance of the accessed account.
newBalance: U256
The potential new balance of the accessed account. That is, all balance changes are recorded here, even if reverts occurred.
deployedCode: Bytes
Code of the account deployed by CREATE.
value: U256
Value passed along with the account access
data: Bytes
Input data provided to the CREATE or CALL
reverted: bool
If this access reverted in either the current or parent context.
storageAccesses: Vec<<StorageAccess as SolType>::RustType>
An ordered list of storage accesses made during an account access operation.
depth: u64
Call depth traversed during the recording of state differences
Implementations§
Trait Implementations§
Source§impl Clone for AccountAccess
impl Clone for AccountAccess
Source§fn clone(&self) -> AccountAccess
fn clone(&self) -> AccountAccess
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for AccountAccess
impl Debug for AccountAccess
Source§impl EventTopic for AccountAccess
impl EventTopic for AccountAccess
Source§fn topic_preimage_length(rust: &Self::RustType) -> usize
fn topic_preimage_length(rust: &Self::RustType) -> usize
Source§fn encode_topic_preimage(rust: &Self::RustType, out: &mut Vec<u8>)
fn encode_topic_preimage(rust: &Self::RustType, out: &mut Vec<u8>)
encode_topic
][EventTopic::encode_topic]. Read moreSource§fn encode_topic(rust: &Self::RustType) -> WordToken
fn encode_topic(rust: &Self::RustType) -> WordToken
Source§impl SolStruct for AccountAccess
impl SolStruct for AccountAccess
Source§fn eip712_root_type() -> Cow<'static, str>
fn eip712_root_type() -> Cow<'static, str>
encodeType
string.Source§fn eip712_components() -> Vec<Cow<'static, str>>
fn eip712_components() -> Vec<Cow<'static, str>>
encodeType
string. These are the types of the struct’s fields,
and should not include the root type.Source§fn eip712_encode_data(&self) -> Vec<u8>
fn eip712_encode_data(&self) -> Vec<u8>
encodeData
.§fn eip712_encode_type() -> Cow<'static, str>
fn eip712_encode_type() -> Cow<'static, str>
§fn eip712_type_hash(&self) -> FixedBytes<32>
fn eip712_type_hash(&self) -> FixedBytes<32>
typeHash
for this struct. Read more§fn eip712_hash_struct(&self) -> FixedBytes<32>
fn eip712_hash_struct(&self) -> FixedBytes<32>
hashStruct
.§fn eip712_signing_hash(&self, domain: &Eip712Domain) -> FixedBytes<32>
fn eip712_signing_hash(&self, domain: &Eip712Domain) -> FixedBytes<32>
Source§impl SolType for AccountAccess
impl SolType for AccountAccess
Source§const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME
const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME
Source§const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple as alloy_sol_types::SolType>::ENCODED_SIZE
const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple as alloy_sol_types::SolType>::ENCODED_SIZE
Source§const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE
const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE
Source§type RustType = AccountAccess
type RustType = AccountAccess
Source§type Token<'a> = <(ChainInfo, AccountAccessKind, Address, Address, Bool, Uint<256>, Uint<256>, Bytes, Uint<256>, Bytes, Bool, Array<StorageAccess>, Uint<64>) as SolType>::Token<'a>
type Token<'a> = <(ChainInfo, AccountAccessKind, Address, Address, Bool, Uint<256>, Uint<256>, Bytes, Uint<256>, Bytes, Bool, Array<StorageAccess>, Uint<64>) as SolType>::Token<'a>
Source§fn valid_token(token: &Self::Token<'_>) -> bool
fn valid_token(token: &Self::Token<'_>) -> bool
true
if the given token can be detokenized with this type.Source§fn detokenize(token: Self::Token<'_>) -> Self::RustType
fn detokenize(token: Self::Token<'_>) -> Self::RustType
§fn sol_type_name() -> Cow<'static, str>
fn sol_type_name() -> Cow<'static, str>
SOL_NAME
instead§fn abi_encoded_size<E>(rust: &E) -> usizewhere
E: SolTypeValue<Self> + ?Sized,
fn abi_encoded_size<E>(rust: &E) -> usizewhere
E: SolTypeValue<Self> + ?Sized,
§fn type_check(token: &Self::Token<'_>) -> Result<(), Error>
fn type_check(token: &Self::Token<'_>) -> Result<(), Error>
§fn tokenize<E>(rust: &E) -> Self::Token<'_>where
E: SolTypeValue<Self> + ?Sized,
fn tokenize<E>(rust: &E) -> Self::Token<'_>where
E: SolTypeValue<Self> + ?Sized,
§fn eip712_data_word<E>(rust: &E) -> FixedBytes<32>where
E: SolTypeValue<Self> + ?Sized,
fn eip712_data_word<E>(rust: &E) -> FixedBytes<32>where
E: SolTypeValue<Self> + ?Sized,
encodeData
rules, and hash it
if necessary. Read more§fn abi_packed_encoded_size<E>(rust: &E) -> usizewhere
E: SolTypeValue<Self> + ?Sized,
fn abi_packed_encoded_size<E>(rust: &E) -> usizewhere
E: SolTypeValue<Self> + ?Sized,
§fn abi_encode_packed_to<E>(rust: &E, out: &mut Vec<u8>)where
E: SolTypeValue<Self> + ?Sized,
fn abi_encode_packed_to<E>(rust: &E, out: &mut Vec<u8>)where
E: SolTypeValue<Self> + ?Sized,
§fn abi_encode_packed<E>(rust: &E) -> Vec<u8>where
E: SolTypeValue<Self> + ?Sized,
fn abi_encode_packed<E>(rust: &E) -> Vec<u8>where
E: SolTypeValue<Self> + ?Sized,
§fn abi_encode<E>(rust: &E) -> Vec<u8>where
E: SolTypeValue<Self> + ?Sized,
fn abi_encode<E>(rust: &E) -> Vec<u8>where
E: SolTypeValue<Self> + ?Sized,
§fn abi_encode_params<E>(rust: &E) -> Vec<u8>where
E: SolTypeValue<Self> + ?Sized,
Self::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params<E>(rust: &E) -> Vec<u8>where
E: SolTypeValue<Self> + ?Sized,
Self::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_sequence<E>(rust: &E) -> Vec<u8>where
E: SolTypeValue<Self> + ?Sized,
Self::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence<E>(rust: &E) -> Vec<u8>where
E: SolTypeValue<Self> + ?Sized,
Self::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self::RustType, Error>
fn abi_decode(data: &[u8], validate: bool) -> Result<Self::RustType, Error>
Source§impl SolTypeValue<AccountAccess> for AccountAccess
impl SolTypeValue<AccountAccess> for AccountAccess
fn stv_to_tokens(&self) -> <Self as SolType>::Token<'_>
fn stv_abi_encoded_size(&self) -> usize
fn stv_eip712_data_word(&self) -> Word
fn stv_abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn stv_abi_packed_encoded_size(&self) -> usize
Source§impl SolValue for AccountAccess
impl SolValue for AccountAccess
Source§type SolType = AccountAccess
type SolType = AccountAccess
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_packed(&self) -> Vec<u8>
fn abi_encode_packed(&self) -> Vec<u8>
§fn abi_encode(&self) -> Vec<u8>
fn abi_encode(&self) -> Vec<u8>
§fn abi_encode_sequence(&self) -> Vec<u8>where
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8>where
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8>where
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8>where
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
Auto Trait Implementations§
impl !Freeze for AccountAccess
impl RefUnwindSafe for AccountAccess
impl Send for AccountAccess
impl Sync for AccountAccess
impl Unpin for AccountAccess
impl UnwindSafe for AccountAccess
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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: 304 bytes