When the RaiseBoxFaucet::dailyClaimLimit is reached, the RaiseBoxFaucet::dailyClaimCount should reset after one day has passed, allowing users to claim again.
Currently, the reset of dailyClaimCount is performed only when the dailyClaimLimit has not been reached and 24 hours have passed since the last update of lastFaucetDripDay. This logic prevents the count from ever resetting once the limit is reached, effectively blocking further claims indefinitely.
Likelihood:
The issue occurs the first time the dailyClaimLimit is reached.
Impact:
The protocol fails to reset the dailyClaimCount, permanently halting all future claims. This makes the faucet non-operational and prevents users from claiming tokens as intended.
Add the following test to RaiseBoxFaucet.t.sol to reproduce the issue:
Under RaiseBoxFaucet::claimFaucetTokens move the reset functionality to occur before checking whether the limit has been reached. It is good idea to reset Faucet and ETH all together in order to be consistent. This ensures the reset happens correctly after the 24-hour period, regardless of the previous day’s claim activity.
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.