In LendingPool
, addresses with health factor are supposed to get put under liquidation by users calling the initiateLiquidation
function. However, when the liquidation gets finalized, the protocol pays the liquidated address' debt and gets its NFT. Users have 0 incentives to call the initiateLiquidation
function.
As we can see initiateLiquidation
is callable by everyone. However, finalizeLiquidation
is only callable by the StabilityPool
and the liquidated user's NFTs are transferred to it. It also pays the debt of the liquidation. This means that users have no incentive to put a user under liquidation since they only spend gas for it and don't gain anything.
If users are not incentivized to put users under liquidation it means that it's more probable that some positions become insolvent (their NFTs are valued less than their borrowed amount). Since the protocol pays their debt and gets their NFTs that means loss of funds for the protocol.
Manual review
Create a keeper bot to scan positions and call initiateLiquidation
or allow everyone to finalizeLiquidation
so there is incentive for users to liquidate other users.
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.