|
|
@@ -765,10 +765,15 @@ func (api *PrivateDebugAPI) traceTx(ctx context.Context, message core.Message, v
|
|
|
// Depending on the tracer type, format and return the output
|
|
|
switch tracer := tracer.(type) {
|
|
|
case *vm.StructLogger:
|
|
|
+ // If the result contains a revert reason, return it.
|
|
|
+ returnVal := fmt.Sprintf("%x", result.Return())
|
|
|
+ if len(result.Revert()) > 0 {
|
|
|
+ returnVal = fmt.Sprintf("%x", result.Revert())
|
|
|
+ }
|
|
|
return ðapi.ExecutionResult{
|
|
|
Gas: result.UsedGas,
|
|
|
Failed: result.Failed(),
|
|
|
- ReturnValue: fmt.Sprintf("%x", result.Return()),
|
|
|
+ ReturnValue: returnVal,
|
|
|
StructLogs: ethapi.FormatLogs(tracer.StructLogs()),
|
|
|
}, nil
|
|
|
|