|
|
@ -201,7 +201,7 @@ func (api *PrivateDebugAPI) traceChain(ctx context.Context, start, end *types.Bl |
|
|
|
log.Warn("Tracing failed", "hash", tx.Hash(), "block", task.block.NumberU64(), "err", err) |
|
|
|
log.Warn("Tracing failed", "hash", tx.Hash(), "block", task.block.NumberU64(), "err", err) |
|
|
|
break |
|
|
|
break |
|
|
|
} |
|
|
|
} |
|
|
|
task.statedb.DeleteSuicides() |
|
|
|
task.statedb.Finalise(true) |
|
|
|
task.results[i] = &txTraceResult{Result: res} |
|
|
|
task.results[i] = &txTraceResult{Result: res} |
|
|
|
} |
|
|
|
} |
|
|
|
// Stream the result back to the user or abort on teardown
|
|
|
|
// Stream the result back to the user or abort on teardown
|
|
|
@ -640,7 +640,8 @@ func (api *PrivateDebugAPI) computeTxEnv(blockHash common.Hash, txIndex int, ree |
|
|
|
if _, _, _, err := core.ApplyMessage(vmenv, msg, new(core.GasPool).AddGas(tx.Gas())); err != nil { |
|
|
|
if _, _, _, err := core.ApplyMessage(vmenv, msg, new(core.GasPool).AddGas(tx.Gas())); err != nil { |
|
|
|
return nil, vm.Context{}, nil, fmt.Errorf("tx %x failed: %v", tx.Hash(), err) |
|
|
|
return nil, vm.Context{}, nil, fmt.Errorf("tx %x failed: %v", tx.Hash(), err) |
|
|
|
} |
|
|
|
} |
|
|
|
statedb.DeleteSuicides() |
|
|
|
// Ensure any modifications are committed to the state
|
|
|
|
|
|
|
|
statedb.Finalise(true) |
|
|
|
} |
|
|
|
} |
|
|
|
return nil, vm.Context{}, nil, fmt.Errorf("tx index %d out of range for block %x", txIndex, blockHash) |
|
|
|
return nil, vm.Context{}, nil, fmt.Errorf("tx index %d out of range for block %x", txIndex, blockHash) |
|
|
|
} |
|
|
|
} |
|
|
|