Core Contracts

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

`RAACMinter.getUtilizationRate()` is Unsound

Summary

The RAACMinter.getUtilizationRate() function incorrectly uses the LendingPool's usage index as totalBorrowed. This approach is unsound.

Vulnerability Details

The RAACMinter.getUtilizationRate() function assigns the LendingPool's usage index to totalBorrowed, which is inappropriate.

totalBorrowed should represent the actual amount of tokens borrowed, not the usage index.

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

Impact

The utilization rate calculated is incorrect, leading to an inaccurate reward emission rate.

Tools Used

Manual review

Recommendations

Utilize the LendingPool's total borrowed amount instead of the usage index.

Updates

Lead Judging Commences

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

RAACMinter::getUtilizationRate incorrectly mixes stability pool deposits with lending pool debt index instead of using proper lending pool metrics

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

RAACMinter::getUtilizationRate incorrectly mixes stability pool deposits with lending pool debt index instead of using proper lending pool metrics

Support

FAQs

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

Give us feedback!