aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2016-07-09 01:59:11 +0800
committerPéter Szilágyi <peterke@gmail.com>2016-07-16 19:30:00 +0800
commit8c20fe17bdd78a15226a3df589e8f89b48726b6e (patch)
tree856ba82afe67ad0c0405c54c3b940f64ee174c26 /core
parenta0cc73a27acf0d8326b3eec0bb27132a8ba9eab4 (diff)
downloadgo-tangerine-8c20fe17bdd78a15226a3df589e8f89b48726b6e.tar
go-tangerine-8c20fe17bdd78a15226a3df589e8f89b48726b6e.tar.gz
go-tangerine-8c20fe17bdd78a15226a3df589e8f89b48726b6e.tar.bz2
go-tangerine-8c20fe17bdd78a15226a3df589e8f89b48726b6e.tar.lz
go-tangerine-8c20fe17bdd78a15226a3df589e8f89b48726b6e.tar.xz
go-tangerine-8c20fe17bdd78a15226a3df589e8f89b48726b6e.tar.zst
go-tangerine-8c20fe17bdd78a15226a3df589e8f89b48726b6e.zip
[release/1.4.10] core, eth: enforce network split post DAO hard-fork
(cherry picked from commit 7f00e8c0331bf13739e749bab88bf9006ca02f96)
Diffstat (limited to 'core')
-rw-r--r--core/block_validator.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/core/block_validator.go b/core/block_validator.go
index ea5326323..6b19edfe8 100644
--- a/core/block_validator.go
+++ b/core/block_validator.go
@@ -248,6 +248,13 @@ func ValidateHeader(config *ChainConfig, pow pow.PoW, header *types.Header, pare
return &BlockNonceErr{header.Number, header.Hash(), header.Nonce.Uint64()}
}
}
+ // If all checks passed, validate the extra-data field for hard forks
+ return ValidateHeaderExtraData(config, header)
+}
+
+// ValidateHeaderExtraData validates the extra-data field of a block header to
+// ensure it conforms to hard-fork rules.
+func ValidateHeaderExtraData(config *ChainConfig, header *types.Header) error {
// DAO hard-fork extension to the header validity: a) if the node is no-fork,
// do not accept blocks in the [fork, fork+10) range with the fork specific
// extra-data set; b) if the node is pro-fork, require blocks in the specific