Core Contracts

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

Curve Vault yields cannot be withdrawn and depositors receive no profit

Summary

Curve Vault yields cannot be withdrawn and depositors receives no profit.

Vulnerability Details

When user deposits CrvUSD into LendingPool, some of the funds will be depsoited into Curve Vault.

Curve Vault depositor receives vault shares which are yield-bearing and can be redeemed at any time to get back deposit
plus any yield generated.

In LendingPool, the only way to withdraw from Curve Vault is _withdrawFromVault(), which calls Curve vault's withdraw().

LendingPool::_withdrawFromVault():

function _withdrawFromVault(uint256 amount) internal {
curveVault.withdraw(amount, address(this), msg.sender, 0, new address[](0));
totalVaultDeposits -= amount;
}

Curve vault's withdraw() withdraws amount of CrvUSD the caller specified, in LendingPool, _withdrawFromVault() is called by _rebalanceLiquidity() and _ensureLiquidity(), and the withdrawn amount is capped by the the total reserve liquidity.

Assuming the total reserve liquidity is 10000, and 80% of the reserve is deposited into Curve vault (liquidityBufferRatio is 20%). When withdraws, the LendingPool will only withdraws at most 8000 from Curve vault, any generated yields are ignored.

Impact

Yields generated in Curve vault are ignored, depositors will not recevie the profit.

Tools Used

Manual Review

Recommendations

When user withdraws, check the generated yields in Curve vault, redeem and distributes the yields to the user based on their deposited amount.

Updates

Lead Judging Commences

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

LendingPool earns yield from Curve Vault deposits but lacks systematic distribution mechanism, leading to protocol-owned value with unclear extraction path

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

LendingPool earns yield from Curve Vault deposits but lacks systematic distribution mechanism, leading to protocol-owned value with unclear extraction path

Appeal created

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

LendingPool earns yield from Curve Vault deposits but lacks systematic distribution mechanism, leading to protocol-owned value with unclear extraction path

Support

FAQs

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