Setting a new curve crvUSD vault via LendingPool::setCurveVault fails to withdraw crvUSD from the old vault.
The LendingPool::setCurveVault function is used by admin / owner in order to update the old curve vault to a new one.
The curve vault is being used by the LendingPool contract to store excess amount of crvUSD ( > desired buffer ).
However, when such a change is taking place, the function fails to withdraw the crvUSD held in the vault by the LendingPool contract before changing to a new vault.
Loss of funds as the LendingPool contract is not upgradable, hence, no way to retrieve those stuck crvUSD tokens.
Manual Review
It is recommended to check and withdraw the crvUSD held in the current vault before the function finishes replacing with the new curve vault.
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.