The burn
function in the RAACToken
contract applies a burnTaxRate
to the burned amount, diverting the tax portion to the FeeCollector
instead of burning it, while only burning the net amount (amount - taxAmount
). This deviates from standard ERC20 burn behavior, where the entire amount is typically removed from circulation without generating fees. This unusual design may confuse users expecting full supply reduction.
The vulnerability lies in the burn
function of the RAACToken
contract:
https://github.com/Cyfrin/2025-02-raac/blob/89ccb062e2b175374d40d824263a4c0b601bcb7f/contracts/core/tokens/RAACToken.sol#L80-L86
User Confusion: Users expect burns to fully reduce the token supply (e.g., 100 RAACToken burned = 100 less in total supply), but here, only 99.5 RAACToken is removed, potentially leading to misunderstandings about token economics.
modify the burn function to burn the full amount without applying burnTaxRate:
This aligns with standard ERC20 behavior, ensuring full supply reduction.
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.