diff options
author | Jimmy Hu <jimmy.hu@dexon.org> | 2019-01-18 11:39:14 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-18 11:39:14 +0800 |
commit | 9ff8f0cdc45a7b294ae71a28e7e205bb67e559cb (patch) | |
tree | 26fa5ba54878b52dc6c8bb610428cdb8b84baba7 /core/utils.go | |
parent | c5b303f4d143631fb565d4ec8ff3bcc609a4ffd3 (diff) | |
download | tangerine-consensus-9ff8f0cdc45a7b294ae71a28e7e205bb67e559cb.tar.gz tangerine-consensus-9ff8f0cdc45a7b294ae71a28e7e205bb67e559cb.tar.zst tangerine-consensus-9ff8f0cdc45a7b294ae71a28e7e205bb67e559cb.zip |
core: Fix stuffs (#422)
* core: reduce syncing ba msg
* core: fix checking period of agreement result
Diffstat (limited to 'core/utils.go')
-rw-r--r-- | core/utils.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/core/utils.go b/core/utils.go index 3b1069e..8579e6e 100644 --- a/core/utils.go +++ b/core/utils.go @@ -32,6 +32,20 @@ import ( "github.com/dexon-foundation/dexon-consensus/core/utils" ) +// Errors for utils. +var ( + ErrIncorrectVoteBlockHash = fmt.Errorf( + "incorrect vote block hash") + ErrIncorrectVoteType = fmt.Errorf( + "incorrect vote type") + ErrIncorrectVotePosition = fmt.Errorf( + "incorrect vote position") + ErrIncorrectVoteProposer = fmt.Errorf( + "incorrect vote proposer") + ErrIncorrectVotePeriod = fmt.Errorf( + "incorrect vote period") +) + // NodeSetCache is type alias to avoid fullnode compile error when moving // it to core/utils package. type NodeSetCache = utils.NodeSetCache @@ -161,10 +175,14 @@ func VerifyAgreementResult( } voted := make(map[types.NodeID]struct{}, len(notarySet)) voteType := res.Votes[0].Type + votePeriod := res.Votes[0].Period if voteType != types.VoteFast && voteType != types.VoteCom { return ErrIncorrectVoteType } for _, vote := range res.Votes { + if vote.Period != votePeriod { + return ErrIncorrectVotePeriod + } if res.IsEmptyBlock { if (vote.BlockHash != common.Hash{}) { return ErrIncorrectVoteBlockHash |