The RAAC token contract sends tokens directly to the FeeCollector contract during transfers when taxes are applied. However, this bypasses the collectFee function, which is responsible for updating fee amounts and distributing tokens to valid users and the treasury. As a result, tokens sent directly to the FeeCollector are not properly accounted for or distributed, leading to inconsistencies in fee tracking and distribution.
When taxes are applied during a transfer, the RAAC token contract sends tokens directly to the FeeCollector using super._update(from, feeCollector, totalTax - burnAmount). This bypasses the collectFee function, which is responsible for:
Updating the collected fee amounts (collectedFees).
Distributing tokens to valid users and the treasury.
Tokens sent to the FeeCollector are not properly accounted for or distributed, leading to:
Inaccurate fee tracking.
Loss of funds, as tokens are stuck in the FeeCollector contract.
Inefficient distribution of rewards and fees.
Manual
Modify the _update function in the RAAC token contract to call the collectFee function when sending tokens to the FeeCollector. This ensures that the FeeCollector is aware of the incoming tokens and can properly update its state.
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.