The liquidateBorrower
function in the StabilityPool contract attempts to approve and transfer crvUSD tokens to the LendingPool for liquidation. However, the StabilityPool does not hold crvUSD tokens; instead, it holds rTokens (which keeps crvUSD assets). This mismatch in token handling causes liquidations to fail, as the StabilityPool cannot transfer tokens it does not possess.
The liquidateBorrower
function attempts to approve and transfer crvUSD tokens. However, the StabilityPool holds rTokens (not crvUSD). The approval and transfer of crvUSD tokens will fail because the StabilityPool does not hold these tokens.
Liquidations cannot be executed due to the incorrect token handling.
Manual
Implement a new method to transfer crvUSD tokens. It could be transfered from rToken contract to 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.