The contract currently prevents a user from claiming faucet tokens if the contract balance is less than or equal to the per-claim amount (faucetDrip):
This logic blocks claims even when there are enough tokens in the contract to fulfill exactly one claim.
Intended behavior: users should be able to claim tokens as long as the contract has at least faucetDrip tokens, without unnecessarily blocking claims.
Likelihood:
Triggered whenever the contract balance is equal to the per-claim faucet token amount.
Impact:
Users are prevented from claiming available tokens, potentially leaving small balances stranded in the contract.
Reduces usability and can frustrate users expecting to receive any available tokens.
In the following POC, the faucet total supply of tokens will be set through burn and mint fucntion to exactly faucetDrip, then a user will claim it but the claim will revert although there is enough tokens to fulfill this claim.
In this fix, the fucntion will revert only if the contract has less than faucetDrip otherwise the fucntion will go through.
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.