s_totalAllowedVoters stored is less by one than the real number of total allowed voters in allowList update storage of total voters only once
In the VotingBooth::constructor() the local variable totalVoters is assigned to the storage variable s_totalAllowedVoters of the total number of allowed voters. However, in the for loop, just before the assignment, totalVoters goes from 0 to allowListLength - 1.
This means that, at the end of the for loop, the value of totalVoters is allowListLength - 1 and therefore the value of s_totalAllowedVoters as well after the assignment.
Voting could be considered completed when it isn't, and rewards distributed when the vote should be continuing.
Manual review
Change solidity s_totalAllowedVoters = totalVoters; to solidity s_totalAllowedVoters = allowListLength;.
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.