From 99923e9f54becdcb4a9a325f98c0ad004fbe4e4a Mon Sep 17 00:00:00 2001 From: GarmashAlex Date: Wed, 29 Oct 2025 13:25:47 +0300 Subject: [PATCH] native/mux: forward OnFaultV2 to child tracers with fallback --- eth/tracers/native/mux.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/eth/tracers/native/mux.go b/eth/tracers/native/mux.go index 77ab254568..6f924aec61 100644 --- a/eth/tracers/native/mux.go +++ b/eth/tracers/native/mux.go @@ -64,6 +64,7 @@ func newMuxTracer(ctx *tracers.Context, cfg json.RawMessage, chainConfig *params OnExit: t.OnExit, OnOpcode: t.OnOpcode, OnFault: t.OnFault, + OnFaultV2: t.OnFaultV2, OnGasChange: t.OnGasChange, OnBalanceChange: t.OnBalanceChange, OnNonceChange: t.OnNonceChange, @@ -92,6 +93,16 @@ func (t *muxTracer) OnFault(pc uint64, op byte, gas, cost uint64, scope tracing. } } +func (t *muxTracer) OnFaultV2(pc uint64, op byte, gas, cost uint64, scope tracing.OpContext, rData []byte, depth int, err error) { + for _, t := range t.tracers { + if t.OnFaultV2 != nil { + t.OnFaultV2(pc, op, gas, cost, scope, rData, depth, err) + } else if t.OnFault != nil { + t.OnFault(pc, op, gas, cost, scope, depth, err) + } + } +} + func (t *muxTracer) OnGasChange(old, new uint64, reason tracing.GasChangeReason) { for _, t := range t.tracers { if t.OnGasChange != nil {