ERC721Facet
tokenIdsOfOwner
totalSupply
tokenByIndex
Enumerate valid NFTs
Throws if _index
>= totalSupply()
.
Parameters
Name | Type | Description |
---|---|---|
_index | uint256 | A counter less than |
Return Values
Name | Type | Description |
---|---|---|
tokenId_ | uint256 | The token identifier for the |
balanceOf
Count all NFTs assigned to an owner
NFTs assigned to the zero address are considered invalid, and this. function throws for queries about the zero address.
Parameters
Name | Type | Description |
---|---|---|
_owner | address | An address for whom to query the balance |
Return Values
Name | Type | Description |
---|---|---|
balance_ | uint256 | The number of NFTs owned by |
ownerOf
Find the owner of an NFT
NFTs assigned to zero address are considered invalid, and queries about them do throw.
Parameters
Name | Type | Description |
---|---|---|
_tokenId | uint256 | The identifier for an NFT |
Return Values
Name | Type | Description |
---|---|---|
owner_ | address | The address of the owner of the NFT |
getApproved
Get the approved address for a single NFT
Throws if _tokenId
is not a valid NFT.
Parameters
Name | Type | Description |
---|---|---|
_tokenId | uint256 | The NFT to find the approved address for |
Return Values
Name | Type | Description |
---|---|---|
approved_ | address | The approved address for this NFT, or the zero address if there is none |
isApprovedForAll
Query if an address is an authorized operator for another address
Parameters
Name | Type | Description |
---|---|---|
_owner | address | The address that owns the NFTs |
_operator | address | The address that acts on behalf of the owner |
Return Values
Name | Type | Description |
---|---|---|
approved_ | bool | True if |
safeTransferFrom
Transfers the ownership of an NFT from one address to another address
Throws unless msg.sender
is the current owner, an authorized operator, or the approved address for this NFT. Throws if _from
is not the current owner. Throws if _to
is the zero address. Throws if _tokenId
is not a valid NFT. When transfer is complete, this function checks if _to
is a smart contract (code size > 0). If so, it calls onERC721Received
on _to
and throws if the return value is not bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))
.
Parameters
Name | Type | Description |
---|---|---|
_from | address | The current owner of the NFT |
_to | address | The new owner |
_tokenId | uint256 | The NFT to transfer |
_data | bytes | Additional data with no specified format, sent in call to |
safeTransferFrom
Transfers the ownership of an NFT from one address to another address
This works identically to the other function with an extra data parameter, except this function just sets data to "".
Parameters
Name | Type | Description |
---|---|---|
_from | address | The current owner of the NFT |
_to | address | The new owner |
_tokenId | uint256 | The NFT to transfer |
transferFrom
Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE TO CONFIRM THAT _to
IS CAPABLE OF RECEIVING NFTS OR ELSE THEY MAY BE PERMANENTLY LOST
Throws unless msg.sender
is the current owner, an authorized operator, or the approved address for this NFT. Throws if _from
is not the current owner. Throws if _to
is the zero address. Throws if _tokenId
is not a valid NFT.
Parameters
Name | Type | Description |
---|---|---|
_from | address | The current owner of the NFT |
_to | address | The new owner |
_tokenId | uint256 | The NFT to transfer |
approve
Change or reaffirm the approved address for an NFT
The zero address indicates there is no approved address. Throws unless msg.sender
is the current NFT owner, or an authorized operator of the current owner.
Parameters
Name | Type | Description |
---|---|---|
_approved | address | The new approved NFT controller |
_tokenId | uint256 | The NFT to approve |
setApprovalForAll
Enable or disable approval for a third party ("operator") to manage all of msg.sender
's assets
Emits the ApprovalForAll event. The contract MUST allow multiple operators per owner.
Parameters
Name | Type | Description |
---|---|---|
_operator | address | Address to add to the set of authorized operators |
_approved | bool | True if the operator is approved, false to revoke approval |
name
symbol
An abbreviated name for NFTs in this contract
tokenURI
A distinct Uniform Resource Identifier (URI) for a given asset.
Throws if _tokenId
is not a valid NFT. URIs are defined in RFC 3986. The URI may point to a JSON file that conforms to the "ERC721 Metadata JSON Schema".