The withdrawEgg() function uses transferFrom() to return NFTs, which may result in tokens being stuck in recipient contracts.
In the withdrawEgg(uint256 tokenId) function, eggNFT.transferFrom(address(this), msg.sender, tokenId) is used. If msg.sender is a smart contract without ERC721 support, the NFT will be sent but stuck.
Users could lose access to their NFTs if they withdraw to a smart contract that doesn't support ERC721 receiving.
Manual code review
NFTs are transferred to contracts without onERC721Received implementation.
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.