moved ERC165 interface IDs from ERC721 implementation files to the interface file (#1070)
This commit is contained in:
committed by
Matt Condon
parent
40b5594f52
commit
b120b9aff7
@ -8,6 +8,43 @@ import "../../introspection/ERC165.sol";
|
||||
* @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md
|
||||
*/
|
||||
contract ERC721Basic is ERC165 {
|
||||
|
||||
bytes4 internal constant InterfaceId_ERC721 = 0x80ac58cd;
|
||||
/*
|
||||
* 0x80ac58cd ===
|
||||
* bytes4(keccak256('balanceOf(address)')) ^
|
||||
* bytes4(keccak256('ownerOf(uint256)')) ^
|
||||
* bytes4(keccak256('approve(address,uint256)')) ^
|
||||
* bytes4(keccak256('getApproved(uint256)')) ^
|
||||
* bytes4(keccak256('setApprovalForAll(address,bool)')) ^
|
||||
* bytes4(keccak256('isApprovedForAll(address,address)')) ^
|
||||
* bytes4(keccak256('transferFrom(address,address,uint256)')) ^
|
||||
* bytes4(keccak256('safeTransferFrom(address,address,uint256)')) ^
|
||||
* bytes4(keccak256('safeTransferFrom(address,address,uint256,bytes)'))
|
||||
*/
|
||||
|
||||
bytes4 internal constant InterfaceId_ERC721Exists = 0x4f558e79;
|
||||
/*
|
||||
* 0x4f558e79 ===
|
||||
* bytes4(keccak256('exists(uint256)'))
|
||||
*/
|
||||
|
||||
bytes4 internal constant InterfaceId_ERC721Enumerable = 0x780e9d63;
|
||||
/**
|
||||
* 0x780e9d63 ===
|
||||
* bytes4(keccak256('totalSupply()')) ^
|
||||
* bytes4(keccak256('tokenOfOwnerByIndex(address,uint256)')) ^
|
||||
* bytes4(keccak256('tokenByIndex(uint256)'))
|
||||
*/
|
||||
|
||||
bytes4 internal constant InterfaceId_ERC721Metadata = 0x5b5e139f;
|
||||
/**
|
||||
* 0x5b5e139f ===
|
||||
* bytes4(keccak256('name()')) ^
|
||||
* bytes4(keccak256('symbol()')) ^
|
||||
* bytes4(keccak256('tokenURI(uint256)'))
|
||||
*/
|
||||
|
||||
event Transfer(
|
||||
address indexed _from,
|
||||
address indexed _to,
|
||||
|
||||
@ -13,26 +13,6 @@ import "../../introspection/SupportsInterfaceWithLookup.sol";
|
||||
*/
|
||||
contract ERC721BasicToken is SupportsInterfaceWithLookup, ERC721Basic {
|
||||
|
||||
bytes4 private constant InterfaceId_ERC721 = 0x80ac58cd;
|
||||
/*
|
||||
* 0x80ac58cd ===
|
||||
* bytes4(keccak256('balanceOf(address)')) ^
|
||||
* bytes4(keccak256('ownerOf(uint256)')) ^
|
||||
* bytes4(keccak256('approve(address,uint256)')) ^
|
||||
* bytes4(keccak256('getApproved(uint256)')) ^
|
||||
* bytes4(keccak256('setApprovalForAll(address,bool)')) ^
|
||||
* bytes4(keccak256('isApprovedForAll(address,address)')) ^
|
||||
* bytes4(keccak256('transferFrom(address,address,uint256)')) ^
|
||||
* bytes4(keccak256('safeTransferFrom(address,address,uint256)')) ^
|
||||
* bytes4(keccak256('safeTransferFrom(address,address,uint256,bytes)'))
|
||||
*/
|
||||
|
||||
bytes4 private constant InterfaceId_ERC721Exists = 0x4f558e79;
|
||||
/*
|
||||
* 0x4f558e79 ===
|
||||
* bytes4(keccak256('exists(uint256)'))
|
||||
*/
|
||||
|
||||
using SafeMath for uint256;
|
||||
using AddressUtils for address;
|
||||
|
||||
|
||||
@ -13,22 +13,6 @@ import "../../introspection/SupportsInterfaceWithLookup.sol";
|
||||
*/
|
||||
contract ERC721Token is SupportsInterfaceWithLookup, ERC721BasicToken, ERC721 {
|
||||
|
||||
bytes4 private constant InterfaceId_ERC721Enumerable = 0x780e9d63;
|
||||
/**
|
||||
* 0x780e9d63 ===
|
||||
* bytes4(keccak256('totalSupply()')) ^
|
||||
* bytes4(keccak256('tokenOfOwnerByIndex(address,uint256)')) ^
|
||||
* bytes4(keccak256('tokenByIndex(uint256)'))
|
||||
*/
|
||||
|
||||
bytes4 private constant InterfaceId_ERC721Metadata = 0x5b5e139f;
|
||||
/**
|
||||
* 0x5b5e139f ===
|
||||
* bytes4(keccak256('name()')) ^
|
||||
* bytes4(keccak256('symbol()')) ^
|
||||
* bytes4(keccak256('tokenURI(uint256)'))
|
||||
*/
|
||||
|
||||
// Token name
|
||||
string internal name_;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user