The ERC721Enumerable interface is an optional interface for adding more features to the ERC721 NFT.
The interface defines the following view functions:
- totalSupply(): The function returns the total number of NFTs issued by the contract that are not burned. Also, each token has a valid owner address that is not address(0).
- tokenByIndex(): The function returns the tokenId of an NFT that is stored at the provided index.
- tokenOfOwnerByIndex(): The function returns the tokenId of an NFT that is stored at a particular index of the owner's list of tokens.
Let's look at the ERC721Enumerable interface code:
interface ERC721Enumerable is ERC721 {
function totalSupply() external view returns (uint256);
function tokenByIndex(uint256 _index) external view returns (uint256);
function tokenOfOwnerByIndex(address _owner, uint256 _index...