From bf35a2f113472c74422ffea3dadbf43f9ddfe934 Mon Sep 17 00:00:00 2001 From: GarmashAlex Date: Wed, 29 Oct 2025 13:24:55 +0300 Subject: [PATCH] vm: emit OnFaultV2 with revert return data; fallback to OnFault --- core/vm/interpreter.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/vm/interpreter.go b/core/vm/interpreter.go index 52dbe83d86..2e2aff8f16 100644 --- a/core/vm/interpreter.go +++ b/core/vm/interpreter.go @@ -155,8 +155,12 @@ func (evm *EVM) Run(contract *Contract, input []byte, readOnly bool) (ret []byte if !logged && evm.Config.Tracer.OnOpcode != nil { evm.Config.Tracer.OnOpcode(pcCopy, byte(op), gasCopy, cost, callContext, evm.returnData, evm.depth, VMErrorFromErr(err)) } - if logged && evm.Config.Tracer.OnFault != nil { - evm.Config.Tracer.OnFault(pcCopy, byte(op), gasCopy, cost, callContext, evm.depth, VMErrorFromErr(err)) + if logged { + if evm.Config.Tracer.OnFaultV2 != nil { + evm.Config.Tracer.OnFaultV2(pcCopy, byte(op), gasCopy, cost, callContext, evm.returnData, evm.depth, VMErrorFromErr(err)) + } else if evm.Config.Tracer.OnFault != nil { + evm.Config.Tracer.OnFault(pcCopy, byte(op), gasCopy, cost, callContext, evm.depth, VMErrorFromErr(err)) + } } }() }