From 2bb31d4ac198756e30aecad7aa8f984469203d3f Mon Sep 17 00:00:00 2001 From: Matthieu Vachon Date: Thu, 11 Jan 2024 21:26:55 -0500 Subject: [PATCH] Ported some missing legacy fixes to keep 1:1 with Firehose legacy tracer --- eth/tracers/firehose.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/eth/tracers/firehose.go b/eth/tracers/firehose.go index 93cc19ea96..f642772b08 100644 --- a/eth/tracers/firehose.go +++ b/eth/tracers/firehose.go @@ -571,6 +571,11 @@ func (f *Firehose) callEnd(source string, output []byte, gasUsed uint64, err err // We also treat ErrInsufficientBalance and ErrDepth as reverted in Firehose model // because they do not cost any gas. call.StatusReverted = errors.Is(err, vm.ErrExecutionReverted) || errors.Is(err, vm.ErrInsufficientBalance) || errors.Is(err, vm.ErrDepth) + + // Known Firehose issue: FIXME Document! + if !call.ExecutedCode && (errors.Is(err, vm.ErrInsufficientBalance) || errors.Is(err, vm.ErrDepth)) { + call.ExecutedCode = call.CallType != pbeth.CallType_CREATE && len(call.Input) > 0 + } } // Known Firehose issue: The EndOrdinal of the genesis block root call is never actually