The _withdrawFromVault
function attempts to withdraw assets from the curveVault
. However, the owner
parameter in the curveVault::withdraw
function is incorrectly set to msg.sender
rather than the LendingPool
contract (address(this)
), which owns the shares after the initial deposit. This leads to a transaction failure, preventing the liquidity from being properly rebalanced between the curveVault
and the reserveRToken
contract.
In the _withdrawFromVault
function, the third parameter of curveVault::withdraw
is incorrectly set to msg.sender
, whereas it should be set to the LendingPool
contract (address(this)
), which holds the shares after depositing assets into the vault. This misalignment causes the transaction to fail during the withdrawal.
DoS of the deposit and withdraw functions due to _rebalanceLiquidity
will always fail
Manual review
Modify the owner
parameter in the curveVault::withdraw
function call to use address(this)
(the LendingPool
contract) instead of msg.sender
:
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.