IERC721.sol 1.2 KB

123456789101112131415161718192021222324252627
  1. pragma solidity ^0.5.2;
  2. import "../../introspection/IERC165.sol";
  3. /**
  4. * @title ERC721 Non-Fungible Token Standard basic interface
  5. * @dev see https://eips.ethereum.org/EIPS/eip-721
  6. */
  7. contract IERC721 is IERC165 {
  8. event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
  9. event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
  10. event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
  11. function balanceOf(address owner) public view returns (uint256 balance);
  12. function ownerOf(uint256 tokenId) public view returns (address owner);
  13. function approve(address to, uint256 tokenId) public;
  14. function getApproved(uint256 tokenId) public view returns (address operator);
  15. function setApprovalForAll(address operator, bool _approved) public;
  16. function isApprovedForAll(address owner, address operator) public view returns (bool);
  17. function transferFrom(address from, address to, uint256 tokenId) public;
  18. function safeTransferFrom(address from, address to, uint256 tokenId) public;
  19. function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) public;
  20. }