Trait InspectorHandler

pub trait InspectorHandler: Handler
where 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§

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.

Implementations on Foreign Types§

§

impl<EVM, ERROR, FRAME> InspectorHandler for OpHandler<EVM, ERROR, FRAME>
where <EVM as InspectorEvmTr>::Inspector: Inspector<<<OpHandler<EVM, ERROR, FRAME> as Handler>::Evm as EvmTr>::Context>, ERROR: EvmTrError<EVM> + From<OpTransactionError> + FromStringError + IsTxError, FRAME: InspectorFrame<Evm = EVM, Error = ERROR, FrameResult = FrameResult, FrameInit = FrameInput, IT = EthInterpreter>, EVM: InspectorEvmTr, <EVM as EvmTr>::Context: OpContextTr,

Implementors§

§

impl<EVM, ERROR, FRAME> InspectorHandler for MainnetHandler<EVM, ERROR, FRAME>
where <EVM as InspectorEvmTr>::Inspector: Inspector<<<MainnetHandler<EVM, ERROR, FRAME> as Handler>::Evm as EvmTr>::Context>, ERROR: EvmTrError<EVM>, FRAME: Frame<Evm = EVM, Error = ERROR, FrameResult = FrameResult, FrameInit = FrameInput> + InspectorFrame<IT = EthInterpreter>, EVM: InspectorEvmTr, <EVM as EvmTr>::Context: ContextTr, <<EVM as EvmTr>::Context as ContextTr>::Journal: JournalTr<FinalOutput = JournalOutput>,