ERC165 overrides

My contract is inherting from several erc721 extensions


contract AmaFansNFT is
    Context,
    AccessControlEnumerable,
    ERC165,
    ERC721Enumerable,
    ERC721Pausable,
    ERC721URIStorage {

}

Now, ERC721Enumerable, ERC721Burnable, ERC721Pausable and ERC721Storage all have implemented ERC165, I am looking for a way to override supportInterface function in my contract so that it supports all the interfaces. I have seen that supportInterface doesnt override ERC721URIStorage , Why?

    function supportsInterface(bytes4 interfaceId)
        public
        view
        override(AccessControlEnumerable, ERC721, ERC721Enumerable)
        returns (bool)
    {
        return super.supportsInterface(interfaceId);
    }

Hello @GraphicalDot

ERC721URIStorage does not include supportInterface (because the corresponding features are not part of a standardized interface). Thus, there is nothing to override.

1 Like