aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2018-02-12 18:53:45 +0800
committerGitHub <noreply@github.com>2018-02-12 18:53:45 +0800
commit1d39912a9b9ec710460c82c403cc8f72ab7d30d9 (patch)
treed529718305733e9e69b152ccfbd456cc78a69f24
parent52ad848b2ef5f4c03156f18898e57f303636f52b (diff)
parent69c1f2c2a760fcb1c4229bff06719c73aa8cce31 (diff)
downloaddexon-1d39912a9b9ec710460c82c403cc8f72ab7d30d9.tar
dexon-1d39912a9b9ec710460c82c403cc8f72ab7d30d9.tar.gz
dexon-1d39912a9b9ec710460c82c403cc8f72ab7d30d9.tar.bz2
dexon-1d39912a9b9ec710460c82c403cc8f72ab7d30d9.tar.lz
dexon-1d39912a9b9ec710460c82c403cc8f72ab7d30d9.tar.xz
dexon-1d39912a9b9ec710460c82c403cc8f72ab7d30d9.tar.zst
dexon-1d39912a9b9ec710460c82c403cc8f72ab7d30d9.zip
Merge pull request #16068 from karalabe/import-known-rolledback-blocks
core: force import known but rolled back blocks
-rw-r--r--core/blockchain.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/core/blockchain.go b/core/blockchain.go
index 8d141fddb..e498dedef 100644
--- a/core/blockchain.go
+++ b/core/blockchain.go
@@ -1070,8 +1070,12 @@ func (bc *BlockChain) insertChain(chain types.Blocks) (int, []interface{}, []*ty
}
switch {
case err == ErrKnownBlock:
- stats.ignored++
- continue
+ // Block and state both already known. However if the current block is below
+ // this number we did a rollback and we should reimport it nonetheless.
+ if bc.CurrentBlock().NumberU64() >= block.NumberU64() {
+ stats.ignored++
+ continue
+ }
case err == consensus.ErrFutureBlock:
// Allow up to MaxFuture second in the future blocks. If this limit is exceeded