pub trait InspectorFrame: Frame {
type IT: InterpreterTypes;
// Required methods
fn run_inspect(
&mut self,
evm: &mut Self::Evm,
) -> Result<FrameInitOrResult<Self>, Self::Error>;
fn interpreter(&mut self) -> &mut Interpreter<Self::IT>;
fn frame_input(&self) -> &FrameInput;
}
Expand description
Traits that extends the Frame with additional functionality that is needed for inspection
It is implemented for EthFrame
as default Ethereum frame implementation.
Required Associated Types§
type IT: InterpreterTypes
Required Methods§
Sourcefn run_inspect(
&mut self,
evm: &mut Self::Evm,
) -> Result<FrameInitOrResult<Self>, Self::Error>
fn run_inspect( &mut self, evm: &mut Self::Evm, ) -> Result<FrameInitOrResult<Self>, Self::Error>
It runs the frame in inspection mode.
This will internally call InspectorEvmTr::run_inspect_interpreter
Sourcefn interpreter(&mut self) -> &mut Interpreter<Self::IT>
fn interpreter(&mut self) -> &mut Interpreter<Self::IT>
Returns a mutable reference to the interpreter.
Sourcefn frame_input(&self) -> &FrameInput
fn frame_input(&self) -> &FrameInput
Returns a reference to the frame input. Frame input is needed for call/create/eofcreate crate::Inspector
methods
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§
Source§impl<EVM, ERROR> InspectorFrame for EthFrame<EVM, ERROR, EthInterpreter>where
EVM: EvmTr<Context: ContextTr, Precompiles: PrecompileProvider<EVM::Context, Output = InterpreterResult>, Instructions: InstructionProvider<Context = EVM::Context, InterpreterTypes = EthInterpreter>> + InspectorEvmTr,
ERROR: From<ContextTrDbError<EVM::Context>> + FromStringError,
Impl InspectorFrame for EthFrame.
impl<EVM, ERROR> InspectorFrame for EthFrame<EVM, ERROR, EthInterpreter>where
EVM: EvmTr<Context: ContextTr, Precompiles: PrecompileProvider<EVM::Context, Output = InterpreterResult>, Instructions: InstructionProvider<Context = EVM::Context, InterpreterTypes = EthInterpreter>> + InspectorEvmTr,
ERROR: From<ContextTrDbError<EVM::Context>> + FromStringError,
Impl InspectorFrame for EthFrame.