feeCollector._processDistributions() handles the distribution of collected fees. It calculates fee shares and then calls raacToken to either burn or transfer the fee amounts.
However, raacToken applies tax and fee rates again during these transfers and burns, causing inaccuracies in the distribution. As a result, veRaac holders and other stakeholders do not receive their full intended fees.
FeeCollector admin callse distributeCollectedFees to distribute collected fees
It triggers _processDistributions which calculates exact amount of fee shares and burn/transfers the Raac tokens:
RAACToken applies fees again in transfer > _update (also in burn):
As a result, the final distributed amounts are less than expected, causing inaccuracies in payments to veRAAC holders and other stakeholders.
FeeCollector distributions are inaccurate due to RaacToken applying additional fees
vscode
Introduce a safeTransferWithoutFee() function for transfers from feeCollector
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.