From 3ef918538eb0453f81c0abc84f56b7bd730bef22 Mon Sep 17 00:00:00 2001 From: Confucian Date: Wed, 23 Oct 2024 14:27:13 +0800 Subject: [PATCH] feat: expose raw error data --- internal/ethapi/errors.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/ethapi/errors.go b/internal/ethapi/errors.go index ae38061234..54f6bd80d9 100644 --- a/internal/ethapi/errors.go +++ b/internal/ethapi/errors.go @@ -46,11 +46,12 @@ func (e *revertError) ErrorData() interface{} { // newRevertError creates a revertError instance with the provided revert data. func newRevertError(revert []byte) *revertError { - err := vm.ErrExecutionReverted - + var err error reason, errUnpack := abi.UnpackRevert(revert) if errUnpack == nil { err = fmt.Errorf("%w: %v", vm.ErrExecutionReverted, reason) + } else { + err = fmt.Errorf("%w: %v", vm.ErrExecutionReverted, hexutil.Encode(revert)) } return &revertError{ error: err,