The NFTFactory contract used by InheritanceManager is minting ERC721 tokens in an unsafe manner. The contract uses the _mint()
function instead of _safeMint()
when creating new estate NFTs. While this doesn't cause immediate transaction failures, it violates the ERC721 safety standards.
The impact is that:
The contract doesn't validate whether the recipient is capable of handling ERC721 tokens
If the contract implementation changes or is extended in the future, NFTs could be locked forever
This violates ERC721 standards which recommend using _safeMint()
for contract recipients
Future integrations might assume standard compliance and fail
To fix this issue, implement both of the following changes:
Update the NFTFactory contract to use _safeMint()
instead of _mint()
:
Implement the IERC721Receiver
interface in the InheritanceManager contract:
These changes ensure that the system follows the ERC721 standard's safe transfer practices and properly validates token reception.
Foundry Testing Framework
Manual Code Review
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.