add defer: snapshot.dispose()

This commit is contained in:
andri lim 2019-03-12 08:07:29 +07:00 committed by zah
parent 4549331f4b
commit 5f1879c709
1 changed files with 8 additions and 0 deletions

View File

@ -12,6 +12,12 @@ proc processTransaction*(tx: Transaction, sender: EthAddress, vmState: BaseVMSta
trace "Sender", sender
trace "txHash", rlpHash = tx.rlpHash
# TODO: we have identical `fork` code in setupComputation.
# at later stage, we need to get rid of it
# and apply changes in eth_*, debug_* RPC,
# macro assembler and premix tool set.
# at every place where setupComputation and
# processTransaction are used.
let fork =
if forkOverride.isSome:
forkOverride.get
@ -28,6 +34,8 @@ proc processTransaction*(tx: Transaction, sender: EthAddress, vmState: BaseVMSta
db.subBalance(sender, upfrontGasCost)
var snapshot = vmState.snapshot()
defer: snapshot.dispose()
var computation = setupComputation(vmState, tx, sender, forkOverride)
var contractOK = true
result = tx.gasLimit