Skip to main content

Solidity API

ERC721Executable

_tokenIDs

mapping(uint8 => mapping(address => struct EnumerableSet.UintSet)) _tokenIDs

_tokenOwners

mapping(uint8 => struct EnumerableMap.UintToAddressMap) _tokenOwners

_tokenApprovals

mapping(uint256 => address) _tokenApprovals

constructor

constructor(address bridgeAddress) internal

rollup

function rollup(uint8 targetDomainID, bytes32 resourceID, uint64 batchSize) external

Executes rollup.

Requirements:

  • It must be called by only rollup admin.

approve

function approve(address to, uint256 tokenId) public virtual

See {IERC721-approve}.

ownerOf

function ownerOf(uint256 tokenId) public view virtual returns (address)

See {IERC721-ownerOf}.

balanceOf

function balanceOf(address owner) public view virtual returns (uint256)

See {IERC721-balanceOf}.

getApproved

function getApproved(uint256 tokenId) public view virtual returns (address)

See {IERC721-getApproved}.

totalSupply

function totalSupply() public view virtual returns (uint256)

See {IERC721Enumerable-totalSupply}.

tokenOfOwnerByIndex

function tokenOfOwnerByIndex(address owner, uint256 index) public view virtual returns (uint256)

See {IERC721Enumerable-tokenOfOwnerByIndex}.

tokenByIndex

function tokenByIndex(uint256 index) public view virtual returns (uint256)

See {IERC721Enumerable-tokenByIndex}.

supportsInterface

function supportsInterface(bytes4 interfaceId) public view virtual returns (bool)

See {IERC165-supportsInterface}.

_exists

function _exists(uint256 tokenId) internal view virtual returns (bool)

Returns whether tokenId exists. Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}. Tokens start existing when they are minted (_mint), and stop existing when they are burned (_burn).

_mint

function _mint(address to, uint256 tokenId) internal virtual

Mints tokenId and transfers it to to. WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible

Requirements:

  • tokenId must not exist.
  • to cannot be the zero address.

Emits a {Transfer} event.

_burn

function _burn(uint256 tokenId) internal virtual

Destroys tokenId.

Requirements:

  • tokenId must exist.

Emits a {Transfer} event.

The approval is cleared when the token is burned.

_transfer

function _transfer(address from, address to, uint256 tokenId) internal virtual

Transfers tokenId from from to to.

Requirements:

  • to cannot be the zero address.
  • tokenId token must be owned by from.

Emits a {Transfer} event.

As opposed to {transferFrom}, this imposes no restrictions on msg.sender.

_approve

function _approve(address to, uint256 tokenId) internal virtual

Approve to to operate on tokenId

Emits an {Approval} event.

_isApprovedOrOwner

function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool)

Returns whether spender is allowed to manage tokenId.

Requirements:

  • tokenId must exist.