pragma solidity ^0.4.21; contract Check721Signature { function with165() external pure returns (bytes4) { return bytes4( keccak256('balanceOf(address)') ^ keccak256('ownerOf(uint256)') ^ keccak256('safeTransferFrom(address,address,uint256,bytes)') ^ keccak256('safeTransferFrom(address,address,uint256)') ^ keccak256('transferFrom(address,address,uint256)') ^ keccak256('approve(address,uint256)') ^ keccak256('setApprovalForAll(address,bool)') ^ keccak256('getApproved(uint256)') ^ keccak256('isApprovedForAll(address,address)') ^ keccak256('supportsInterface(bytes4)') ); } function without165() external pure returns (bytes4) { return bytes4( keccak256('balanceOf(address)') ^ keccak256('ownerOf(uint256)') ^ keccak256('safeTransferFrom(address,address,uint256,bytes)') ^ keccak256('safeTransferFrom(address,address,uint256)') ^ keccak256('transferFrom(address,address,uint256)') ^ keccak256('approve(address,uint256)') ^ keccak256('setApprovalForAll(address,bool)') ^ keccak256('getApproved(uint256)') ^ keccak256('isApprovedForAll(address,address)') ); } }
0.4.21