Core Contracts

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

Incorrect Denominator in `RAACMinter::getUtilizationRate` Leads to Overestimation

Summary

The RAACMinter::getUtilizationRate function uses an incorrect denominator (totalDeposits alone) instead of totalDeposits + totalBorrowed, causing the utilization rate to be mathematically overstated.

Vulnerability Details

function getUtilizationRate() internal view returns (uint256) {
uint256 totalBorrowed = lendingPool.getNormalizedDebt();
uint256 totalDeposits = stabilityPool.getTotalDeposits();
if (totalDeposits == 0) return 0;
return (totalBorrowed * 100) / totalDeposits; <==@found
}

Impact

  • Protocol Parameter Distortion:Utilization rate (UR) values exceed 100% when totalBorrowed > totalDeposits

  • Risk Model Failure:Incorrect UR affects interest rate curves and collateral requirements

Tools Used

  • Manual Review

Recommendations

Correct Denominator Implementation As Follows:

function getUtilizationRate() internal view returns (uint256) {
uint256 totalBorrowed = lendingPool.getNormalizedDebt();
uint256 totalDeposits = stabilityPool.getTotalDeposits();
if (totalDeposits == 0) return 0;
- return (totalBorrowed * 100) / totalDeposits;
+ return (totalBorrowed * 100) / (totalDeposits + totalBorrowed);
}
Updates

Lead Judging Commences

inallhonesty Lead Judge 7 months ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement

Support

FAQs

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

Give us feedback!