The function "burnFaucetTokens" is implemented with a major flaw: once the function is trigged, ALL balance of the token contract is transferred to the owner, leaving the token contract itself with 0 tokens, preventing all users from further claiming any faucet drips.
Then the intended amount of token is burned with the rest stored in the owner's address. In this process the owner essentially obtains some tokens, violating the owner's limitation "cannot claim faucet tokens"
Likelihood:
This will happen every time the owner decides to burn tokens
Impact: High
This would deplete the token supply on the contract's side, rendering the faucet unusable for further user claims.
The only solution is to mint additonal tokens but this will inflate the total token supply since the unburned tokens are just sitting in the owner's address without doing anything.
1. Owner decides to burn some amount of tokens by calling the function "burnFaucetTokens"
2. The function ends up draining all tokens from the contract, transferring them to the owner;
3. New users will not be able to claim any tokens by calling function "claimFaucetTokens"
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.