Merge pull request #16068 from karalabe/import-known-rolledback-blocks

core: force import known but rolled back blocks
This commit is contained in:
Péter Szilágyi 2018-02-12 12:53:45 +02:00 committed by GitHub
commit 1d39912a9b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -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