aboutsummaryrefslogtreecommitdiffstats
path: root/core/execution.go
diff options
context:
space:
mode:
authorJeffrey Wilcke <jeffrey@ethereum.org>2016-10-06 22:14:22 +0800
committerGitHub <noreply@github.com>2016-10-06 22:14:22 +0800
commit7335a70a020517cc9cebe7ae82c0e49ba133abf1 (patch)
treecc63625fa07bf3fb28326a01d5c8255a83a83bd1 /core/execution.go
parent07caa3fccdfe11bbee084c043ac11e7cfae9a6b7 (diff)
parent3c836dd71b192de24774b1848173a4eb0ca9a63b (diff)
downloaddexon-7335a70a020517cc9cebe7ae82c0e49ba133abf1.tar
dexon-7335a70a020517cc9cebe7ae82c0e49ba133abf1.tar.gz
dexon-7335a70a020517cc9cebe7ae82c0e49ba133abf1.tar.bz2
dexon-7335a70a020517cc9cebe7ae82c0e49ba133abf1.tar.lz
dexon-7335a70a020517cc9cebe7ae82c0e49ba133abf1.tar.xz
dexon-7335a70a020517cc9cebe7ae82c0e49ba133abf1.tar.zst
dexon-7335a70a020517cc9cebe7ae82c0e49ba133abf1.zip
Merge pull request #3092 from fjl/state-journal
core/state: implement reverts by journaling all changes
Diffstat (limited to 'core/execution.go')
-rw-r--r--core/execution.go8
1 files changed, 4 insertions, 4 deletions
diff --git a/core/execution.go b/core/execution.go
index 1bc02f7fb..1cb507ee7 100644
--- a/core/execution.go
+++ b/core/execution.go
@@ -85,7 +85,7 @@ func exec(env vm.Environment, caller vm.ContractRef, address, codeAddr *common.A
createAccount = true
}
- snapshotPreTransfer := env.MakeSnapshot()
+ snapshotPreTransfer := env.SnapshotDatabase()
var (
from = env.Db().GetAccount(caller.Address())
to vm.Account
@@ -129,7 +129,7 @@ func exec(env vm.Environment, caller vm.ContractRef, address, codeAddr *common.A
if err != nil && (env.RuleSet().IsHomestead(env.BlockNumber()) || err != vm.CodeStoreOutOfGasError) {
contract.UseGas(contract.Gas)
- env.SetSnapshot(snapshotPreTransfer)
+ env.RevertToSnapshot(snapshotPreTransfer)
}
return ret, addr, err
@@ -144,7 +144,7 @@ func execDelegateCall(env vm.Environment, caller vm.ContractRef, originAddr, toA
return nil, common.Address{}, vm.DepthError
}
- snapshot := env.MakeSnapshot()
+ snapshot := env.SnapshotDatabase()
var to vm.Account
if !env.Db().Exist(*toAddr) {
@@ -162,7 +162,7 @@ func execDelegateCall(env vm.Environment, caller vm.ContractRef, originAddr, toA
if err != nil {
contract.UseGas(contract.Gas)
- env.SetSnapshot(snapshot)
+ env.RevertToSnapshot(snapshot)
}
return ret, addr, err