IERC721EnumerableUpgradeable
Last updated
Last updated
ERC-721 Non-Fungible Token Standard, optional enumeration extension
See https://eips.ethereum.org/EIPS/eip-721
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.
Name | Type | Description |
---|---|---|
Returns the number of tokens in owner
's account.
Name | Type | Description |
---|---|---|
Returns the account approved for tokenId
token. Requirements: - tokenId
must exist.
Returns if the operator
is allowed to manage all of the assets of owner
. See {setApprovalForAll}
Returns the owner of the tokenId
token. Requirements: - tokenId
must exist.
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.
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.
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.
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.
Returns a token ID at a given index
of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens.
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.
Returns the total amount of tokens stored by the contract.
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.
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
to
address
undefined
tokenId
uint256
undefined
owner
address
undefined
balance
uint256
undefined
tokenId
uint256
undefined
operator
address
undefined
owner
address
undefined
operator
address
undefined
_0
bool
undefined
tokenId
uint256
undefined
owner
address
undefined
from
address
undefined
to
address
undefined
tokenId
uint256
undefined
from
address
undefined
to
address
undefined
tokenId
uint256
undefined
data
bytes
undefined
operator
address
undefined
_approved
bool
undefined
interfaceId
bytes4
undefined
_0
bool
undefined
index
uint256
undefined
_0
uint256
undefined
owner
address
undefined
index
uint256
undefined
_0
uint256
undefined
_0
uint256
undefined
from
address
undefined
to
address
undefined
tokenId
uint256
undefined
owner indexed
address
undefined
approved indexed
address
undefined
tokenId indexed
uint256
undefined
owner indexed
address
undefined
operator indexed
address
undefined
approved
bool
undefined
from indexed
address
undefined
to indexed
address
undefined
tokenId indexed
uint256
undefined