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§
Sourcefn 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§
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Sourcefn 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".