DeployRaiseBoxFaucet currently deploys RaiseBoxFaucet such that 1000 tokens will be dripped to each user that successfully calls claimFaucetTokens. In mintFaucetTokens, the function only allows the owner to mint new tokens if the contract holds less than 1000 tokens.
Therefore, if the RaiseBoxFaucet contract is deployed such that more than 1000 tokens will be dripped to each user, the contract could hold less than the drip amount while still holding above the 1000 token threshold that prevents the owner from minting more tokens.
Likelihood:
This will happen only when RaiseBoxFaucet is deployed and faucetDrip is set to a value that satisfies the following equation:
INITIAL_SUPPLY % faucetDrip > 1000e18
Therefore, since the INITIAL_SUPPLY is set as 1000000000e18, a faucetDrip value of 1900e18 would prevent the owner from minting more tokens.
Impact:
This will temperarily prevent the owner from minting more tokens. The owner can use burnFaucetTokens to burn tokens so the supply is below the 1000 token threshold, allowing the owner to then mint more faucet tokens.
This test shows that the faucet is in a situation where a user cannot claim tokens because the contract does not have the balance, yet the owner is not able to mint new faucet tokens.
Either allow minting new tokens to the contract regardless of the token balance in the contract, or compare the contract token balance to faucetDrip instead.
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.