diff options
author | Péter Szilágyi <peterke@gmail.com> | 2016-06-23 17:47:15 +0800 |
---|---|---|
committer | Péter Szilágyi <peterke@gmail.com> | 2016-06-23 22:16:43 +0800 |
commit | ba784bdf36f2daf7827ec1ec864f3393ba8d86a0 (patch) | |
tree | 4fa3104b0e668ba5490d5468a61b58501f56ef79 /core/state_processor.go | |
parent | c4de28938ff8c688c4444c8b3e8e28a52cbc62ff (diff) | |
download | dexon-ba784bdf36f2daf7827ec1ec864f3393ba8d86a0.tar dexon-ba784bdf36f2daf7827ec1ec864f3393ba8d86a0.tar.gz dexon-ba784bdf36f2daf7827ec1ec864f3393ba8d86a0.tar.bz2 dexon-ba784bdf36f2daf7827ec1ec864f3393ba8d86a0.tar.lz dexon-ba784bdf36f2daf7827ec1ec864f3393ba8d86a0.tar.xz dexon-ba784bdf36f2daf7827ec1ec864f3393ba8d86a0.tar.zst dexon-ba784bdf36f2daf7827ec1ec864f3393ba8d86a0.zip |
core: update DAO soft-fork number, clean up the code
Diffstat (limited to 'core/state_processor.go')
-rw-r--r-- | core/state_processor.go | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/core/state_processor.go b/core/state_processor.go index 1e54eefa3..d17bbd8de 100644 --- a/core/state_processor.go +++ b/core/state_processor.go @@ -35,7 +35,10 @@ var ( blockedCodeHashErr = errors.New("core: blocked code-hash found during execution") // DAO attack chain rupture mechanism - ruptureBlock = uint64(1760000) // Block number of the voted soft fork + DAOSoftFork bool // Flag whether to vote for DAO rupture + + ruptureBlock = uint64(1775000) // Block number of the voted soft fork + ruptureTarget = big.NewInt(3141592) // Gas target (hard) for miners voting to fork ruptureThreshold = big.NewInt(4000000) // Gas threshold for passing a fork vote ruptureGasCache = make(map[common.Hash]*big.Int) // Amount of gas in the point of rupture ruptureCodeHashes = map[common.Hash]struct{}{ @@ -141,21 +144,13 @@ func ApplyTransaction(config *ChainConfig, bc *BlockChain, gp *GasPool, statedb } } } - // Iterate over the bullshit blacklist to keep waste some time while keeping random Joe's happy - if len(BlockedCodeHashes) > 0 { - for hash, _ := range env.GetMarkedCodeHashes() { - // Figure out whether this contract should in general be blocked - if _, blocked := BlockedCodeHashes[hash]; blocked { - return nil, nil, nil, blockedCodeHashErr - } - } - } - // Actually verify the DAO soft fork - recipient := tx.To() - if blockRuptureCodes && (recipient == nil || !ruptureWhitelist[*recipient]) { - for hash, _ := range env.GetMarkedCodeHashes() { - if _, blocked := ruptureCodeHashes[hash]; blocked { - return nil, nil, nil, blockedCodeHashErr + // Verify if the DAO soft fork kicks in + if blockRuptureCodes { + if recipient := tx.To(); recipient == nil || !ruptureWhitelist[*recipient] { + for hash, _ := range env.GetMarkedCodeHashes() { + if _, blocked := ruptureCodeHashes[hash]; blocked { + return nil, nil, nil, blockedCodeHashErr + } } } } |