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.