core: force import known but rolled back blocks

This commit is contained in:
Péter Szilágyi 2018-02-12 11:54:14 +02:00
parent 52ad848b2e
commit 69c1f2c2a7
No known key found for this signature in database
GPG Key ID: E9AE538CEDF8293D
1 changed files with 6 additions and 2 deletions

View File

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