The contract uses _mint
for NFT creation, which doesn't verify recipient's ability to handle ERC721 tokens, risking permanent NFT locks.
When minting to contract addresses, _mint
doesn't check for ERC721 compatibilit.
_safeMint
should be used as it calls onERC721Received on the recipient
Attack Scenario:
User uses a non-ERC721 compliant contract address to interact with the eggHuntGame
NFT gets minted but becomes permanently locked
Permanent loss of NFTs minted to incompatible addresses
Manual code review
Protocol doesn't check if recipient contracts can handle 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.