The protocol defines daily limits for both Faucet token and ETH drips, which should reset every 24 hours.
However, the RaiseBoxFaucet::dailyClaimCount is reset exactly after 24 hours have passed, while the ETH drip counter RaiseBoxFaucet::dailyDrips is reset based on a strict “day change” condition.
This desynchronization causes inconsistent reset timing between the two.
Likelihood:
The issue can occur on any RaiseBoxFaucet::claimFaucetTokens call where only one of the limits is reset due to the timing mismatch.
Impact
Users may experience friction when one of the limits (Faucet or ETH) is reset while the other remains locked.
As a result, new users may be unable to perform the intended “happy path” action of claiming both Faucet tokens and ETH in a single call, reducing usability and creating confusion.
Add the following test to RaiseBoxFaucet.t.sol to reproduce the issue:
Unify the reset logic for both Faucet and ETH drips to use the same condition.
A recommended approach is to perform the reset at the beginning of claimFaucetTokens, based on whether 24 hours have passed since the last reset.
Using a 24-hour interval is preferable to an “exact day change,” as it ensures consistency and aligns with the RaiseBoxFaucet::CLAIM_COOLDOWN check.
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.