Selaa lähdekoodia

revertErr.reason

skyfffire 2 vuotta sitten
vanhempi
commit
6c336aee95
2 muutettua tiedostoa jossa 4 lisäystä ja 3 poistoa
  1. 2 1
      internal/ethapi/call_result.go
  2. 2 2
      internal/ethapi/public_eth2_api.go

+ 2 - 1
internal/ethapi/call_result.go

@@ -4,7 +4,8 @@ import "github.com/ethereum/go-ethereum/common/hexutil"
 
 // CallResult is the result of one call.
 type CallResult struct {
-	Return  hexutil.Bytes `json:"return"`
+	Return  hexutil.Bytes `json:"return,omitempty"`
 	Msg     string        `json:"message"`
 	Success bool          `json:"state"`
+	Data    string        `json:"data,omitempty"`
 }

+ 2 - 2
internal/ethapi/public_eth2_api.go

@@ -19,11 +19,11 @@ func NewEthereum2API(b Backend) *PublicEthereum2API {
 func (s *PublicEthereum2API) Call(ctx context.Context, args CallArgs, blockNrOrHash rpc.BlockNumberOrHash, overrides *StateOverride) (CallResult, error) {
 	result, err := DoCall(ctx, s.b, args, blockNrOrHash, overrides, vm.Config{}, 5*time.Second, s.b.RPCGasCap())
 	if err != nil {
-		return CallResult{Success: false, Msg: "a: " + err.Error()}, nil
+		return CallResult{Success: false, Msg: err.Error()}, err
 	} else {
 		if len(result.Revert()) > 0 {
 			revertErr := newRevertError(result)
-			return CallResult{Success: false, Return: result.Return(), Msg: "a2: " + revertErr.Error()}, nil
+			return CallResult{Success: false, Data: revertErr.reason, Msg: revertErr.Error()}, nil
 		}
 
 		return CallResult{Success: true, Return: result.Return()}, nil