Core Contracts

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

Base Weight Retrieval Logic Error

Summary

The _getBaseWeight function incorrectly retrieves contract-level weights instead of account-specific weights, despite accepting an account parameter.

Vulnerability Details

Current implementation:

function _getBaseWeight(address account) internal view virtual returns (uint256) {
return IGaugeController(controller).getGaugeWeight(address(this));
}

The function ignores the provided account parameter and always returns the contract's weight.

Impact

  • Incorrect account-specific weight calculations

  • Potential errors in staking and voting mechanisms

Tools Used

  • Manual Code Review

Recommendations

  • Either use account parameter in weight retrieval:

    return IGaugeController(controller).getGaugeWeight(account);
  • Or remove misleading account parameter if contract-level weight is intended

Updates

Lead Judging Commences

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

BaseGauge._getBaseWeight ignores account parameter and returns gauge's total weight, allowing users to claim rewards from gauges they never voted for or staked in

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

BaseGauge._getBaseWeight ignores account parameter and returns gauge's total weight, allowing users to claim rewards from gauges they never voted for or staked in

Support

FAQs

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