pub trait CheatcodesExecutor {
// Required method
fn get_inspector<'a>(
&'a mut self,
cheats: &'a mut Cheatcodes,
) -> Box<dyn InspectorExt + 'a>;
// Provided methods
fn exec_create(
&mut self,
inputs: CreateInputs,
ccx: &mut CheatsCtxt<'_, '_, '_, '_>,
) -> Result<CreateOutcome, EVMError<DatabaseError>> { ... }
fn console_log(
&mut self,
ccx: &mut CheatsCtxt<'_, '_, '_, '_>,
message: String,
) { ... }
fn tracing_inspector(&mut self) -> Option<&mut Option<TracingInspector>> { ... }
}
Expand description
Helper trait for obtaining complete revm::Inspector instance from mutable reference to Cheatcodes.
This is needed for cases when inspector itself needs mutable access to Cheatcodes state and allows us to correctly execute arbitrary EVM frames from inside cheatcode implementations.
Required Methods§
Sourcefn get_inspector<'a>(
&'a mut self,
cheats: &'a mut Cheatcodes,
) -> Box<dyn InspectorExt + 'a>
fn get_inspector<'a>( &'a mut self, cheats: &'a mut Cheatcodes, ) -> Box<dyn InspectorExt + 'a>
Core trait method accepting mutable reference to Cheatcodes and returning revm::Inspector.
Provided Methods§
Sourcefn exec_create(
&mut self,
inputs: CreateInputs,
ccx: &mut CheatsCtxt<'_, '_, '_, '_>,
) -> Result<CreateOutcome, EVMError<DatabaseError>>
fn exec_create( &mut self, inputs: CreateInputs, ccx: &mut CheatsCtxt<'_, '_, '_, '_>, ) -> Result<CreateOutcome, EVMError<DatabaseError>>
Obtains revm::Evm instance and executes the given CREATE frame.
fn console_log(&mut self, ccx: &mut CheatsCtxt<'_, '_, '_, '_>, message: String)
Sourcefn tracing_inspector(&mut self) -> Option<&mut Option<TracingInspector>>
fn tracing_inspector(&mut self) -> Option<&mut Option<TracingInspector>>
Returns a mutable reference to the tracing inspector if it is available.