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.