eth: returned revert reason in traceTx (#21195)

* eth: returned revert reason in traceTx

* eth: return result data
This commit is contained in:
Marius van der Wijden authored and GitHub committed 2020-06-26 12:19:31 +02:00
1 parent 413358abb9
commit 02cea2330d
1 file changed
+6 -1
+6 -1
View File
@@ -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 &ethapi.ExecutionResult{
Gas: result.UsedGas,
Failed: result.Failed(),
ReturnValue: fmt.Sprintf("%x", result.Return()),
ReturnValue: returnVal,
StructLogs: ethapi.FormatLogs(tracer.StructLogs()),
}, nil