@@ -8,6 +8,43 @@ import "../../introspection/ERC165.sol";
88 * @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md
99 */
1010contract ERC721Basic is ERC165 {
11+
12+ bytes4 internal constant InterfaceId_ERC721 = 0x80ac58cd ;
13+ /*
14+ * 0x80ac58cd ===
15+ * bytes4(keccak256('balanceOf(address)')) ^
16+ * bytes4(keccak256('ownerOf(uint256)')) ^
17+ * bytes4(keccak256('approve(address,uint256)')) ^
18+ * bytes4(keccak256('getApproved(uint256)')) ^
19+ * bytes4(keccak256('setApprovalForAll(address,bool)')) ^
20+ * bytes4(keccak256('isApprovedForAll(address,address)')) ^
21+ * bytes4(keccak256('transferFrom(address,address,uint256)')) ^
22+ * bytes4(keccak256('safeTransferFrom(address,address,uint256)')) ^
23+ * bytes4(keccak256('safeTransferFrom(address,address,uint256,bytes)'))
24+ */
25+
26+ bytes4 internal constant InterfaceId_ERC721Exists = 0x4f558e79 ;
27+ /*
28+ * 0x4f558e79 ===
29+ * bytes4(keccak256('exists(uint256)'))
30+ */
31+
32+ bytes4 internal constant InterfaceId_ERC721Enumerable = 0x780e9d63 ;
33+ /**
34+ * 0x780e9d63 ===
35+ * bytes4(keccak256('totalSupply()')) ^
36+ * bytes4(keccak256('tokenOfOwnerByIndex(address,uint256)')) ^
37+ * bytes4(keccak256('tokenByIndex(uint256)'))
38+ */
39+
40+ bytes4 internal constant InterfaceId_ERC721Metadata = 0x5b5e139f ;
41+ /**
42+ * 0x5b5e139f ===
43+ * bytes4(keccak256('name()')) ^
44+ * bytes4(keccak256('symbol()')) ^
45+ * bytes4(keccak256('tokenURI(uint256)'))
46+ */
47+
1148 event Transfer (
1249 address indexed _from ,
1350 address indexed _to ,
0 commit comments