Trait InspectorFrame
pub trait InspectorFrame: Frame {
type IT: InterpreterTypes;
// Required methods
fn run_inspect(
&mut self,
evm: &mut Self::Evm,
) -> Result<ItemOrResult<Self::FrameInit, Self::FrameResult>, 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§
fn run_inspect(
&mut self,
evm: &mut Self::Evm,
) -> Result<ItemOrResult<Self::FrameInit, Self::FrameResult>, Self::Error>
fn run_inspect( &mut self, evm: &mut Self::Evm, ) -> Result<ItemOrResult<Self::FrameInit, Self::FrameResult>, Self::Error>
It runs the frame in inspection mode.
This will internally call InspectorEvmTr::run_inspect_interpreter
fn interpreter(&mut self) -> &mut Interpreter<Self::IT>
fn interpreter(&mut self) -> &mut Interpreter<Self::IT>
Returns a mutable reference to the interpreter.
fn 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.
Implementors§
§impl<EVM, ERROR> InspectorFrame for EthFrame<EVM, ERROR, EthInterpreter>where
<EVM as EvmTr>::Context: ContextTr,
<EVM as EvmTr>::Precompiles: PrecompileProvider<<EVM as EvmTr>::Context, Output = InterpreterResult>,
<EVM as EvmTr>::Instructions: InstructionProvider<Context = <EVM as EvmTr>::Context, InterpreterTypes = EthInterpreter>,
EVM: EvmTr + InspectorEvmTr,
ERROR: From<<<<EVM as EvmTr>::Context as ContextTr>::Db as Database>::Error> + FromStringError,
Impl InspectorFrame for EthFrame.
impl<EVM, ERROR> InspectorFrame for EthFrame<EVM, ERROR, EthInterpreter>where
<EVM as EvmTr>::Context: ContextTr,
<EVM as EvmTr>::Precompiles: PrecompileProvider<<EVM as EvmTr>::Context, Output = InterpreterResult>,
<EVM as EvmTr>::Instructions: InstructionProvider<Context = <EVM as EvmTr>::Context, InterpreterTypes = EthInterpreter>,
EVM: EvmTr + InspectorEvmTr,
ERROR: From<<<<EVM as EvmTr>::Context as ContextTr>::Db as Database>::Error> + FromStringError,
Impl InspectorFrame for EthFrame.