Trait FoundryContextExt
pub trait FoundryContextExt: ContextTr<Cfg = CfgEnv<Self::Spec>>where
Self::Block: FoundryBlock + Clone,
Self::Tx: FoundryTransaction + Clone,
Self::Journal: JournalExt,{
type Spec: Into<SpecId> + Copy + Debug;
// 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 db_journal_inner_mut(
&mut self,
) -> (&mut Self::Db, &mut JournalInner<JournalEntry>);
// Provided methods
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§
fn 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.
Provided Methods§
fn set_journal_inner(&mut self, journal_inner: JournalInner<JournalEntry>)
fn set_journal_inner(&mut self, journal_inner: JournalInner<JournalEntry>)
Sets journal inner.