The _mint function does not implement checkOnERC721Received which lets us know if a smart contract knows how to handle an NFT
Manual review
The _mint function needs to be replaced with _safeMint which will cause the transaction to fail if the smart contract cannot support NFTs
But here are a few more consideration the _safeMint function will make an external call to the smart contract to call checkOnERC721Received which could be used for a rentrancy attack. Right now since the contract holds no balance that attack would be meaningless
However if the protocol plans to take fee on transfers, this could be used as an attack vector to drain the smart contract so a rentrancy guard would be usefull here
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.