IERC 721 Enumerable
ERC-721 Non-Fungible Token Standard, optional enumeration extension
See https://eips.ethereum.org/EIPS/eip-721
Methods
approve
Gives permission to to
to transfer tokenId
token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - tokenId
must exist. Emits an {Approval} event.
Parameters
Name | Type | Description |
---|---|---|
to | address | undefined |
tokenId | uint256 | undefined |
balanceOf
Returns the number of tokens in owner
's account.
Parameters
Name | Type | Description |
---|---|---|
owner | address | undefined |
Returns
Name | Type | Description |
---|---|---|
balance | uint256 | undefined |
getApproved
Returns the account approved for tokenId
token. Requirements: - tokenId
must exist.
Parameters
Name | Type | Description |
---|---|---|
tokenId | uint256 | undefined |
Returns
Name | Type | Description |
---|---|---|
operator | address | undefined |
isApprovedForAll
Returns if the operator
is allowed to manage all of the assets of owner
. See {setApprovalForAll}
Parameters
Name | Type | Description |
---|---|---|
owner | address | undefined |
operator | address | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | bool | undefined |
ownerOf
Returns the owner of the tokenId
token. Requirements: - tokenId
must exist.
Parameters
Name | Type | Description |
---|---|---|
tokenId | uint256 | undefined |
Returns
Name | Type | Description |
---|---|---|
owner | address | undefined |
safeTransferFrom
Safely transfers tokenId
token from from
to to
, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - from
cannot be the zero address. - to
cannot be the zero address. - tokenId
token must exist and be owned by from
. - If the caller is not from
, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If to
refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.
Parameters
Name | Type | Description |
---|---|---|
from | address | undefined |
to | address | undefined |
tokenId | uint256 | undefined |
safeTransferFrom
Safely transfers tokenId
token from from
to to
. Requirements: - from
cannot be the zero address. - to
cannot be the zero address. - tokenId
token must exist and be owned by from
. - If the caller is not from
, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If to
refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.
Parameters
Name | Type | Description |
---|---|---|
from | address | undefined |
to | address | undefined |
tokenId | uint256 | undefined |
data | bytes | undefined |
setApprovalForAll
Approve or remove operator
as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The operator
cannot be the caller. Emits an {ApprovalForAll} event.
Parameters
Name | Type | Description |
---|---|---|
operator | address | undefined |
_approved | bool | undefined |
supportsInterface
Returns true if this contract implements the interface defined by interfaceId
. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.
Parameters
Name | Type | Description |
---|---|---|
interfaceId | bytes4 | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | bool | undefined |
tokenByIndex
Returns a token ID at a given index
of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens.
Parameters
Name | Type | Description |
---|---|---|
index | uint256 | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
tokenOfOwnerByIndex
Returns a token ID owned by owner
at a given index
of its token list. Use along with {balanceOf} to enumerate all of owner
's tokens.
Parameters
Name | Type | Description |
---|---|---|
owner | address | undefined |
index | uint256 | undefined |
Returns
Name | Type | Description |
---|---|---|
tokenId | uint256 | undefined |
totalSupply
Returns the total amount of tokens stored by the contract.
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
transferFrom
Transfers tokenId
token from from
to to
. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - from
cannot be the zero address. - to
cannot be the zero address. - tokenId
token must be owned by from
. - If the caller is not from
, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.
Parameters
Name | Type | Description |
---|---|---|
from | address | undefined |
to | address | undefined |
tokenId | uint256 | undefined |
Events
Approval
Parameters
Name | Type | Description |
---|---|---|
owner | address | undefined |
approved | address | undefined |
tokenId | uint256 | undefined |
ApprovalForAll
Parameters
Name | Type | Description |
---|---|---|
owner | address | undefined |
operator | address | undefined |
approved | bool | undefined |
Transfer
Parameters
Name | Type | Description |
---|---|---|
from | address | undefined |
to | address | undefined |
tokenId | uint256 | undefined |
Last updated