RaiseBoxFaucet::burnFaucetTokens, all tokens have been transfer to owner and contract have not tokens to drip after owner call this function.Normal behavior:
This function should transfer amountToBurn tokens to the owner and burn exactly amountToBurn tokens from the owner's balance.
Actual issue:
It transfers the entire balanceOf(address(this)) tokens to the owner but burns only amountToBurn tokens from the owner's balance.
As a result, regardless of how many tokens the owner intends to burn, the contract's token balance becomes zero after this function is called.
Likelihood:
This will occur whenever the owner calls burnFaucetTokens to burn tokens.
Impact:
The faucet becomes empty, breaking its intended distribution mechanism.
Add the following to the test, and it will pass.
Replace the argument balanceOf(address(this)) in the _transfer call with amountToBurn.
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.