Merge pull request #17620 from karalabe/clique-epoch-fix

consensus/clique: only trust snapshot for genesis or les checkpoint
This commit is contained in:
Péter Szilágyi 2018-09-10 16:21:21 +03:00 committed by GitHub
commit 10bac36647
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -388,7 +388,7 @@ func (c *Clique) snapshot(chain consensus.ChainReader, number uint64, hash commo
} }
} }
// If we're at an checkpoint block, make a snapshot if it's known // If we're at an checkpoint block, make a snapshot if it's known
if number%c.config.Epoch == 0 { if number == 0 || (number%c.config.Epoch == 0 && chain.GetHeaderByNumber(number-1) == nil) {
checkpoint := chain.GetHeaderByNumber(number) checkpoint := chain.GetHeaderByNumber(number)
if checkpoint != nil { if checkpoint != nil {
hash := checkpoint.Hash() hash := checkpoint.Hash()