diff options
author | Péter Szilágyi <peterke@gmail.com> | 2017-06-21 22:58:15 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-21 22:58:15 +0800 |
commit | 58a1e13e6dd7f52a1d5e67bee47d23fd6cfdee5c (patch) | |
tree | 790c2b877a3ef41cfeb37413553699c117f8bfa6 | |
parent | a1f3878ec50c8d9ce410d9715fa4c7ee998a3639 (diff) | |
parent | 5c53a5be662014080ecf61e218d078625f182af6 (diff) | |
download | go-tangerine-58a1e13e6dd7f52a1d5e67bee47d23fd6cfdee5c.tar go-tangerine-58a1e13e6dd7f52a1d5e67bee47d23fd6cfdee5c.tar.gz go-tangerine-58a1e13e6dd7f52a1d5e67bee47d23fd6cfdee5c.tar.bz2 go-tangerine-58a1e13e6dd7f52a1d5e67bee47d23fd6cfdee5c.tar.lz go-tangerine-58a1e13e6dd7f52a1d5e67bee47d23fd6cfdee5c.tar.xz go-tangerine-58a1e13e6dd7f52a1d5e67bee47d23fd6cfdee5c.tar.zst go-tangerine-58a1e13e6dd7f52a1d5e67bee47d23fd6cfdee5c.zip |
Merge pull request #14657 from markya0616/refactor_clique
consensus/clique: fix typo and don't need to add snapshot into recents again
-rw-r--r-- | consensus/clique/clique.go | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/consensus/clique/clique.go b/consensus/clique/clique.go index 5a50b2eb4..b9a3fe244 100644 --- a/consensus/clique/clique.go +++ b/consensus/clique/clique.go @@ -99,10 +99,10 @@ var ( // their extra-data fields. errExtraSigners = errors.New("non-checkpoint block contains extra signer list") - // drrInvalidCheckpointSigners is returned if a checkpoint block contains an + // errInvalidCheckpointSigners is returned if a checkpoint block contains an // invalid list of signers (i.e. non divisible by 20 bytes, or not the correct // ones). - drrInvalidCheckpointSigners = errors.New("invalid signer list on checkpoint block") + errInvalidCheckpointSigners = errors.New("invalid signer list on checkpoint block") // errInvalidMixDigest is returned if a block's mix digest is non-zero. errInvalidMixDigest = errors.New("non-zero mix digest") @@ -297,7 +297,7 @@ func (c *Clique) verifyHeader(chain consensus.ChainReader, header *types.Header, return errExtraSigners } if checkpoint && signersBytes%common.AddressLength != 0 { - return drrInvalidCheckpointSigners + return errInvalidCheckpointSigners } // Ensure that the mix digest is zero as we don't have fork protection currently if header.MixDigest != (common.Hash{}) { @@ -353,7 +353,7 @@ func (c *Clique) verifyCascadingFields(chain consensus.ChainReader, header *type } extraSuffix := len(header.Extra) - extraSeal if !bytes.Equal(header.Extra[extraVanity:extraSuffix], signers) { - return drrInvalidCheckpointSigners + return errInvalidCheckpointSigners } } // All basic checks passed, verify the seal and return @@ -467,7 +467,6 @@ func (c *Clique) verifySeal(chain consensus.ChainReader, header *types.Header, p if err != nil { return err } - c.recents.Add(snap.Hash, snap) // Resolve the authorization key and check against signers signer, err := ecrecover(header, c.signatures) @@ -479,13 +478,13 @@ func (c *Clique) verifySeal(chain consensus.ChainReader, header *types.Header, p } for seen, recent := range snap.Recents { if recent == signer { - // Signer is among recents, only fail if the current block doens't shift it out + // Signer is among recents, only fail if the current block doesn't shift it out if limit := uint64(len(snap.Signers)/2 + 1); seen > number-limit { return errUnauthorized } } } - // Ensure that the difficulty corresponts to the turn-ness of the signer + // Ensure that the difficulty corresponds to the turn-ness of the signer inturn := snap.inturn(header.Number.Uint64(), signer) if inturn && header.Difficulty.Cmp(diffInTurn) != 0 { return errInvalidDifficulty @@ -604,7 +603,7 @@ func (c *Clique) Seal(chain consensus.ChainReader, block *types.Block, stop <-ch // If we're amongst the recent signers, wait for the next block for seen, recent := range snap.Recents { if recent == signer { - // Signer is among recents, only wait if the current block doens't shift it out + // Signer is among recents, only wait if the current block doesn't shift it out if limit := uint64(len(snap.Signers)/2 + 1); number < limit || seen > number-limit { log.Info("Signed recently, must wait for others") <-stop |