The NFTLquidator contracts lacks an onERC721Received implementation which is required by the ERC721 standard for receiving NFTs via transferFrom function. The omision deprives the contract of accepting liquidated NFTs, effectively hauting the liquidation process.
In the liquidateNFT function, an NFT is transferred to the NFTLiquidator contract using nftContract.transferFrom(msg.sender, address(this), tokenId). Per the ERC721 standard, the token contract calls onERC721Received on the recepient(The NFTLiquidator). Since the NFTLiquidator lacks this implementation, the transferFrom call reverts, causing the entire NFTLiquidate function to fail.
The absence of onERC721Received renders the liquidation mechanism inoperable. NFT's cannot be transfered to the contract, preventing auctions and buybacks from proceeding. This undermines the contract's main functionality.
Manual review
Implement the onERC721Received function in NFTLiquidator to allow proper receipt of ERC721 tokens.
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.