ERC721 methods getApproved()
, isApprovedForAll()
, and supportsInterface()
are missing from the contract making it non-compliant with the ERC721 standard. This may lead to integration problems with other protocols that rely on these functions to exist, such as NFT marketplaces or NFT lending protocols.
The contract strives to be ERC721-compliant ("it should have all the functionality of a normal NFT. It should be able to be viewed, transferred, approved, etc.") but is missing mandatory functions defined in the ERC721 standard ( https://eips.ethereum.org/EIPS/eip-721 ):
getApproved(uint256)
isApprovedForAll(address,address)
supportsInterface(bytes4)
Without these functions, third-party protocols like NFT marketplaces or lending protocols may not be able to integrate this contract.
Low. This does not impact the raffle functionality of the contract. NFTs can still be transferred between accounts.
Code inspection.
Export the external functions getApproved()
, isApprovedForAll()
, and supportsInterface()
when inheriting from snekmate
's ERC721 reference implementation.
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.