The contract should allow users to claim tokens as long as the contract balance is sufficient to fulfill the claim (balance >= faucetDrip).
The balance check uses <= instead of <, which incorrectly reverts when the contract balance exactly equals faucetDrip, preventing the last valid claim even though sufficient tokens are available.
Likelihood:
This occurs when the contract has exactly faucetDrip amount of tokens remaining
Happens naturally as the contract approaches depletion
Will occur at least once in the contract's lifetime when approaching empty state
Impact:
One claim's worth of tokens becomes permanently locked in the contract
Users are denied access to tokens that should be claimable
Contradicts the error name "InsufficientContractBalance" when balance is actually sufficient
Reduces total tokens distributed by one full claim amount (e.g., 1000 tokens)
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.