Description: The VotingBooth::vote
function closes the voting immediately after reaching 51% of voters, which does not give to some legitimate voters any chance to vote.
It violates the voters' equal rights principle. After the MIN_QUORUM
is reached, the allowed voter who has not voted yet will receive an error: DP: voting has been completed on this proposal
instead of successful voting, on which the voter has every right. It prevents the legitimate voter to receive rewarding.
For example, if there 3 voters, and each of them want to vote "for", the last one will not be able to vote, and thus will not receive the reward. The outcome is not appropriate to what all voters want, which destroys democracy and justice.
Impact: Voting will be closed before accounting all legitimate voters' vote
Proof of Concept:
There are no possibility to vote by every legitimate voter. The voting will be closed immediately after reaching MIN_QUORUM
.
Place the following into VotingBoothTest.t.sol
Recommended Mitigation: Remove the automatic voting closing after the MIN_QUORUM
has been reached. Add manual voting closure by anyone or a trusted creator after the specific publicly known deadline. Thus every voter's vote will matter.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.