pub trait InspectEvm: ExecuteEvm {
type Inspector;
// Required methods
fn set_inspector(&mut self, inspector: Self::Inspector);
fn inspect_tx(
&mut self,
tx: Self::Tx,
) -> Result<Self::ExecutionResult, Self::Error>;
// Provided methods
fn inspect_tx_finalize(
&mut self,
tx: Self::Tx,
) -> Result<ResultAndState<Self::ExecutionResult, Self::State>, Self::Error> { ... }
fn inspect(
&mut self,
tx: Self::Tx,
inspector: Self::Inspector,
) -> Result<Self::ExecutionResult, Self::Error> { ... }
}
Expand description
InspectEvm is a API that allows inspecting the EVM.
It extends the ExecuteEvm
trait and enabled setting inspector
Required Associated Types§
Required Methods§
Sourcefn set_inspector(&mut self, inspector: Self::Inspector)
fn set_inspector(&mut self, inspector: Self::Inspector)
Set the inspector for the EVM.
this function is used to change inspector during execution.
This function can’t change Inspector type, changing inspector type can be done in
Evm
with with_inspector
function.
Sourcefn inspect_tx(
&mut self,
tx: Self::Tx,
) -> Result<Self::ExecutionResult, Self::Error>
fn inspect_tx( &mut self, tx: Self::Tx, ) -> Result<Self::ExecutionResult, Self::Error>
Inspect the EVM with the given transaction.
Provided Methods§
Sourcefn inspect_tx_finalize(
&mut self,
tx: Self::Tx,
) -> Result<ResultAndState<Self::ExecutionResult, Self::State>, Self::Error>
fn inspect_tx_finalize( &mut self, tx: Self::Tx, ) -> Result<ResultAndState<Self::ExecutionResult, Self::State>, Self::Error>
Inspect the EVM and finalize the state.
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.