When a liquidation is finalized in the LendingPool, all NFT positions of the liquidated user are transferred to the StabilityPool contract through the finalizeLiquidation() function. The NFTLiquidator contract exists to handle the auctioning of these liquidated NFTs, but there's currently no integration to initiate this process.
The LendingPool's finalizeLiquidation() function transfers all NFTs from liquidated positions to the StabilityPool. However, the StabilityPool lacks the functionality to initiate the auction process for these received NFTs through the NFTLiquidator contract.
The sequence is:
LendingPool transfers all NFTs to StabilityPool
StabilityPool receives the NFTs but has no mechanism to start their auction process
NFTLiquidator has the auction functionality but is never called
This creates a gap in the liquidation process where NFTs can become stranded in the StabilityPool without a way to recover their value through the intended auction mechanism.
High. Without the ability to auction liquidated NFTs, the value of these assets cannot be recovered to offset the bad debt in the system. This could lead to accumulation of non-performing assets in the StabilityPool and impact the protocol's solvency.
High. This affects every liquidation where NFTs are transferred to the StabilityPool, as there is no implemented mechanism to initiate their auction process.
A user's position becomes liquidatable
finalizeLiquidation() is called on the LendingPool
All NFTs are transferred to the StabilityPool (as seen in the code)
The NFTs remain in the StabilityPool with no way to initiate their auction through NFTLiquidator
The value of these NFTs remains locked and unavailable to cover the system's bad debt
Add functionality to the StabilityPool to handle received NFTs by initiating their auction process. Here's a suggested implementation:
This implementation allows managers to initiate the auction process for NFTs received through liquidation, completing the liquidation cycle and enabling value recovery.
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.