Skip to content

Instantly share code, notes, and snippets.

@yuyasugano
Created January 9, 2019 23:45
Show Gist options
  • Save yuyasugano/ef84292d0e59f3fb2db936dd1ed2725a to your computer and use it in GitHub Desktop.
Save yuyasugano/ef84292d0e59f3fb2db936dd1ed2725a to your computer and use it in GitHub Desktop.
ERC721 basic interface
pragma solidity ^0.4.23;
import "../../introspection/IERC165.sol";
/**
* @title ERC721 Non-Fungible Token Standard basic interface
* @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md
*/
contract IERC721 is IERC165 {
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);
function balanceOf(address owner) public view returns (uint256 balance);
function ownerOf(uint256 tokenId) public view returns (address owner);
function approve(address to, uint256 tokenId) public;
function getApproved(uint256 tokenId) public view returns (address operator);
function setApprovalForAll(address operator, bool _approved) public;
function isApprovedForAll(address owner, address operator) public view returns (bool);
function transferFrom(address from, address to, uint256 tokenId) public;
function safeTransferFrom(address from, address to, uint256 tokenId) public;
function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) public;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment