|
|
@@ -52,6 +52,11 @@ func (s *PublicBlockChainAPI) NewCall(ctx context.Context, args CallArgs, blockN
|
|
|
if err != nil {
|
|
|
return CallResult{Success: false, Msg: err.Error()}, nil
|
|
|
} else {
|
|
|
+ if len(result.Revert()) > 0 {
|
|
|
+ revertErr := newRevertError(result)
|
|
|
+ return CallResult{Success: false, Msg: revertErr.Error()}, nil
|
|
|
+ }
|
|
|
+
|
|
|
return CallResult{Success: true, Return: result.Return()}, nil
|
|
|
}
|
|
|
}
|
|
|
@@ -125,11 +130,16 @@ func (s *PublicBlockChainAPI) BatchCall(ctx context.Context, config BatchCallCon
|
|
|
if call.BlockOverrides != nil {
|
|
|
call.BlockOverrides.Apply(&blockContext)
|
|
|
}
|
|
|
- result, err := doCall(ctx, s.b, call.CallArgs, state, header, timeout, gp, &blockContext)
|
|
|
- if err != nil {
|
|
|
- results = append(results, CallResult{Success: false, Msg: err.Error()})
|
|
|
+ result, doCallErr := doCall(ctx, s.b, call.CallArgs, state, header, timeout, gp, &blockContext)
|
|
|
+ if doCallErr != nil {
|
|
|
+ results = append(results, CallResult{Success: false, Msg: doCallErr.Error()})
|
|
|
} else {
|
|
|
- results = append(results, CallResult{Success: true, Return: result.Return()})
|
|
|
+ if len(result.Revert()) > 0 {
|
|
|
+ revertErr := newRevertError(result)
|
|
|
+ results = append(results, CallResult{Success: false, Msg: revertErr.Error()})
|
|
|
+ } else {
|
|
|
+ results = append(results, CallResult{Success: true, Return: result.Return()})
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
return results, nil
|