pub trait FoundryContextExt: ContextTr<Block: FoundryBlock + Clone, Tx: FoundryTransaction + Clone, Cfg: FoundryCfg<Spec = Self::Spec>, Journal: FoundryJournal, 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;
// Provided methods
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 JournaledState) { ... }
fn journal_inner(&self) -> &JournaledState { ... }
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: JournaledState) { ... }
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§
Provided 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 JournaledState)
fn db_journal_inner_mut(&mut self) -> (&mut Self::Db, &mut JournaledState)
Mutable reference to the db and the journal inner.
Sourcefn journal_inner(&self) -> &JournaledState
fn journal_inner(&self) -> &JournaledState
Reference to the journal inner.
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: JournaledState)
fn set_journal_inner(&mut self, journal_inner: JournaledState)
Sets journal inner.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".