The Stability pool
does not inherit any functionality for handling ERC721
tokens. However, during liquidation, all of the user's NFTs are transfered to this contract. This means that there will be no means to handle them once received.
The LendingPool contract is defined as follows:
This contract inherits from ERC721Holder
which gives it the capabilities to interact witrh ERC721 tokens. As such, uers are able to deposit their NFTs to this contract as collateral:
Now, during liquidation, these NFTs deposited by the user are transfered to the Stability pool:
Here is how stabilityPool is defined:
None of the inherited contracts posess the configs for handling NFTs. Also, notice that the transfer is performed by transferFrom()
which does not check for receiver compatibility.
As such, these NFTs will be transfered without any reverts. However, there will be no means to interact with them once received therefore stuck.
Manual Review
Inherit the ERC721Holder
contract to the Stability pool to enable it to handle NFTs:
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.