The function _executeSale transfers the nft to the winning bidder with the function transferFrom, but this function does not check if the receiver can indeed receive the nft.
impact : The impact is that the token can be locked forever in a contract that is not ERC721 compatible. (medium)
But I have made some tests with an empty contract call RejectEther with the following tests to add to the test file:
The test work, the empty contract does not have any problem to transfer his nft.
Nevertheless, the standard approach is to use the safeTransferFrom function. So that it checks if the receiver is a contract and if it has implemented the onReceiver function.
Non-safe transferFrom calls can send NFTs to non-compliant contracts, potentially locking them permanently.
Non-safe transferFrom calls can send NFTs to non-compliant contracts, potentially locking them permanently.
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.