pub struct TransactionTrace {Show 15 fields
pub tx_hash: Option<String>,
pub from_addr: String,
pub to_addr: Option<String>,
pub value: String,
pub input_data: String,
pub gas_used: u64,
pub output: String,
pub success: bool,
pub error: Option<String>,
pub debug_trace_available: bool,
pub contract_address: Option<String>,
pub backend: Option<String>,
pub capabilities: TraceCapabilities,
pub artifacts: TraceArtifacts,
pub steps: Vec<TraceStep>,
}Expand description
A complete recording of one execution.
Reading one back from JSON shares unchanged memory and storage between consecutive
steps as they are read, so a trace loaded from a file costs what one built by a
backend costs, at its peak as well as afterwards. TransactionTrace::share_unchanged_state
does the same for a trace assembled by hand.
Fields§
§tx_hash: Option<String>§from_addr: String§to_addr: Option<String>§value: String§input_data: String§gas_used: u64§output: String§success: bool§error: Option<String>§debug_trace_available: bool§contract_address: Option<String>§backend: Option<String>§capabilities: TraceCapabilities§artifacts: TraceArtifacts§steps: Vec<TraceStep>Implementations§
Source§impl TransactionTrace
impl TransactionTrace
Makes consecutive steps whose memory or storage is equal share one copy.
Backends build steps that way; a trace deserialized from a file arrives with a copy per step, and this pass, linear in the size of the trace, folds them back.
Trait Implementations§
Source§impl Clone for TransactionTrace
impl Clone for TransactionTrace
Source§impl Debug for TransactionTrace
impl Debug for TransactionTrace
Source§impl<'de> Deserialize<'de> for TransactionTrace
impl<'de> Deserialize<'de> for TransactionTrace
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 TransactionTrace
Source§impl PartialEq for TransactionTrace
impl PartialEq for TransactionTrace
Source§impl Serialize for TransactionTrace
impl Serialize for TransactionTrace
impl StructuralPartialEq for TransactionTrace
Auto Trait Implementations§
impl Freeze for TransactionTrace
impl RefUnwindSafe for TransactionTrace
impl Send for TransactionTrace
impl Sync for TransactionTrace
impl Unpin for TransactionTrace
impl UnsafeUnpin for TransactionTrace
impl UnwindSafe for TransactionTrace
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