Skip to the content.

IERC721Upgradeable.sol

View Source: @openzeppelin\contracts-upgradeable\token\ERC721\IERC721Upgradeable.sol

↗ Extends: IERC165Upgradeable ↘ Derived Contracts: ERC721Upgradeable, IERC721EnumerableUpgradeable, IERC721MetadataUpgradeable

IERC721Upgradeable

Required interface of an ERC721 compliant contract.

Events

event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
event ApprovalForAll(address indexed owner, address indexed operator, bool  approved);

Functions

balanceOf

Returns the number of tokens in owner’s account.

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

Arguments

Name Type Description
owner address  

ownerOf

Returns the owner of the tokenId token. Requirements:

function ownerOf(uint256 tokenId) external view
returns(owner address)

Arguments

Name Type Description
tokenId uint256  

safeTransferFrom

Safely transfers tokenId token from from to to. Requirements:

function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) external nonpayable

Arguments

Name Type Description
from address  
to address  
tokenId uint256  
data bytes  

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:

function safeTransferFrom(address from, address to, uint256 tokenId) external nonpayable

Arguments

Name Type Description
from address  
to address  
tokenId uint256  

transferFrom

Transfers tokenId token from from to to. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements:

function transferFrom(address from, address to, uint256 tokenId) external nonpayable

Arguments

Name Type Description
from address  
to address  
tokenId uint256  

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:

function approve(address to, uint256 tokenId) external nonpayable

Arguments

Name Type Description
to address  
tokenId uint256  

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:

function setApprovalForAll(address operator, bool _approved) external nonpayable

Arguments

Name Type Description
operator address  
_approved bool  

getApproved

Returns the account approved for tokenId token. Requirements:

function getApproved(uint256 tokenId) external view
returns(operator address)

Arguments

Name Type Description
tokenId uint256  

isApprovedForAll

Returns if the operator is allowed to manage all of the assets of owner. See {setApprovalForAll}

function isApprovedForAll(address owner, address operator) external view
returns(bool)

Arguments

Name Type Description
owner address  
operator address  

Contracts