Expected behavior:
Daily claim limits should reset every 24 hours consistently.
Actual behavior:
The reset logic relies on block.timestamp comparisons that can drift.
Likelihood:
timestamp variance is common.
Impact:
Users can claim multiple times if timestamp drifts forward slightly.
Others may be delayed by more than 24 hours.
The following Solidity contract simulates two rapid claims from the same address in different blocks that trigger a reset improperly — even though they occur within a real-world 24-hour window.
block.timestamp / 1 days gives you the number of full days since the Unix epoch, which increases only once every 24 hours.
Comparing day counters (currentDay > lastFaucetDripDay) ensures daily resets happen strictly once per day, regardless of slight timestamp drift.
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.