RaiseBoxFaucet::claimFaucetTokens does not reset dailyClaimCount after the daily limit
The function should reset dailyClaimCount when 24 hours have passed (block.timestamp > lastFaucetDripDay + 1 days) so the faucet can accept new claims.
But the limit check (dailyClaimCount >= dailyClaimLimit) is done before the reset. When the counter reaches the limit, the function immediately reverts and the logic to reset dailyClaimCount never executes. From then on, no claim can ever succeed.
Likelihood: High
The faucet is designed to hit the limit every day, so the bug appears in normal use.
Any extra claim after the limit triggers the revert and prevents the reset from executing.
Impact: High
Once the limit is reached, the faucet is blocked indefinitely and no one can claim tokens.
Operations and onboarding are halted until a new version is deployed.
Leave dailyClaimLimit at its default value (100). 100 different accounts claim consecutively until the limit is reached.
Save the initial block.timestamp before starting to demonstrate the passing of a natural day.
When the 100th claim exhausts the limit, advance time to start + 1 days + 1.
Another account claims and sees it still reverts with RaiseBoxFaucet_DailyClaimLimitReached because the reset never executed.
Execute the reset before checking the limit or extract it to a reusable helper.
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.