Core Contracts

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

Missing Interest Rate Update After Balance Change in `LendingPool::transferAccruedDust` Function

Summary

The transferAccruedDust function in the LendingPool contract fails to update the interest rate after transferring dust tokens, which could lead to stale interest rates not reflecting the new balance state.

Vulnerability Details

function transferAccruedDust(address recipient, uint256 amount) external onlyOwner { <==@found
ReserveLibrary.updateReserveState(reserve, rateData);
require(recipient != address(0), "LendingPool: Recipient cannot be zero address");
}

Impact

  • Stale interest rates not reflecting current pool state

  • Potential economic model inefficiencies

  • Interest rates remain unchanged until next update

Tools Used

  • Manual Review

Recommendations

Update interest rates after transferring dust tokens:

function transferAccruedDust(address recipient, uint256 amount) external onlyOwner {
ReserveLibrary.updateReserveState(reserve, rateData);
require(recipient != address(0), "LendingPool: Recipient cannot be zero address");
+ updateInterestRate(reserve, rateData);
}
Updates

Lead Judging Commences

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

LendingPool::transferAccruedDust doesn't update reserve.totalLiquidity when dust is transferred, causing discrepancy between tracked and actual liquidity

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

LendingPool::transferAccruedDust doesn't update reserve.totalLiquidity when dust is transferred, causing discrepancy between tracked and actual liquidity

Support

FAQs

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