pub trait FoundryContextExt: ContextTrwhere
Self::Block: FoundryBlock + Clone,
Self::Tx: FoundryTransaction + Clone,
Self::Cfg: Cfg<Spec = Self::Spec> + Clone + From<CfgEnv<Self::Spec>> + Into<CfgEnv<Self::Spec>>,
Self::Journal: FoundryJournal,
Self::Chain: FoundryChain<Self::Tx>,{
type Spec: Into<SpecId> + Copy + Debug;
Show 15 methods
// Required methods
fn block_mut(&mut self) -> &mut Self::Block;
fn tx_mut(&mut self) -> &mut Self::Tx;
fn cfg_mut(&mut self) -> &mut Self::Cfg;
fn cfg_env(&self) -> &CfgEnv<Self::Spec>;
fn cfg_env_mut(&mut self) -> &mut CfgEnv<Self::Spec>;
fn db_journal_inner_mut(
&mut self,
) -> (&mut Self::Db, &mut JournalInner<JournalEntry>);
fn journal_inner(&self) -> &JournalInner<JournalEntry>;
// Provided methods
fn set_spec_and_gas_params(&mut self, spec: Self::Spec) { ... }
fn set_block(&mut self, block: Self::Block) { ... }
fn set_tx(&mut self, tx: Self::Tx) { ... }
fn set_cfg(&mut self, cfg: Self::Cfg) { ... }
fn set_journal_inner(&mut self, journal_inner: JournalInner<JournalEntry>) { ... }
fn set_evm(&mut self, evm_env: EvmEnv<Self::Spec, Self::Block>) { ... }
fn tx_clone(&self) -> Self::Tx { ... }
fn evm_clone(&self) -> EvmEnv<Self::Spec, Self::Block> { ... }
}Expand description
Extension trait providing mutable field access to block, tx, and cfg environments.
ContextTr only exposes immutable references for block, tx, and cfg.
Cheatcodes like vm.warp(), vm.roll(), vm.chainId() need to mutate these fields.
Required Associated Types§
Required Methods§
Sourcefn cfg_env_mut(&mut self) -> &mut CfgEnv<Self::Spec>
fn cfg_env_mut(&mut self) -> &mut CfgEnv<Self::Spec>
Mutable reference to the underlying CfgEnv.
Sourcefn db_journal_inner_mut(
&mut self,
) -> (&mut Self::Db, &mut JournalInner<JournalEntry>)
fn db_journal_inner_mut( &mut self, ) -> (&mut Self::Db, &mut JournalInner<JournalEntry>)
Mutable reference to the db and the journal inner.
Sourcefn journal_inner(&self) -> &JournalInner<JournalEntry>
fn journal_inner(&self) -> &JournalInner<JournalEntry>
Reference to the journal inner.
Provided Methods§
Sourcefn set_spec_and_gas_params(&mut self, spec: Self::Spec)
fn set_spec_and_gas_params(&mut self, spec: Self::Spec)
Sets the spec and refreshes gas params for the concrete EVM family.
Sourcefn set_journal_inner(&mut self, journal_inner: JournalInner<JournalEntry>)
fn set_journal_inner(&mut self, journal_inner: JournalInner<JournalEntry>)
Sets journal inner.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".