The FeeCollector is used to distribute fees, which are distributed as rewards to different entities, including veRAACToken holders. However, the way the current _calculateDistribution works, is that it first calculates each fee type's weight, and then it uses this weight to calculate the fee share based on the total fees. This introduces double percentage calculation which compounds precision loss.
If we look at the fee distribution calculations:
From the above, we can see that the precision loss is compounded, leading to an unfair distribution to the treasury, where the funds could have gone to the veRAACToken holders, or burned, or to the repairFund.
Fees are unevenly distributed, where tokens that should go to veRAAC holders go to the treasury.
Manual review
Remove the first weight percentage calculation, and directly apply the fee type share on the fee amount.
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.