From 6bb0508894360599fd222dfde88be4609030cfde Mon Sep 17 00:00:00 2001 From: clostao <49268919+clostao@users.noreply.github.com> Date: Wed, 14 Feb 2024 09:21:37 +0100 Subject: [PATCH] Fix call tracer for `debug_traceTransaction` (#169) Co-authored-by: Daniel Blanco Parla --- vendor/client/evm-tracing/src/formatters/call_tracer.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vendor/client/evm-tracing/src/formatters/call_tracer.rs b/vendor/client/evm-tracing/src/formatters/call_tracer.rs index 62543bd..3b2bb23 100644 --- a/vendor/client/evm-tracing/src/formatters/call_tracer.rs +++ b/vendor/client/evm-tracing/src/formatters/call_tracer.rs @@ -43,6 +43,7 @@ impl super::ResponseFormatter for Formatter { for entry in listener.entries.iter() { let mut result: Vec = entry .into_iter() + .filter(|(_, it)| it.from.ne(&H160::zero())) // Filters out calls to the ConversionRateController and other Precompiles .map(|(_, it)| { let from = it.from; let trace_address = it.trace_address.clone(); @@ -208,7 +209,9 @@ impl super::ResponseFormatter for Formatter { }), ) => { &b[..] - == &a[..] + == a.get(0..a.len() - 1).expect( + "non-root element while traversing trace result", + ) } _ => unreachable!(), }) {