diff options
author | Péter Szilágyi <peterke@gmail.com> | 2016-06-24 18:09:36 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-24 18:09:36 +0800 |
commit | 848dec3da2dae77ef50ea229cf430ff0171766ed (patch) | |
tree | 06f7458835408f94116572d13d1bf0bf48b278f3 /core/execution.go | |
parent | ae0880997b7427d6f19fb8501b37f0168623f0c8 (diff) | |
parent | ba784bdf36f2daf7827ec1ec864f3393ba8d86a0 (diff) | |
download | dexon-848dec3da2dae77ef50ea229cf430ff0171766ed.tar dexon-848dec3da2dae77ef50ea229cf430ff0171766ed.tar.gz dexon-848dec3da2dae77ef50ea229cf430ff0171766ed.tar.bz2 dexon-848dec3da2dae77ef50ea229cf430ff0171766ed.tar.lz dexon-848dec3da2dae77ef50ea229cf430ff0171766ed.tar.xz dexon-848dec3da2dae77ef50ea229cf430ff0171766ed.tar.zst dexon-848dec3da2dae77ef50ea229cf430ff0171766ed.zip |
Merge pull request #2725 from karalabe/obscuren-softfork-dao-2
DAO soft-fork
Diffstat (limited to 'core/execution.go')
-rw-r--r-- | core/execution.go | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/core/execution.go b/core/execution.go index 82143443c..d2008bc3e 100644 --- a/core/execution.go +++ b/core/execution.go @@ -84,7 +84,10 @@ func exec(env vm.Environment, caller vm.ContractRef, address, codeAddr *common.A address = &addr createAccount = true } - + // Mark all contracts doing outbound value transfers to allow DAO filtering. + if value.Cmp(common.Big0) > 0 { + env.MarkCodeHash(env.Db().GetCodeHash(caller.Address())) + } snapshotPreTransfer := env.MakeSnapshot() var ( from = env.Db().GetAccount(caller.Address()) @@ -143,7 +146,10 @@ func execDelegateCall(env vm.Environment, caller vm.ContractRef, originAddr, toA caller.ReturnGas(gas, gasPrice) return nil, common.Address{}, vm.DepthError } - + // Mark all contracts doing outbound value transfers to allow DAO filtering. + if value.Cmp(common.Big0) > 0 { + env.MarkCodeHash(env.Db().GetCodeHash(caller.Address())) + } snapshot := env.MakeSnapshot() var to vm.Account |