eth/tracers/logger: return revert reason (#31013)

Fix the error comparison in tracer to prevent dropping revert reason data

---------

Co-authored-by: Martin <mrscdevel@gmail.com>
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
pull/30937/merge
Martin Redmond 3 weeks ago committed by GitHub
parent c0882429f0
commit f460f019e9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 3
      eth/tracers/logger/logger.go

@ -19,6 +19,7 @@ package logger
import ( import (
"encoding/hex" "encoding/hex"
"encoding/json" "encoding/json"
"errors"
"fmt" "fmt"
"io" "io"
"maps" "maps"
@ -350,7 +351,7 @@ func (l *StructLogger) GetResult() (json.RawMessage, error) {
returnData := common.CopyBytes(l.output) returnData := common.CopyBytes(l.output)
// Return data when successful and revert reason when reverted, otherwise empty. // Return data when successful and revert reason when reverted, otherwise empty.
returnVal := fmt.Sprintf("%x", returnData) returnVal := fmt.Sprintf("%x", returnData)
if failed && l.err != vm.ErrExecutionReverted { if failed && !errors.Is(l.err, vm.ErrExecutionReverted) {
returnVal = "" returnVal = ""
} }
return json.Marshal(&ExecutionResult{ return json.Marshal(&ExecutionResult{

Loading…
Cancel
Save