Trait InspectorHandler
pub trait InspectorHandler: Handlerwhere
Self::Evm: InspectorEvmTr,
<Self::Evm as InspectorEvmTr>::Inspector: Inspector<<Self::Evm as EvmTr>::Context, Self::IT>,
Self::Frame: InspectorFrame<IT = Self::IT>,{
type IT: InterpreterTypes;
// Provided methods
fn inspect_run(
&mut self,
evm: &mut Self::Evm,
) -> Result<ResultAndState<Self::HaltReason>, Self::Error> { ... }
fn inspect_run_without_catch_error(
&mut self,
evm: &mut Self::Evm,
) -> Result<ResultAndState<Self::HaltReason>, Self::Error> { ... }
fn inspect_execution(
&mut self,
evm: &mut Self::Evm,
init_and_floor_gas: &InitialAndFloorGas,
) -> Result<FrameResult, Self::Error> { ... }
fn inspect_first_frame_init(
&mut self,
evm: &mut Self::Evm,
frame_input: <Self::Frame as Frame>::FrameInit,
) -> Result<ItemOrResult<Self::Frame, <Self::Frame as Frame>::FrameResult>, Self::Error> { ... }
fn inspect_frame_call(
&mut self,
frame: &mut Self::Frame,
evm: &mut Self::Evm,
) -> Result<ItemOrResult<<Self::Frame as Frame>::FrameInit, <Self::Frame as Frame>::FrameResult>, Self::Error> { ... }
fn inspect_run_exec_loop(
&mut self,
evm: &mut Self::Evm,
frame: Self::Frame,
) -> Result<FrameResult, Self::Error> { ... }
}
Required Associated Types§
type IT: InterpreterTypes
Provided Methods§
fn inspect_run( &mut self, evm: &mut Self::Evm, ) -> Result<ResultAndState<Self::HaltReason>, Self::Error>
fn inspect_run_without_catch_error( &mut self, evm: &mut Self::Evm, ) -> Result<ResultAndState<Self::HaltReason>, Self::Error>
fn inspect_execution( &mut self, evm: &mut Self::Evm, init_and_floor_gas: &InitialAndFloorGas, ) -> Result<FrameResult, Self::Error>
fn inspect_first_frame_init( &mut self, evm: &mut Self::Evm, frame_input: <Self::Frame as Frame>::FrameInit, ) -> Result<ItemOrResult<Self::Frame, <Self::Frame as Frame>::FrameResult>, Self::Error>
fn inspect_frame_call( &mut self, frame: &mut Self::Frame, evm: &mut Self::Evm, ) -> Result<ItemOrResult<<Self::Frame as Frame>::FrameInit, <Self::Frame as Frame>::FrameResult>, Self::Error>
fn inspect_run_exec_loop( &mut self, evm: &mut Self::Evm, frame: Self::Frame, ) -> Result<FrameResult, Self::Error>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.