The GaugeController::distributeRevenue is designed as the revenue distribution mechanism but it contains some errors in how it handles the allocation of protocol fees. The contract is designed to split revenue into:
80% for veToken holders
20% for performance fees
However, there are two critical issues:
the 80% portion meant for veRAACToken holders is distributed to gauges via _distributeToGauges This means the 80% portion for veToken holders is sent to gauges, with subsequent lose of revenue for verAACToken holder.
the 20% performance fee portion is calculated but never stored or distributed. The gauges receive wrongly the 80% instead of the 20%.
The GaugeController::distributeRevenue incorrectly sends the veToken holders' share (80%) to the gauges through _distributeToGauges (that receive the wrong percentage 80% instead of 20%). This leads to direct financial loss for veRAACToken holders who never receive their 80% share. The distribution of protocol revenues doesn't work as expected.
Send performanceShare in _distributeToGauges and implement a mechanism for veRAACToken holder to receive their rewards.
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.