The _update function in the RAACToken contract applies tax deductions incorrectly, leading to double deductions from users’ balances. This results in users losing more tokens than they should during transactions.
The _update function processes tax deductions in three separate steps:
First, it sends totalTax - burnAmount to the feeCollector.
Then, it sends burnAmount to address(0).
Finally, it sends amount - totalTax to the recipient.
This means users are losing an extra burnAmount tokens on every taxed transaction.
Example: If amount = 1000, swapTaxRate = 2%, and burnTaxRate = 1%:
Users lose an extra 10 tokens due to incorrect calculations.
Users lose more tokens than expected due to double deduction.
Manual Code Review
Ensures that the burned amount is actually removed from supply, rather than just sent to address(0).
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.