When the feeCollector is set to the zero address, the RAACToken:: burn function fails to process the burn tax properly, resulting in the tax amount remaining in the user’s account instead of being burned.
RAACToken:: burn
When feeCollector = address(0), the taxAmount is neither transferred nor burned.
The actual amount burned is amount - taxAmount, and the taxAmount remains in the user's balance instead of being deducted.
If a user calls burn(1000):
taxAmount = 1000 * 0.5% = 5 RAAC
User's balance change: 995 RAAC burned, but 5 RAAC remains in the user's balance instead of being deducted.
Manual
Modify the burn function to ensure that the tax amount is burned when feeCollector is disabled:
This ensures that the burn tax is always processed correctly, either by transferring it to feeCollector or burning it directly if feeCollector is disabled.
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.