The prize amount is incorrect amount if there was at least one refund.
The prize amount is determined by the players.length * entranceFee. When a player calls refund their address gets replaced by the 0-address in the players array. The length does not reflect the amount of active players.
The raffle winner will be awarded extra eth for every refund that happened.
If the contract does not have enough eth, this can cause a D.O.S. On the other hand, if the contract has enough eth, the extra eth will come out of the totalFees.
Manual testing
Using a uint256 variable to keep track of the prize pool amount. This value would be updated on entering and on refunding a player.
Funds are locked to no one. If someone gets the refund issue, they also got this issue. IMPACT: High Likelihood: High
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.