On the constructor, there is no check to prevent duplicate voter addresses, the total voter
length is dependent on the voter array length this might lead to a situation, where the total number of voters is less than the allowed voters, a situation could occur when the number of allowed voters is less than 51% of total voters, which means the proposal will never pass the minimum voting threshold and funds being permanently trapped.
The proposal maybe doomed to fail from the start and funds might be permanently locked in the contract
Alice deployed the contract with five addresses as voters, but all the addresses were the same,
the smart contract records that the total number of allowed voters is 5, so it is expecting 3 people to vote in order to share the reward.
But the way the contract was built it's one address per vote, so this address can only vote once, so this proposal was doomed from the start.
Foundry and Manual Analysis
Add a check to prevent duplicate addresses on the constructor
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.