pub struct AccountOverride {
pub balance: Option<U256>,
pub nonce: Option<u64>,
pub code: Option<Bytes>,
pub state: Option<B256HashMap<B256>>,
pub state_diff: Option<B256HashMap<B256>>,
pub move_precompile_to: Option<Address>,
}
Expand description
Custom account override used in call
Fields§
§balance: Option<U256>
Fake balance to set for the account before executing the call.
nonce: Option<u64>
Fake nonce to set for the account before executing the call.
code: Option<Bytes>
Fake EVM bytecode to inject into the account before executing the call.
state: Option<B256HashMap<B256>>
Fake key-value mapping to override all slots in the account storage before executing the call.
state_diff: Option<B256HashMap<B256>>
Fake key-value mapping to override individual slots in the account storage before executing the call.
move_precompile_to: Option<Address>
Moves addresses precompile into the specified address. This move is done before the ‘code’ override is set. When the specified address is not a precompile, the behaviour is undefined and different clients might behave differently.
Implementations§
Source§impl AccountOverride
impl AccountOverride
Sourcepub fn with_state(self, state: impl IntoIterator<Item = (B256, B256)>) -> Self
pub fn with_state(self, state: impl IntoIterator<Item = (B256, B256)>) -> Self
Configures the state overrides
Sourcepub fn with_state_diff(
self,
state_diff: impl IntoIterator<Item = (B256, B256)>,
) -> Self
pub fn with_state_diff( self, state_diff: impl IntoIterator<Item = (B256, B256)>, ) -> Self
Configures the state diffs
Sourcepub const fn with_balance(self, balance: U256) -> Self
pub const fn with_balance(self, balance: U256) -> Self
Configures the balance override
Sourcepub const fn with_nonce(self, nonce: u64) -> Self
pub const fn with_nonce(self, nonce: u64) -> Self
Configures the nonce override
Sourcepub fn set_state(&mut self, state: impl IntoIterator<Item = (B256, B256)>)
pub fn set_state(&mut self, state: impl IntoIterator<Item = (B256, B256)>)
Sets the state overrides in place.
Sourcepub fn set_state_diff(
&mut self,
state_diff: impl IntoIterator<Item = (B256, B256)>,
)
pub fn set_state_diff( &mut self, state_diff: impl IntoIterator<Item = (B256, B256)>, )
Sets the state diffs in place.
Sourcepub fn set_balance(&mut self, balance: U256)
pub fn set_balance(&mut self, balance: U256)
Sets the balance override in place.
Sourcepub fn set_move_precompile_to(&mut self, address: Address)
pub fn set_move_precompile_to(&mut self, address: Address)
Sets the move precompile address in place.
Sourcepub fn with_code_opt(self, code: Option<impl Into<Bytes>>) -> Self
pub fn with_code_opt(self, code: Option<impl Into<Bytes>>) -> Self
Conditionally sets the bytecode override and returns self.
Sourcepub const fn with_balance_opt(self, balance: Option<U256>) -> Self
pub const fn with_balance_opt(self, balance: Option<U256>) -> Self
Conditionally sets the balance override and returns self.
Sourcepub const fn with_nonce_opt(self, nonce: Option<u64>) -> Self
pub const fn with_nonce_opt(self, nonce: Option<u64>) -> Self
Conditionally sets the nonce override and returns self.
Sourcepub const fn with_move_precompile_to_opt(self, address: Option<Address>) -> Self
pub const fn with_move_precompile_to_opt(self, address: Option<Address>) -> Self
Conditionally sets the move precompile address and returns self.
Trait Implementations§
Source§impl Clone for AccountOverride
impl Clone for AccountOverride
Source§fn clone(&self) -> AccountOverride
fn clone(&self) -> AccountOverride
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for AccountOverride
impl Debug for AccountOverride
Source§impl Default for AccountOverride
impl Default for AccountOverride
Source§fn default() -> AccountOverride
fn default() -> AccountOverride
Source§impl<'de> Deserialize<'de> for AccountOverridewhere
AccountOverride: Default,
impl<'de> Deserialize<'de> for AccountOverridewhere
AccountOverride: Default,
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>,
Source§impl PartialEq for AccountOverride
impl PartialEq for AccountOverride
Source§impl Serialize for AccountOverride
impl Serialize for AccountOverride
impl Eq for AccountOverride
impl StructuralPartialEq for AccountOverride
Auto Trait Implementations§
impl !Freeze for AccountOverride
impl RefUnwindSafe for AccountOverride
impl Send for AccountOverride
impl Sync for AccountOverride
impl Unpin for AccountOverride
impl UnwindSafe for AccountOverride
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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 more