When emergencyWithdraw calls raacToken.safeTransfer(treasury, balance)
, the RAAC token will apply its transfer tax (swapTaxRate + burnTaxRate), and since FeeCollector is set as the feeCollector in RAACToken, a portion of those fees will be sent back to the FeeCollector contract.
This means:
FeeCollector tries to emergency withdraw 100 tokens
Due to tax, ~98.5 tokens go to Treasury (assuming 1.5% total tax)
The 1.5 tokens tax gets sent back to FeeCollector
These tokens remain in FeeCollector despite the emergency withdrawal
This creates a situation where the emergency withdrawal can never fully clear the FeeCollector contract of RAAC tokens, as each withdrawal generates new fees that stay in the contract.
Whitelist the FeeCollector for tax-free transfers
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.