pub struct StructLog {
pub pc: u64,
pub op: String,
pub gas: u64,
pub gas_cost: u64,
pub depth: u64,
pub error: Option<String>,
pub stack: Option<Vec<U256>>,
pub return_data: Option<Bytes>,
pub memory: Option<Vec<String>>,
pub memory_size: Option<u64>,
pub storage: Option<BTreeMap<B256, B256>>,
pub refund_counter: Option<u64>,
}
Expand description
Represents a struct log entry in a trace
Fields§
§pc: u64
program counter
op: String
opcode to be executed
gas: u64
remaining gas
gas_cost: u64
cost for executing op
depth: u64
Current call depth
error: Option<String>
Error message if any
stack: Option<Vec<U256>>
EVM stack
return_data: Option<Bytes>
Last call’s return data. Enabled via enableReturnData
memory: Option<Vec<String>>
§memory_size: Option<u64>
Size of memory.
storage: Option<BTreeMap<B256, B256>>
Storage slots of current contract read from and written to. Only emitted for SLOAD and SSTORE. Disabled via disableStorage
refund_counter: Option<u64>
Refund counter
Trait Implementations§
source§impl<'de> Deserialize<'de> for StructLog
impl<'de> Deserialize<'de> for StructLog
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for StructLog
impl StructuralPartialEq for StructLog
Auto Trait Implementations§
impl !Freeze for StructLog
impl RefUnwindSafe for StructLog
impl Send for StructLog
impl Sync for StructLog
impl Unpin for StructLog
impl UnwindSafe for StructLog
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
Converts
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>
Converts
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 more