In withdrawFees function
require(address(this).balance == uint256(totalFees), "PuppyRaffle: There are currently players active!");
here the contract balance might not be same as totalFees, because totalFees is calculated as follows.
uint256 prizePool = (totalAmountCollected * 80) / 100;
uint256 fee = (totalAmountCollected * 20) / 100;
totalFees = totalFees + uint64(fee); /*
Convertion of uint256 to uint64 might chop the data
Foundry
Git
Manual review
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.