IERC721Enumerable.sol 1017 B

1234567891011121314151617181920212223242526272829
  1. // SPDX-License-Identifier: MIT
  2. // OpenZeppelin Contracts v4.4.1 (token/ERC721/extensions/IERC721Enumerable.sol)
  3. pragma solidity ^0.8.0;
  4. import "../IERC721.sol";
  5. /**
  6. * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension
  7. * @dev See https://eips.ethereum.org/EIPS/eip-721
  8. */
  9. interface IERC721Enumerable is IERC721 {
  10. /**
  11. * @dev Returns the total amount of tokens stored by the contract.
  12. */
  13. function totalSupply() external view returns (uint256);
  14. /**
  15. * @dev Returns a token ID owned by `owner` at a given `index` of its token list.
  16. * Use along with {balanceOf} to enumerate all of ``owner``'s tokens.
  17. */
  18. function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId);
  19. /**
  20. * @dev Returns a token ID at a given `index` of all the tokens stored by the contract.
  21. * Use along with {totalSupply} to enumerate all tokens.
  22. */
  23. function tokenByIndex(uint256 index) external view returns (uint256);
  24. }