Accounting issue.
PuppyRaffle.refund() does not reduce the length of players array after refunding.
Since the players length remains same and entry fee is also refunded, when selectWinner
is called, it calculates uint256 totalAmountCollected = players.length * entranceFee
But, the ether in contract wont be enough because we already refunded to the player before.
severity : high
likelihood : high
manual verification
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.