_mint instead of _safeMint for ERC721 Tokens can Lead to loss of Reciepts.Description: The unique NFT that is minted to the donors after a donation, is minted using _mint which does not check if the recipient is capable of receiving ERC721 Tokens.
In GivingThanks::donate function line 26:
Impact:
Potential Token Loss: If tokens are minted to an address that does not implement onERC721Received function after donation, they could become permanently locked, leading to loss of token and loss of the receipt used to commemorate their contribution.
Compliance with ERC721 Standard: The ERC721 standard recommends using _safeMint to ensure safe transfers to contracts.
Recommended Mitigation:
Use _safeMint instead of _mint to include safety checks.
Handle Potential Reverts: Be prepared for the possibility that _safeMint may revert if the recipient cannot handle ERC721 tokens.
Inform Users: Clearly communicate to donors that their addresses must be capable of receiving ERC721 tokens, especially if they are using smart contract wallets.
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.