pub struct AccountChanges {
pub address: Address,
pub storage_changes: Vec<SlotChanges>,
pub storage_reads: Vec<Uint<256, 4>>,
pub balance_changes: Vec<BalanceChange>,
pub nonce_changes: Vec<NonceChange>,
pub code_changes: Vec<CodeChange>,
}Expand description
This struct is used to track the changes across accounts in a block.
Fields§
§address: AddressThe address of the account whoose changes are stored.
storage_changes: Vec<SlotChanges>List of slot changes for this account.
storage_reads: Vec<Uint<256, 4>>List of storage reads for this account.
balance_changes: Vec<BalanceChange>List of balance changes for this account.
nonce_changes: Vec<NonceChange>List of nonce changes for this account.
code_changes: Vec<CodeChange>List of code changes for this account.
Implementations§
Source§impl AccountChanges
impl AccountChanges
Sourcepub const fn new(address: Address) -> AccountChanges
pub const fn new(address: Address) -> AccountChanges
Creates a new AccountChanges instance for the given address with empty vectors.
Sourcepub fn with_capacity(address: Address, capacity: usize) -> AccountChanges
pub fn with_capacity(address: Address, capacity: usize) -> AccountChanges
Creates a new AccountChanges instance for the given address with specified capacity.
Sourcepub fn storage_changes(&self) -> &[SlotChanges]
pub fn storage_changes(&self) -> &[SlotChanges]
Returns the storage changes for this account.
Sourcepub fn storage_reads(&self) -> &[Uint<256, 4>]
pub fn storage_reads(&self) -> &[Uint<256, 4>]
Returns the storage reads for this account.
Sourcepub fn balance_changes(&self) -> &[BalanceChange]
pub fn balance_changes(&self) -> &[BalanceChange]
Returns the balance changes for this account.
Sourcepub fn nonce_changes(&self) -> &[NonceChange]
pub fn nonce_changes(&self) -> &[NonceChange]
Returns the nonce changes for this account.
Sourcepub fn code_changes(&self) -> &[CodeChange]
pub fn code_changes(&self) -> &[CodeChange]
Returns the code changes for this account.
Sourcepub const fn with_address(self, address: Address) -> AccountChanges
pub const fn with_address(self, address: Address) -> AccountChanges
Set the address.
Sourcepub fn with_storage_read(self, key: Uint<256, 4>) -> AccountChanges
pub fn with_storage_read(self, key: Uint<256, 4>) -> AccountChanges
Add a storage read slot.
Sourcepub fn with_storage_change(self, change: SlotChanges) -> AccountChanges
pub fn with_storage_change(self, change: SlotChanges) -> AccountChanges
Add a storage change (multiple writes to a slot grouped in SlotChanges).
Sourcepub fn with_balance_change(self, change: BalanceChange) -> AccountChanges
pub fn with_balance_change(self, change: BalanceChange) -> AccountChanges
Add a balance change.
Sourcepub fn with_nonce_change(self, change: NonceChange) -> AccountChanges
pub fn with_nonce_change(self, change: NonceChange) -> AccountChanges
Add a nonce change.
Sourcepub fn with_code_change(self, change: CodeChange) -> AccountChanges
pub fn with_code_change(self, change: CodeChange) -> AccountChanges
Add a code change.
Sourcepub fn extend_storage_reads<I>(self, iter: I) -> AccountChangeswhere
I: IntoIterator<Item = Uint<256, 4>>,
pub fn extend_storage_reads<I>(self, iter: I) -> AccountChangeswhere
I: IntoIterator<Item = Uint<256, 4>>,
Add multiple storage reads at once.
Sourcepub fn extend_storage_changes<I>(self, iter: I) -> AccountChangeswhere
I: IntoIterator<Item = SlotChanges>,
pub fn extend_storage_changes<I>(self, iter: I) -> AccountChangeswhere
I: IntoIterator<Item = SlotChanges>,
Add multiple slot changes at once.
Trait Implementations§
Source§impl<'arbitrary> Arbitrary<'arbitrary> for AccountChanges
impl<'arbitrary> Arbitrary<'arbitrary> for AccountChanges
Source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<AccountChanges, Error>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<AccountChanges, Error>
Self from the given unstructured data. Read moreSource§fn arbitrary_take_rest(
u: Unstructured<'arbitrary>,
) -> Result<AccountChanges, Error>
fn arbitrary_take_rest( u: Unstructured<'arbitrary>, ) -> Result<AccountChanges, Error>
Self from the entirety of the given
unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Unstructured this type
needs to construct itself. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Unstructured this type
needs to construct itself. Read moreSource§impl Clone for AccountChanges
impl Clone for AccountChanges
Source§fn clone(&self) -> AccountChanges
fn clone(&self) -> AccountChanges
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AccountChanges
impl Debug for AccountChanges
Source§impl Default for AccountChanges
impl Default for AccountChanges
Source§fn default() -> AccountChanges
fn default() -> AccountChanges
Source§impl<'de> Deserialize<'de> for AccountChanges
impl<'de> Deserialize<'de> for AccountChanges
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<AccountChanges, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<AccountChanges, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for AccountChanges
impl PartialEq for AccountChanges
Source§impl Serialize for AccountChanges
impl Serialize for AccountChanges
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for AccountChanges
impl StructuralPartialEq for AccountChanges
Auto Trait Implementations§
impl Freeze for AccountChanges
impl RefUnwindSafe for AccountChanges
impl Send for AccountChanges
impl Sync for AccountChanges
impl Unpin for AccountChanges
impl UnwindSafe for AccountChanges
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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: 144 bytes