From 1ee8f6ff30ca510c43b911ec29b90e14ebc7a522 Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Mon, 12 Jun 2023 07:57:50 +0200 Subject: [PATCH] feat: add ParityTraceBuilder::callers (#3099) --- crates/revm/revm-inspectors/src/tracing/builder/parity.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/crates/revm/revm-inspectors/src/tracing/builder/parity.rs b/crates/revm/revm-inspectors/src/tracing/builder/parity.rs index d79973f825..82ee58ba07 100644 --- a/crates/revm/revm-inspectors/src/tracing/builder/parity.rs +++ b/crates/revm/revm-inspectors/src/tracing/builder/parity.rs @@ -1,4 +1,5 @@ use crate::tracing::{types::CallTraceNode, TracingInspectorConfig}; +use reth_primitives::Address; use reth_rpc_types::{trace::parity::*, TransactionInfo}; use revm::primitives::ExecutionResult; use std::collections::HashSet; @@ -18,6 +19,11 @@ impl ParityTraceBuilder { Self { nodes, _config } } + /// Returns a list of all addresses that appeared as callers. + pub fn callers(&self) -> HashSet
{ + self.nodes.iter().map(|node| node.trace.caller).collect() + } + /// Returns the trace addresses of all transactions in the set fn trace_addresses(&self) -> Vec> { let mut all_addresses = Vec::with_capacity(self.nodes.len());