use crate::inspectors::tx_inspector::TxInspector;
use crate::inspectors::tx_inspector::TxTraceOutput;
use crate::traits::{Reset, TraceOutput};
impl Reset for TxInspector {
fn reset(&mut self) {
self.call_traces = Vec::new();
self.call_stack = Vec::new();
self.transfers = Vec::new();
self.logs = Vec::new();
self.address_stack = Vec::new();
self.pending_create_transfers = Vec::new();
}
fn reset_slot_cache(&mut self) {
self.slot_cache.clear();
}
}
impl TraceOutput for TxInspector {
type Output = TxTraceOutput;
fn get_output(&self) -> Self::Output {
TxTraceOutput {
asset_transfers: self.transfers.clone(),
call_trace: self.call_traces.first().cloned(),
logs: self.logs.clone(),
error_trace_address: self.get_error_trace_address(),
}
}
}