The LendingPool::_withdrawFromVault
function in the contract mistakenly sends USDC tokens to the Lending Pool instead of the intended RToken address when withdrawing from the Curve vault.
When there is insufficient liquidity in the RToken contract, _ensureLiquidity
triggers _withdrawFromVault
.
_withdrawFromVault
calls `curveVault.withdraw(amount, address(this), msg.sender, 0, new address
The function parameters should ensure USDC is deposited into the RToken contract, but instead, it is being sent to the Lending Pool (msg.sender
).
Withdrawn USDC from the Curve vault does not go to the RToken contract but rather to the Lending Pool.
Manual review
Modify _withdrawFromVault
to ensure that withdrawn USDC is sent directly to the RToken contract instead of the Lending Pool
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.