_mint
function does not check whether the to address is capable of handling ERC-721 tokens.
_mint
function does not check whether the to address is capable of handling ERC-721 tokens. If the to address is a smart contract and it does not implement the IERC721Receiver interface, the token could get stuck in that contract, and it may not be retrievable.
If recepient wallet doesn't support ERC721 standard, and call _mint
function from ERC721
, token will be locked forever.
Manual
Instead of using _mint
function, use _safeMint
function from the same Openzeppelin library
. Before transferring the token, _safeMint
checks if the to address is a contract. If it is, the contract must implement IERC721Receiver.onERC721Received
to handle the token correctly. This prevents the token from being transferred to a contract that can't manage ERC-721 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.