The burnFaucetTokens function is designed to burn tokens from the contract's supply. To do this, it first transfers the entire contract balance to the owner (msg.sender) and then calls _burn on the owner's balance. If the owner already holds tokens from a previous claim or transfer, these tokens are now co-mingled with the contract's supply. The subsequent _burn call will burn from this combined total, potentially destroying the owner's personal token balance.
Likelihood:
This occurs when the owner calls burnFaucetTokens.
The owner's account already has a non-zero balance of the faucet token before the call.
Impact:
The owner can accidentally and irreversibly destroy their own personal token holdings.
The function does not behave as expected, failing to isolate the tokens being burned from the owner's personal assets.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
View preliminary resultsAppeals are being carefully reviewed by our judges.
The contest is complete and the rewards are being distributed.