Trait InspectSystemCallEvm
pub trait InspectSystemCallEvm: InspectEvm + SystemCallEvm {
// Required method
fn inspect_one_system_call_with_caller(
&mut self,
caller: Address,
system_contract_address: Address,
data: Bytes,
) -> Result<Self::ExecutionResult, Self::Error>;
// Provided methods
fn inspect_one_system_call(
&mut self,
system_contract_address: Address,
data: Bytes,
) -> Result<Self::ExecutionResult, Self::Error> { ... }
fn inspect_system_call(
&mut self,
system_contract_address: Address,
data: Bytes,
) -> Result<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error> { ... }
fn inspect_system_call_with_caller(
&mut self,
caller: Address,
system_contract_address: Address,
data: Bytes,
) -> Result<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error> { ... }
fn inspect_one_system_call_with_inspector(
&mut self,
system_contract_address: Address,
data: Bytes,
inspector: Self::Inspector,
) -> Result<Self::ExecutionResult, Self::Error> { ... }
fn inspect_system_call_with_inspector(
&mut self,
system_contract_address: Address,
data: Bytes,
inspector: Self::Inspector,
) -> Result<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error> { ... }
fn inspect_one_system_call_with_inspector_and_caller(
&mut self,
caller: Address,
system_contract_address: Address,
data: Bytes,
inspector: Self::Inspector,
) -> Result<Self::ExecutionResult, Self::Error> { ... }
fn inspect_system_call_with_inspector_and_caller(
&mut self,
caller: Address,
system_contract_address: Address,
data: Bytes,
inspector: Self::Inspector,
) -> Result<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error> { ... }
}
Expand description
InspectSystemCallEvm is an API that allows inspecting system calls in the EVM.
It extends InspectEvm
and SystemCallEvm
traits to provide inspection
capabilities for system transactions, enabling tracing and debugging of
system calls similar to regular transactions.
Required Methods§
fn inspect_one_system_call_with_caller(
&mut self,
caller: Address,
system_contract_address: Address,
data: Bytes,
) -> Result<Self::ExecutionResult, Self::Error>
fn inspect_one_system_call_with_caller( &mut self, caller: Address, system_contract_address: Address, data: Bytes, ) -> Result<Self::ExecutionResult, Self::Error>
Inspect a system call with the current inspector and a custom caller.
Similar to InspectEvm::inspect_one_tx
but for system calls with a custom caller.
Provided Methods§
fn inspect_one_system_call(
&mut self,
system_contract_address: Address,
data: Bytes,
) -> Result<Self::ExecutionResult, Self::Error>
fn inspect_one_system_call( &mut self, system_contract_address: Address, data: Bytes, ) -> Result<Self::ExecutionResult, Self::Error>
Inspect a system call with the current inspector.
Similar to InspectEvm::inspect_one_tx
but for system calls.
Uses SYSTEM_ADDRESS
as the caller.
fn inspect_system_call(
&mut self,
system_contract_address: Address,
data: Bytes,
) -> Result<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error>
fn inspect_system_call( &mut self, system_contract_address: Address, data: Bytes, ) -> Result<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error>
Inspect a system call and finalize the state.
Similar to InspectEvm::inspect_tx
but for system calls.
fn inspect_system_call_with_caller(
&mut self,
caller: Address,
system_contract_address: Address,
data: Bytes,
) -> Result<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error>
fn inspect_system_call_with_caller( &mut self, caller: Address, system_contract_address: Address, data: Bytes, ) -> Result<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error>
Inspect a system call with a custom caller and finalize the state.
Similar to InspectEvm::inspect_tx
but for system calls with a custom caller.
fn inspect_one_system_call_with_inspector(
&mut self,
system_contract_address: Address,
data: Bytes,
inspector: Self::Inspector,
) -> Result<Self::ExecutionResult, Self::Error>
fn inspect_one_system_call_with_inspector( &mut self, system_contract_address: Address, data: Bytes, inspector: Self::Inspector, ) -> Result<Self::ExecutionResult, Self::Error>
Inspect a system call with a given inspector.
Similar to InspectEvm::inspect_one
but for system calls.
fn inspect_system_call_with_inspector(
&mut self,
system_contract_address: Address,
data: Bytes,
inspector: Self::Inspector,
) -> Result<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error>
fn inspect_system_call_with_inspector( &mut self, system_contract_address: Address, data: Bytes, inspector: Self::Inspector, ) -> Result<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error>
Inspect a system call with a given inspector and finalize the state.
Similar to InspectEvm::inspect
but for system calls.
fn inspect_one_system_call_with_inspector_and_caller(
&mut self,
caller: Address,
system_contract_address: Address,
data: Bytes,
inspector: Self::Inspector,
) -> Result<Self::ExecutionResult, Self::Error>
fn inspect_one_system_call_with_inspector_and_caller( &mut self, caller: Address, system_contract_address: Address, data: Bytes, inspector: Self::Inspector, ) -> Result<Self::ExecutionResult, Self::Error>
Inspect a system call with a given inspector and caller.
Similar to InspectEvm::inspect_one
but for system calls.
fn inspect_system_call_with_inspector_and_caller(
&mut self,
caller: Address,
system_contract_address: Address,
data: Bytes,
inspector: Self::Inspector,
) -> Result<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error>
fn inspect_system_call_with_inspector_and_caller( &mut self, caller: Address, system_contract_address: Address, data: Bytes, inspector: Self::Inspector, ) -> Result<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error>
Inspect a system call with a given inspector and finalize the state.
Similar to InspectEvm::inspect
but for system calls.
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.