ERC721
Inherits: Context
, ERC165
, IERC721
, IERC721Metadata
Doesn't track balances.
Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as ERC721Enumerable.
State Variables
_name
string private _name;
_symbol
string private _symbol;
_owners
mapping(uint256 => address) internal _owners;
_tokenApprovals
mapping(uint256 => address) private _tokenApprovals;
_operatorApprovals
mapping(address => mapping(address => bool)) private _operatorApprovals;
Functions
_initialize
Initializes the contract by setting a name
and a symbol
to the token collection.
function _initialize(string memory name_, string memory symbol_) internal;
supportsInterface
See IERC165-supportsInterface.
function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool);
balanceOf
Balance tracking to be overriden by childs
function balanceOf(address owner) external view virtual override returns (uint256 balance);
ownerOf
See IERC721-ownerOf.
function ownerOf(uint256 tokenId) public view virtual override returns (address);
name
See IERC721Metadata-name.
function name() public view virtual override returns (string memory);
symbol
See IERC721Metadata-symbol.
function symbol() public view virtual override returns (string memory);
tokenURI
See IERC721Metadata-tokenURI.
function tokenURI(uint256 tokenId) public view virtual override returns (string memory);