pub struct CallTraceFrame {
pub call_type: CallType,
pub from: Address,
pub to: Option<Address>,
pub value: Option<U256>,
pub gas: u64,
pub gas_used: u64,
pub input: Bytes,
pub output: Bytes,
pub error: Option<String>,
pub revert_reason: Option<String>,
pub calls: Vec<CallTraceFrame>,
pub logs: Vec<CallLog>,
}Expand description
Trace of each call frame as defined in geth’s callTracer output
https://geth.ethereum.org/docs/developers/evm-tracing/built-in-tracers#call-tracer
Fields§
§call_type: CallTypeType of the Call
from: AddressAddress that initiated the call
to: Option<Address>Address that received the call. Omitted when absent (geth’s to,omitempty),
e.g. nil’d for a failed CREATE/CREATE2.
value: Option<U256>Amount transferred. Omitted when absent (geth’s value,omitempty) — notably
STATICCALL, which geth traces with a nil value.
gas: u64Gas provided for the call
gas_used: u64Gas used by the call
input: BytesCall data (always present, matching geth’s non-optional input)
output: BytesReturn data. Omitted when empty (geth’s output,omitempty).
error: Option<String>Error returned if the call failed. Omitted when absent (geth’s error,omitempty).
revert_reason: Option<String>Revert reason if the call reverted. Omitted when absent (geth’s revertReason,omitempty).
calls: Vec<CallTraceFrame>List of nested sub-calls. Omitted when empty (geth’s calls,omitempty).
logs: Vec<CallLog>Logs (if enabled)
Trait Implementations§
Source§impl Debug for CallTraceFrame
impl Debug for CallTraceFrame
Source§impl Default for CallTraceFrame
impl Default for CallTraceFrame
Source§fn default() -> CallTraceFrame
fn default() -> CallTraceFrame
Auto Trait Implementations§
impl !Freeze for CallTraceFrame
impl RefUnwindSafe for CallTraceFrame
impl Send for CallTraceFrame
impl Sync for CallTraceFrame
impl Unpin for CallTraceFrame
impl UnsafeUnpin for CallTraceFrame
impl UnwindSafe for CallTraceFrame
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.