QuantAMM

QuantAMM
49,600 OP
View results
Submission Details
Severity: low
Invalid

missing ERC721 interface.

Summary

The LPNFT contract does not explicitly declare support for the ERC721 standard interface ID 0x80ac58cd in its supportsInterface implementation.
This omission results in non compliance with the ERC721 standard, potentially causing integration issues with wallets that rely on this identifier to detect ERC721 compliant tokens.


Vulnerability Details

The ERC721 standard mandates that compliant contracts must return true for the interface ID 0x80ac58cd in their supportsInterface function. This is critical for ensuring interoperability with wallets that interact with NFTs.

The current LPNFT doesn't override the supportsInterface function from ERC165. As a result, the contract fails to indicate compliance with the ERC721 standard.

According to EIP-721:

"ERC-165 identifier for the main interface of ERC-721 is 0x80ac58cd."

Without declaring this support, external applications and tools will not recognize the contract as an ERC721 token.


Impact

Wallets performing safeTransferFrom of NFTs depend on recognizing the token as an ERC721 compliant contract, Without the proper interface, these operations may fail.


Recommendations

Implement the supportsInterface function to return true for 0x80ac58cd, ensuring compliance with ERC721.

contract LPNFT is ERC721 {
// snip..
function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
return
interfaceId == 0x80ac58cd || // ERC721
interfaceId == 0x01ffc9a7 || // ERC165
super.supportsInterface(interfaceId);
}
// snip..
}
Updates

Lead Judging Commences

n0kto Lead Judge 10 months ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.