Core Contracts

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

Hard-coded Exchange Rate in StabilityPool

Summary:

In StabilityPool.sol, getExchangeRate() returns a constant 1e18, ignoring actual pool conditions.

Vulnerability Details:

function getExchangeRate() public view returns (uint256) {
return 1e18;
}

This bypasses any real ratio of rToken to deToken, potentially misleading depositors.

Impact:

If the protocol intended a floating exchange rate, users will face inaccurate redemptions. If 1:1 is truly intended, this is not a bug, but it must be clearly documented.

Tools Used:

  • Manual inspection of StabilityPool deposit/withdraw logic

Recommendations:

  • If it should be dynamic, replace with a function computing (rTokenBalance / totalDeTokenSupply).

  • If truly 1:1, confirm that design is stable and documented.

Updates

Lead Judging Commences

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

StabilityPool::getExchangeRate hardcodes 1:1 ratio instead of calculating real rate, enabling unlimited deToken minting against limited reserves

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

StabilityPool::getExchangeRate hardcodes 1:1 ratio instead of calculating real rate, enabling unlimited deToken minting against limited reserves

Support

FAQs

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