FeeCollector contract implements collectFee function which updates collected fees which are later used in distribution calculations. RAACToken contract directly transfers ERC20 tokens. As a result the tokens can't be correctly distributed.
collectFee function is used to increase the collected fees which will be later distributed.
In RAACToken contract, when tokens are burned, they are directly transfered to FeeCollector using _transfer function.
Also in _update function the tokens are directly added to FeeCollector address.
FeeCollector expects other contracts to call collectFee function so that collected fees are correctly calculated using state variables. RAACToken sends tokens directly to FeeCollector. As a result, transfered tokens can't be correctly distributed to users and FeeCollector can't work as expected.
Manual Review, Hardhat
Fix burn and _update function in RAACToken contract so that they call collectFee function.
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.