aboutsummaryrefslogtreecommitdiffstats
path: root/core/state_processor.go
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2016-06-23 17:47:15 +0800
committerPéter Szilágyi <peterke@gmail.com>2016-06-23 22:16:43 +0800
commitba784bdf36f2daf7827ec1ec864f3393ba8d86a0 (patch)
tree4fa3104b0e668ba5490d5468a61b58501f56ef79 /core/state_processor.go
parentc4de28938ff8c688c4444c8b3e8e28a52cbc62ff (diff)
downloadgo-tangerine-ba784bdf36f2daf7827ec1ec864f3393ba8d86a0.tar.gz
go-tangerine-ba784bdf36f2daf7827ec1ec864f3393ba8d86a0.tar.zst
go-tangerine-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.go27
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
+ }
}
}
}