diff options
author | Péter Szilágyi <peterke@gmail.com> | 2018-04-27 21:28:19 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-27 21:28:19 +0800 |
commit | 1da33028ce88c4365d99471977098f4911fd38fa (patch) | |
tree | c6c40618954b558f50d82aa4b9522e01365cec9c /eth | |
parent | cfe8f5fd948954ccedd975b6630e455a4e5653db (diff) | |
parent | 7a7428a027de03ad9e80e89a70818c692193e60a (diff) | |
download | dexon-1da33028ce88c4365d99471977098f4911fd38fa.tar dexon-1da33028ce88c4365d99471977098f4911fd38fa.tar.gz dexon-1da33028ce88c4365d99471977098f4911fd38fa.tar.bz2 dexon-1da33028ce88c4365d99471977098f4911fd38fa.tar.lz dexon-1da33028ce88c4365d99471977098f4911fd38fa.tar.xz dexon-1da33028ce88c4365d99471977098f4911fd38fa.tar.zst dexon-1da33028ce88c4365d99471977098f4911fd38fa.zip |
Merge pull request #16588 from karalabe/tracer-dirty-fix
core, eth: fix tracer dirty finalization
Diffstat (limited to 'eth')
-rw-r--r-- | eth/api_tracer.go | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/eth/api_tracer.go b/eth/api_tracer.go index 07c4457bc..80a3ab719 100644 --- a/eth/api_tracer.go +++ b/eth/api_tracer.go @@ -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) break } - task.statedb.DeleteSuicides() + task.statedb.Finalise(true) task.results[i] = &txTraceResult{Result: res} } // 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 { 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) } |