The LendingPool._depositIntoVault() function always reverts because there is no reserveAssetToken available in the LendingPool itself.
The _depositIntoVault() function is intended to deposit reserveAssetToken into the curveVault. However, this is impossible because the LendingPool does not hold any assets; all reserve assets are located in the RToken.
As a result, _rebalanceLiquidity() also always reverts since it calls _depositIntoVault(). Consequently, both deposit() and withdraw() functions are rendered impossible as they rely on _rebalanceLiquidity(), breaking core functionalities.
This issue breaks core functionalities, rendering the LendingPool contract useless.
Manual review
Before depositing into the curveVault, ensure that the necessary amount is brought from the RToken contract to the LendingPool.
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.