The contract should have a consistent mechanism for resetting daily counters to ensure predictable behavior at UTC midnight or 24-hour intervals.
The contract uses two different daily reset mechanisms: one based on day numbers (block.timestamp / 24 hours) for ETH drips and another based on time elapsed (block.timestamp > lastFaucetDripDay + 1 days) for token claims, causing the counters to reset at different times and creating inconsistent behavior.
Likelihood:
This inconsistency manifests on every single day of operation
The two counters will almost never reset at the same time
Creates unpredictable behavior that occurs continuously
Impact:
Users and operators cannot predict when limits reset
Daily ETH cap and daily claim limit reset at different times, causing confusion
Potential for gaming the system by exploiting the timing differences
Monitoring and debugging becomes difficult
Documentation cannot accurately describe reset behavior
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.