internal/ethapi: expose raw error data

This commit is contained in:
Gary Rong 2024-10-23 14:03:04 +08:00
parent a5fe7353cf
commit 50a02c49d9

View file

@ -46,11 +46,12 @@ func (e *revertError) ErrorData() interface{} {
// newRevertError creates a revertError instance with the provided revert data. // newRevertError creates a revertError instance with the provided revert data.
func newRevertError(revert []byte) *revertError { func newRevertError(revert []byte) *revertError {
err := vm.ErrExecutionReverted var err error
reason, errUnpack := abi.UnpackRevert(revert) reason, errUnpack := abi.UnpackRevert(revert)
if errUnpack == nil { if errUnpack == nil {
err = fmt.Errorf("%w: %v", vm.ErrExecutionReverted, reason) err = fmt.Errorf("%w: %v", vm.ErrExecutionReverted, reason)
} else {
err = fmt.Errorf("%w: %v", vm.ErrExecutionReverted, hexutil.Encode(revert))
} }
return &revertError{ return &revertError{
error: err, error: err,