Core Contracts

Regnum Aurum Acquisition Corp
HardhatReal World AssetsNFT
77,280 USDC
View results
Submission Details
Severity: high
Valid

performanceShares are not distributed to `veToken` holders

protocol calculates the performancefee rates by gauge to be 20% of the distributed revenue.

/**
* @notice Revenue sharing configuration
* @dev Mappings for protocol fees and performance fees
* revenueShares: Protocol fee shares by gauge type (80% protocol fees)
* performanceFees: Performance fee rates by gauge (20% yield products)
*/
mapping(GaugeType => uint256) public revenueShares; // 80% protocol fees
mapping(address => uint256) public performanceFees; // 20% yield products

This revenue is to be distribute between veToken holders and gauges.

function distributeRevenue(
GaugeType gaugeType,
uint256 amount
) external onlyRole(EMERGENCY_ADMIN) whenNotPaused {
if (amount == 0) revert InvalidAmount();
uint256 veRAACShare = amount * 80 / 100; // 80% to veRAAC holders
uint256 performanceShare = amount * 20 / 100; // 20% performance fee@audit
revenueShares[gaugeType] += veRAACShare;
_distributeToGauges(gaugeType, veRAACShare);
emit RevenueDistributed(gaugeType, amount, veRAACShare, performanceShare);
}

The issue is that performanceFee is neither recorded to distributed to the veToken holders as intended.

Impact

Performancefee are not distributed to veToken holder leading to loss of funds.

Recommendation

populate the performanceFees mapping to record and distribute the fees to veToken holders.

Updates

Lead Judging Commences

inallhonesty Lead Judge 4 months ago
Submission Judgement Published
Validated
Assigned finding tags:

GaugeController.distributeRevenue calculates 20% performance fee but never transfers or allocates it to any recipient, causing loss of funds

inallhonesty Lead Judge 4 months ago
Submission Judgement Published
Validated
Assigned finding tags:

GaugeController.distributeRevenue calculates 20% performance fee but never transfers or allocates it to any recipient, causing loss of funds

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.