Made not to update vote set if +2/3 for a block is made.
If a vote set has +2/3 for a block, a vote for the block shall not be
altered.
@@ -21,6 +21,10 @@ func (vs *voteSet) add(index int, v *voteMessage) bool {
if omsg.vote.Equal(&v.vote) {
return false
}
+ psid, ok := vs.getOverTwoThirdsPartSetID()
+ if ok && psid != nil && psid.Equal(v.BlockPartSetID) {
+ return false
+ }
for i, c := range vs.counters {
if c.partsID.Equal(omsg.BlockPartSetID) {
vs.counters[i].count--
