The mintFaucetTokens function contains inverted logic that prevents minting when balance is GREATER than 1000 tokens, making the function unusable just the after deployment, if balance is not reduced.
The expected behavior is that owner should be able to mint tokens to replenish supply whenever needed.
The bug on lines 113-115 reverts when balance is HIGH, preventing normal operations.
Likelihood:
The owner will attempt to mint tokens proactively when the contract still has a healthy balance above 1000 tokens to ensure continuous faucet operation
After initial deployment with 1 billion tokens, the function is immediately blocked and remains unusable until balance drops below 1000 tokens
Impact:
Owner cannot maintain proactive supply management, being forced to wait until the faucet is nearly depleted (< 1000 tokens) before replenishing
Poor user experience as the faucet may run completely dry during the waiting period, leaving users unable to claim tokens
This test demonstrates how the backwards logic prevents the owner from minting tokens when the contract has a healthy balance. The contract is deployed with the standard initial supply, and the owner immediately tries to mint additional tokens for future needs, but the transaction reverts due to the illogical balance check.
Remove the illogical check to allow flexible minting. The check serves no purpose and blocks normal operations. Removing it allows the owner to manage supply proactively.
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.