It's recommended to use _safeMint
instead of _mint
function when minting an NFT. As per OpenZeppelin's ERC721.sol
contract's documentation. If a soulmate is a smart contract address that doesn't support ERC721 standard, the NFT can be frozen in the contract.
The Soulmate NFT can be frozen in the receiver contract.
Manual Review
Use _safeMint
instead of _mint
, to check if receiver address supports ERC721's onERC721Received
implementation.
Low severity, - If a user utilizes an EOA, the check is not required. - If a user utilizes a contract that they own to mint soulmate tokens, than check is required. However, this would rely on user error minting. Since there is no mention that ownership of token must be from EOAs, I believe low severity is appropriate.
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.