DailyClaimCount not reset properly blocking permanently the protocol when DailyClaimLimit is reachedEach time someone claims a drip, the DailyClaimCount is incremented at the end of the function claimFaucetTokens.
Also at the end of claimFaucetTokens, the DailyClaimCount is reset when a new day arises.
And if the DailyClaimCount reached DailyClaimLimit, the condition at the start of the function will block any new user until the next day.
The problem here is that the condition for DailyClaimCount's reset is after the condition to block new users if DailyClaimLimit is reached.
If the DailyClaimLimit is reached before the end of the day, the protocol is blocked by the dailyClaimCount >= dailyClaimLimit condition and the function is permanently blocked for every user.
Likelyhood(High) : A free drip will attract a lot of users every day; 100 users possible for a single day.
Impact(High) : The claimFaucetTokens is permanently blocked, causing the core functionality of the protocol to stop.
Add this test to RaiseBoxFaucet.t.sol :
Change the position of the DailyClaimCount's reset, it should be before the dailyClaimCount >= dailyClaimLimit condition.
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.