feat: expose raw error data

This commit is contained in:
Confucian 2024-10-23 14:27:13 +08:00
parent d8e8d7b6db
commit 3ef918538e

View file

@ -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,