pub struct SimBlock<TxReq = TransactionRequest> {
pub block_overrides: Option<BlockOverrides>,
pub state_overrides: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>,
pub calls: Vec<TxReq>,
}Available on crate feature
eth only.Expand description
Represents a batch of calls to be simulated sequentially within a block. This struct includes block and state overrides as well as the transaction requests to be executed.
Fields§
§block_overrides: Option<BlockOverrides>Modifications to the default block characteristics.
state_overrides: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>State modifications to apply before executing the transactions.
calls: Vec<TxReq>A vector of transactions to be simulated.
Implementations§
Source§impl<TxReq> SimBlock<TxReq>
impl<TxReq> SimBlock<TxReq>
Sourcepub fn with_state_overrides(
self,
overrides: HashMap<Address, AccountOverride, FbBuildHasher<20>>,
) -> SimBlock<TxReq>
pub fn with_state_overrides( self, overrides: HashMap<Address, AccountOverride, FbBuildHasher<20>>, ) -> SimBlock<TxReq>
Enables state overrides
Sourcepub fn with_block_overrides(self, overrides: BlockOverrides) -> SimBlock<TxReq>
pub fn with_block_overrides(self, overrides: BlockOverrides) -> SimBlock<TxReq>
Enables block overrides
Sourcepub fn extend_calls(
self,
calls: impl IntoIterator<Item = TxReq>,
) -> SimBlock<TxReq>
pub fn extend_calls( self, calls: impl IntoIterator<Item = TxReq>, ) -> SimBlock<TxReq>
Adds multiple calls to the block.
Sourcepub fn block_number_override(&self) -> Option<Uint<256, 4>>
pub fn block_number_override(&self) -> Option<Uint<256, 4>>
Returns the block’s block number override if it exists.
Trait Implementations§
Source§impl<'de, TxReq> Deserialize<'de> for SimBlock<TxReq>where
TxReq: Deserialize<'de>,
impl<'de, TxReq> Deserialize<'de> for SimBlock<TxReq>where
TxReq: Deserialize<'de>,
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SimBlock<TxReq>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SimBlock<TxReq>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<TxReq> Serialize for SimBlock<TxReq>where
TxReq: Serialize,
impl<TxReq> Serialize for SimBlock<TxReq>where
TxReq: Serialize,
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,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl<TxReq> Freeze for SimBlock<TxReq>
impl<TxReq> RefUnwindSafe for SimBlock<TxReq>where
TxReq: RefUnwindSafe,
impl<TxReq> Send for SimBlock<TxReq>where
TxReq: Send,
impl<TxReq> Sync for SimBlock<TxReq>where
TxReq: Sync,
impl<TxReq> Unpin for SimBlock<TxReq>where
TxReq: Unpin,
impl<TxReq> UnsafeUnpin for SimBlock<TxReq>
impl<TxReq> UnwindSafe for SimBlock<TxReq>where
TxReq: UnwindSafe,
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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 moreSource§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<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: 336 bytes