The FeeCollector::_initializeFeeTypes function contains incorrect percentage calculations for veRAACShare, burnShare, repairShare, and treasuryShare in certain fee types. The values are stored in basis points (bps), where 100% equals 10,000. However, for fee types 6 and 7, the calculations assume 500 represents 0.5%, whereas it should be 50 (since 50 bps = 0.5%). This leads to an overestimation of allocated fees.
The issue appears in the following fee types:
https://github.com/Cyfrin/2025-02-raac/blob/89ccb062e2b175374d40d824263a4c0b601bcb7f/contracts/core/collectors/FeeCollector.sol#L379-L393
The intended values are 0.5% (50 bps) for veRAACShare, burnShare, and treasuryShare, but they are mistakenly set as 500 instead of 50. Same for 1% for repairShare.
The fees are allocated at 10× the intended amount, leading to an unintended distribution of funds.
Manual review
Update feeTypes[6] and feeTypes[7] to correctly reflect the intended percentages
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.