ERC721AUpgradeable

Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension. Built to optimize for lower gas during batch mints. Assumes serials are sequentially minted starting at _startTokenId() (defaults to 0, e.g. 0, 1, 2, 3..). Assumes that an owner cannot have more than 264 - 1 (max value of uint64) of supply. Assumes that the maximum token id cannot exceed 2256 - 1 (max value of uint256).

Methods

approve

function approve(address to, uint256 tokenId) external nonpayable

See {IERC721-approve}.

Parameters

Name
Type
Description

to

address

undefined

tokenId

uint256

undefined

balanceOf

function balanceOf(address owner) external view returns (uint256)

See {IERC721-balanceOf}.

Parameters

Name
Type
Description

owner

address

undefined

Returns

Name
Type
Description

_0

uint256

undefined

getApproved

See {IERC721-getApproved}.

Parameters

Name
Type
Description

tokenId

uint256

undefined

Returns

Name
Type
Description

_0

address

undefined

isApprovedForAll

See {IERC721-isApprovedForAll}.

Parameters

Name
Type
Description

owner

address

undefined

operator

address

undefined

Returns

Name
Type
Description

_0

bool

undefined

name

See {IERC721Metadata-name}.

Returns

Name
Type
Description

_0

string

undefined

ownerOf

See {IERC721-ownerOf}.

Parameters

Name
Type
Description

tokenId

uint256

undefined

Returns

Name
Type
Description

_0

address

undefined

safeTransferFrom

See {IERC721-safeTransferFrom}.

Parameters

Name
Type
Description

from

address

undefined

to

address

undefined

tokenId

uint256

undefined

safeTransferFrom

See {IERC721-safeTransferFrom}.

Parameters

Name
Type
Description

from

address

undefined

to

address

undefined

tokenId

uint256

undefined

_data

bytes

undefined

setApprovalForAll

See {IERC721-setApprovalForAll}.

Parameters

Name
Type
Description

operator

address

undefined

approved

bool

undefined

supportsInterface

See {IERC165-supportsInterface}.

Parameters

Name
Type
Description

interfaceId

bytes4

undefined

Returns

Name
Type
Description

_0

bool

undefined

symbol

See {IERC721Metadata-symbol}.

Returns

Name
Type
Description

_0

string

undefined

tokenURI

See {IERC721Metadata-tokenURI}.

Parameters

Name
Type
Description

tokenId

uint256

undefined

Returns

Name
Type
Description

_0

string

undefined

totalSupply

Burned tokens are calculated here, use _totalMinted() if you want to count just minted tokens.

Returns

Name
Type
Description

_0

uint256

undefined

transferFrom

See {IERC721-transferFrom}.

Parameters

Name
Type
Description

from

address

undefined

to

address

undefined

tokenId

uint256

undefined

Events

Approval

Parameters

Name
Type
Description

owner indexed

address

undefined

approved indexed

address

undefined

tokenId indexed

uint256

undefined

ApprovalForAll

Parameters

Name
Type
Description

owner indexed

address

undefined

operator indexed

address

undefined

approved

bool

undefined

Initialized

Parameters

Name
Type
Description

version

uint8

undefined

Transfer

Parameters

Name
Type
Description

from indexed

address

undefined

to indexed

address

undefined

tokenId indexed

uint256

undefined

Errors

ApprovalCallerNotOwnerNorApproved

The caller must own the token or be an approved operator.

ApprovalQueryForNonexistentToken

The token does not exist.

ApprovalToCurrentOwner

The caller cannot approve to the current owner.

ApproveToCaller

The caller cannot approve to their own address.

BalanceQueryForZeroAddress

Cannot query the balance for the zero address.

MintToZeroAddress

Cannot mint to the zero address.

MintZeroQuantity

The quantity of tokens minted must be more than zero.

OwnerQueryForNonexistentToken

The token does not exist.

TransferCallerNotOwnerNorApproved

The caller must own the token or be an approved operator.

TransferFromIncorrectOwner

The token must be owned by from.

TransferToNonERC721ReceiverImplementer

Cannot safely transfer to a contract that does not implement the ERC721Receiver interface.

TransferToZeroAddress

Cannot transfer to the zero address.

URIQueryForNonexistentToken

The token does not exist.

Last updated