Feature Tip: Add private address tag to any address under My Name Tag !
Overview
TokenID
23381
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
EtheremonAdventureItem
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-08-02 */ pragma solidity ^0.4.23; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { if (a == 0) { return 0; } c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 // uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return a / b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a); return c; } } /** * Utility library of inline functions on addresses */ library AddressUtils { /** * Returns whether the target address is a contract * @dev This function will return false if invoked during the constructor of a contract, * as the code is not actually created until after the constructor finishes. * @param addr address to check * @return whether the target address is a contract */ function isContract(address addr) internal view returns (bool) { uint256 size; // XXX Currently there is no better way to check if there is a contract in an address // than to check the size of the code at that address. // See https://ethereum.stackexchange.com/a/14016/36603 // for more details about how this works. // TODO Check this again before the Serenity release, because all addresses will be // contracts then. // solium-disable-next-line security/no-inline-assembly assembly { size := extcodesize(addr) } return size > 0; } } interface ERC165 { function supportsInterface(bytes4 _interfaceID) external view returns (bool); } contract SupportsInterface is ERC165 { mapping(bytes4 => bool) internal supportedInterfaces; constructor() public { supportedInterfaces[0x01ffc9a7] = true; // ERC165 } function supportsInterface(bytes4 _interfaceID) external view returns (bool) { return supportedInterfaces[_interfaceID]; } } interface ERC721 { 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) external view returns (uint256); function ownerOf(uint256 _tokenId) external view returns (address); function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes _data) external; function safeTransferFrom(address _from, address _to, uint256 _tokenId) external; function transferFrom(address _from, address _to, uint256 _tokenId) external; function transfer(address _to, uint256 _tokenId) external; function approve(address _approved, uint256 _tokenId) external; function setApprovalForAll(address _operator, bool _approved) external; function getApproved(uint256 _tokenId) external view returns (address); function isApprovedForAll(address _owner, address _operator) external view returns (bool); } interface ERC721Enumerable { function totalSupply() external view returns (uint256); function tokenByIndex(uint256 _index) external view returns (uint256); function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256); } interface ERC721Metadata { function name() external view returns (string _name); function symbol() external view returns (string _symbol); function tokenURI(uint256 _tokenId) external view returns (string); } interface ERC721TokenReceiver { function onERC721Received(address _operator, address _from, uint256 _tokenId, bytes _data) external returns(bytes4); } contract NFToken is ERC721, SupportsInterface { using SafeMath for uint256; using AddressUtils for address; // A mapping from NFT ID to the address that owns it. mapping (uint256 => address) internal idToOwner; // Mapping from NFT ID to approved address. mapping (uint256 => address) internal idToApprovals; // Mapping from owner address to count of his tokens. mapping (address => uint256) internal ownerToNFTokenCount; // Mapping from owner address to mapping of operator addresses. mapping (address => mapping (address => bool)) internal ownerToOperators; /** * @dev Magic value of a smart contract that can recieve NFT. * Equal to: bytes4(keccak256("onERC721Received(address,address,uint256,bytes)")). */ bytes4 constant MAGIC_ON_ERC721_RECEIVED = 0x150b7a02; 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); modifier canOperate(uint256 _tokenId) { address tokenOwner = idToOwner[_tokenId]; require(tokenOwner == msg.sender || ownerToOperators[tokenOwner][msg.sender]); _; } modifier canTransfer(uint256 _tokenId) { address tokenOwner = idToOwner[_tokenId]; require(tokenOwner == msg.sender || getApproved(_tokenId) == msg.sender || ownerToOperators[tokenOwner][msg.sender]); _; } modifier validNFToken(uint256 _tokenId) { require(idToOwner[_tokenId] != address(0)); _; } constructor() public { supportedInterfaces[0x80ac58cd] = true; // ERC721 } function balanceOf(address _owner) external view returns (uint256) { require(_owner != address(0)); return ownerToNFTokenCount[_owner]; } function ownerOf(uint256 _tokenId) external view returns (address _owner) { _owner = idToOwner[_tokenId]; require(_owner != address(0)); } function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes _data) external { _safeTransferFrom(_from, _to, _tokenId, _data); } function safeTransferFrom(address _from, address _to, uint256 _tokenId) external { _safeTransferFrom(_from, _to, _tokenId, ""); } function transferFrom(address _from, address _to, uint256 _tokenId) external canTransfer(_tokenId) validNFToken(_tokenId) { address tokenOwner = idToOwner[_tokenId]; require(tokenOwner == _from); require(_to != address(0)); _transfer(_to, _tokenId); } function transfer(address _to, uint256 _tokenId) external canTransfer(_tokenId) validNFToken(_tokenId) { address tokenOwner = idToOwner[_tokenId]; require(tokenOwner == msg.sender); require(_to != address(0)); _transfer(_to, _tokenId); } function approve(address _approved, uint256 _tokenId) external canOperate(_tokenId) validNFToken(_tokenId) { address tokenOwner = idToOwner[_tokenId]; require(_approved != tokenOwner); idToApprovals[_tokenId] = _approved; emit Approval(tokenOwner, _approved, _tokenId); } function setApprovalForAll(address _operator, bool _approved) external { require(_operator != address(0)); ownerToOperators[msg.sender][_operator] = _approved; emit ApprovalForAll(msg.sender, _operator, _approved); } function getApproved(uint256 _tokenId) public view validNFToken(_tokenId) returns (address) { return idToApprovals[_tokenId]; } function isApprovedForAll(address _owner, address _operator) external view returns (bool) { require(_owner != address(0)); require(_operator != address(0)); return ownerToOperators[_owner][_operator]; } function _safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes _data) internal canTransfer(_tokenId) validNFToken(_tokenId) { address tokenOwner = idToOwner[_tokenId]; require(tokenOwner == _from); require(_to != address(0)); _transfer(_to, _tokenId); if (_to.isContract()) { bytes4 retval = ERC721TokenReceiver(_to).onERC721Received(msg.sender, _from, _tokenId, _data); require(retval == MAGIC_ON_ERC721_RECEIVED); } } function _transfer(address _to, uint256 _tokenId) private { address from = idToOwner[_tokenId]; clearApproval(_tokenId); removeNFToken(from, _tokenId); addNFToken(_to, _tokenId); emit Transfer(from, _to, _tokenId); } function _mint(address _to, uint256 _tokenId) internal { require(_to != address(0)); require(_tokenId != 0); require(idToOwner[_tokenId] == address(0)); addNFToken(_to, _tokenId); emit Transfer(address(0), _to, _tokenId); } function _burn(address _owner, uint256 _tokenId) validNFToken(_tokenId) internal { clearApproval(_tokenId); removeNFToken(_owner, _tokenId); emit Transfer(_owner, address(0), _tokenId); } function clearApproval(uint256 _tokenId) private { if(idToApprovals[_tokenId] != 0) { delete idToApprovals[_tokenId]; } } function removeNFToken(address _from, uint256 _tokenId) internal { require(idToOwner[_tokenId] == _from); assert(ownerToNFTokenCount[_from] > 0); ownerToNFTokenCount[_from] = ownerToNFTokenCount[_from] - 1; delete idToOwner[_tokenId]; } function addNFToken(address _to, uint256 _tokenId) internal { require(idToOwner[_tokenId] == address(0)); idToOwner[_tokenId] = _to; ownerToNFTokenCount[_to] = ownerToNFTokenCount[_to].add(1); } } contract NFTokenEnumerable is NFToken, ERC721Enumerable { // Array of all NFT IDs. uint256[] internal tokens; // Mapping from token ID its index in global tokens array. mapping(uint256 => uint256) internal idToIndex; // Mapping from owner to list of owned NFT IDs. mapping(address => uint256[]) internal ownerToIds; // Mapping from NFT ID to its index in the owner tokens list. mapping(uint256 => uint256) internal idToOwnerIndex; constructor() public { supportedInterfaces[0x780e9d63] = true; // ERC721Enumerable } function _mint(address _to, uint256 _tokenId) internal { super._mint(_to, _tokenId); uint256 length = tokens.push(_tokenId); idToIndex[_tokenId] = length - 1; } function _burn(address _owner, uint256 _tokenId) internal { super._burn(_owner, _tokenId); assert(tokens.length > 0); uint256 tokenIndex = idToIndex[_tokenId]; // Sanity check. This could be removed in the future. assert(tokens[tokenIndex] == _tokenId); uint256 lastTokenIndex = tokens.length - 1; uint256 lastToken = tokens[lastTokenIndex]; tokens[tokenIndex] = lastToken; tokens.length--; // Consider adding a conditional check for the last token in order to save GAS. idToIndex[lastToken] = tokenIndex; idToIndex[_tokenId] = 0; } function removeNFToken(address _from, uint256 _tokenId) internal { super.removeNFToken(_from, _tokenId); assert(ownerToIds[_from].length > 0); uint256 tokenToRemoveIndex = idToOwnerIndex[_tokenId]; uint256 lastTokenIndex = ownerToIds[_from].length - 1; uint256 lastToken = ownerToIds[_from][lastTokenIndex]; ownerToIds[_from][tokenToRemoveIndex] = lastToken; ownerToIds[_from].length--; // Consider adding a conditional check for the last token in order to save GAS. idToOwnerIndex[lastToken] = tokenToRemoveIndex; idToOwnerIndex[_tokenId] = 0; } function addNFToken(address _to, uint256 _tokenId) internal { super.addNFToken(_to, _tokenId); uint256 length = ownerToIds[_to].push(_tokenId); idToOwnerIndex[_tokenId] = length - 1; } function totalSupply() external view returns (uint256) { return tokens.length; } function tokenByIndex(uint256 _index) external view returns (uint256) { require(_index < tokens.length); // Sanity check. This could be removed in the future. assert(idToIndex[tokens[_index]] == _index); return tokens[_index]; } function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256) { require(_index < ownerToIds[_owner].length); return ownerToIds[_owner][_index]; } } contract NFTStandard is NFTokenEnumerable, ERC721Metadata { string internal nftName; string internal nftSymbol; mapping (uint256 => string) internal idToUri; constructor(string _name, string _symbol) public { nftName = _name; nftSymbol = _symbol; supportedInterfaces[0x5b5e139f] = true; // ERC721Metadata } function _burn(address _owner, uint256 _tokenId) internal { super._burn(_owner, _tokenId); if (bytes(idToUri[_tokenId]).length != 0) { delete idToUri[_tokenId]; } } function _setTokenUri(uint256 _tokenId, string _uri) validNFToken(_tokenId) internal { idToUri[_tokenId] = _uri; } function name() external view returns (string _name) { _name = nftName; } function symbol() external view returns (string _symbol) { _symbol = nftSymbol; } function tokenURI(uint256 _tokenId) validNFToken(_tokenId) external view returns (string) { return idToUri[_tokenId]; } } contract BasicAccessControl { address public owner; // address[] public moderators; uint16 public totalModerators = 0; mapping (address => bool) public moderators; bool public isMaintaining = false; constructor() public { owner = msg.sender; } modifier onlyOwner { require(msg.sender == owner); _; } modifier onlyModerators() { require(msg.sender == owner || moderators[msg.sender] == true); _; } modifier isActive { require(!isMaintaining); _; } function ChangeOwner(address _newOwner) onlyOwner public { if (_newOwner != address(0)) { owner = _newOwner; } } function AddModerator(address _newModerator) onlyOwner public { if (moderators[_newModerator] == false) { moderators[_newModerator] = true; totalModerators += 1; } } function RemoveModerator(address _oldModerator) onlyOwner public { if (moderators[_oldModerator] == true) { moderators[_oldModerator] = false; totalModerators -= 1; } } function UpdateMaintaining(bool _isMaintaining) onlyOwner public { isMaintaining = _isMaintaining; } } interface EtheremonAdventureHandler { function handleSingleItem(address _sender, uint _classId, uint _value, uint _target, uint _param) external; function handleMultipleItems(address _sender, uint _classId1, uint _classId2, uint _classId3, uint _target, uint _param) external; } contract EtheremonAdventureItem is NFTStandard("EtheremonAdventure", "EMOND"), BasicAccessControl { uint constant public MAX_OWNER_PERS_SITE = 10; uint constant public MAX_SITE_ID = 108; uint constant public MAX_SITE_TOKEN_ID = 1080; // smartcontract address public adventureHandler; // class sites: 1 -> 108 // shard: 109 - 126 // level, exp struct Item { uint classId; uint value; } uint public totalItem = MAX_SITE_TOKEN_ID; mapping (uint => Item) public items; // token id => info modifier requireAdventureHandler { require(adventureHandler != address(0)); _; } function setAdventureHandler(address _adventureHandler) onlyModerators external { adventureHandler = _adventureHandler; } function setTokenURI(uint256 _tokenId, string _uri) onlyModerators external { _setTokenUri(_tokenId, _uri); } function spawnSite(uint _classId, uint _tokenId, address _owner) onlyModerators external { if (_owner == address(0)) revert(); if (_classId > MAX_SITE_ID || _classId == 0 || _tokenId > MAX_SITE_TOKEN_ID || _tokenId == 0) revert(); Item storage item = items[_tokenId]; if (item.classId != 0) revert(); // token existed item.classId = _classId; _mint(_owner, _tokenId); } function spawnItem(uint _classId, uint _value, address _owner) onlyModerators external returns(uint) { if (_owner == address(0)) revert(); if (_classId <= MAX_SITE_ID) revert(); totalItem += 1; Item storage item = items[totalItem]; item.classId = _classId; item.value = _value; _mint(_owner, totalItem); return totalItem; } // public write function useSingleItem(uint _tokenId, uint _target, uint _param) isActive requireAdventureHandler public { // check ownership if (_tokenId == 0 || idToOwner[_tokenId] != msg.sender) revert(); Item storage item = items[_tokenId]; EtheremonAdventureHandler handler = EtheremonAdventureHandler(adventureHandler); handler.handleSingleItem(msg.sender, item.classId, item.value, _target, _param); _burn(msg.sender, _tokenId); } function useMultipleItem(uint _token1, uint _token2, uint _token3, uint _target, uint _param) isActive requireAdventureHandler public { if (_token1 > 0 && idToOwner[_token1] != msg.sender) revert(); if (_token2 > 0 && idToOwner[_token2] != msg.sender) revert(); if (_token3 > 0 && idToOwner[_token3] != msg.sender) revert(); Item storage item1 = items[_token1]; Item storage item2 = items[_token2]; Item storage item3 = items[_token3]; EtheremonAdventureHandler handler = EtheremonAdventureHandler(adventureHandler); handler.handleMultipleItems(msg.sender, item1.classId, item2.classId, item3.classId, _target, _param); if (_token1 > 0) _burn(msg.sender, _token1); if (_token2 > 0) _burn(msg.sender, _token2); if (_token3 > 0) _burn(msg.sender, _token3); } // public read function getItemInfo(uint _tokenId) constant public returns(uint classId, uint value) { Item storage item = items[_tokenId]; classId = item.classId; value = item.value; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"_interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_SITE_TOKEN_ID","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"_name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_approved","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_adventureHandler","type":"address"}],"name":"setAdventureHandler","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"moderators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_uri","type":"string"}],"name":"setTokenURI","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_SITE_ID","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_target","type":"uint256"},{"name":"_param","type":"uint256"}],"name":"useSingleItem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_isMaintaining","type":"bool"}],"name":"UpdateMaintaining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalModerators","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"_owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newModerator","type":"address"}],"name":"AddModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MAX_OWNER_PERS_SITE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"_symbol","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_operator","type":"address"},{"name":"_approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"adventureHandler","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_oldModerator","type":"address"}],"name":"RemoveModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token1","type":"uint256"},{"name":"_token2","type":"uint256"},{"name":"_token3","type":"uint256"},{"name":"_target","type":"uint256"},{"name":"_param","type":"uint256"}],"name":"useMultipleItem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalItem","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"items","outputs":[{"name":"classId","type":"uint256"},{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_classId","type":"uint256"},{"name":"_value","type":"uint256"},{"name":"_owner","type":"address"}],"name":"spawnItem","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getItemInfo","outputs":[{"name":"classId","type":"uint256"},{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_classId","type":"uint256"},{"name":"_tokenId","type":"uint256"},{"name":"_owner","type":"address"}],"name":"spawnSite","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isMaintaining","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"ChangeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":true,"name":"_tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_approved","type":"address"},{"indexed":true,"name":"_tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_operator","type":"address"},{"indexed":false,"name":"_approved","type":"bool"}],"name":"ApprovalForAll","type":"event"}]
Contract Creation Code
600c805460a060020a61ffff0219169055600e805460ff19908116909155610438600f55601260808181527f4574686572656d6f6e416476656e74757265000000000000000000000000000060a0908152610100604052600560c09081527f454d4f4e4400000000000000000000000000000000000000000000000000000060e052600060208190527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c58054871660019081179091557ff7815fccbf112960a73756e185887fedcb9fc64ca0a16cc5923b7960ed78080080548816821790557f780e9d63000000000000000000000000000000000000000000000000000000009091527f77b7bbe0e49b76487c9476b5db3354cf5270619d0037ccb899c2a4c4a75b43188054909616179094559092916200013d91600991620001c3565b5080516200015390600a906020840190620001c3565b50507f5b5e139f000000000000000000000000000000000000000000000000000000006000908152602052507f9562381dfbc2d8b8b66e765249f330164b73e329e5f01670660643571d1974df805460ff19166001179055600c8054600160a060020a0319163317905562000268565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200020657805160ff191683800117855562000236565b8280016001018555821562000236579182015b828111156200023657825182559160200191906001019062000219565b506200024492915062000248565b5090565b6200026591905b808211156200024457600081556001016200024f565b90565b611fb980620002786000396000f3006080604052600436106101d75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a781146101dc578063030a78aa1461022757806306fdde031461024e578063081812fc146102d8578063095ea7b31461030c5780630b2c588c1461033257806314d0f1ba14610353578063162094c41461037457806318160ddd146103985780631a5b8f96146103ad57806323b872dd146103c25780632f745c59146103ec5780633f1a1cac1461041057806342842e0e1461042e57806348ef5aa8146104585780634efb023e146104725780634f6ccce71461049e5780636352211e146104b65780636c81fd6d146104ce5780636e575537146104ef57806370a08231146105045780638da5cb5b1461052557806395d89b411461053a578063a22cb4651461054f578063a9059cbb14610575578063b239e2f114610599578063b85d6275146105ae578063b88d4fde146105cf578063b919be6614610608578063bda4fd891461062c578063bfb231d214610641578063c87b56dd14610672578063d33925451461068a578063de7fe3e7146106b1578063e985e9c5146106c9578063ebf06bcb146106f0578063ee4e441614610717578063f28532921461072c575b600080fd5b3480156101e857600080fd5b506102137bffffffffffffffffffffffffffffffffffffffffffffffffffffffff196004351661074d565b604080519115158252519081900360200190f35b34801561023357600080fd5b5061023c610785565b60408051918252519081900360200190f35b34801561025a57600080fd5b5061026361078b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029d578181015183820152602001610285565b50505050905090810190601f1680156102ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102e457600080fd5b506102f0600435610821565b60408051600160a060020a039092168252519081900360200190f35b34801561031857600080fd5b50610330600160a060020a0360043516602435610863565b005b34801561033e57600080fd5b50610330600160a060020a0360043516610974565b34801561035f57600080fd5b50610213600160a060020a03600435166109e1565b34801561038057600080fd5b506103306004803590602480359081019101356109f6565b3480156103a457600080fd5b5061023c610a6d565b3480156103b957600080fd5b5061023c610a74565b3480156103ce57600080fd5b50610330600160a060020a0360043581169060243516604435610a79565b3480156103f857600080fd5b5061023c600160a060020a0360043516602435610b60565b34801561041c57600080fd5b50610330600435602435604435610bbb565b34801561043a57600080fd5b50610330600160a060020a0360043581169060243516604435610cde565b34801561046457600080fd5b506103306004351515610cfa565b34801561047e57600080fd5b50610487610d24565b6040805161ffff9092168252519081900360200190f35b3480156104aa57600080fd5b5061023c600435610d46565b3480156104c257600080fd5b506102f0600435610dae565b3480156104da57600080fd5b50610330600160a060020a0360043516610dd2565b3480156104fb57600080fd5b5061023c610e7f565b34801561051057600080fd5b5061023c600160a060020a0360043516610e84565b34801561053157600080fd5b506102f0610eb7565b34801561054657600080fd5b50610263610ec6565b34801561055b57600080fd5b50610330600160a060020a03600435166024351515610f27565b34801561058157600080fd5b50610330600160a060020a0360043516602435610faa565b3480156105a557600080fd5b506102f061108d565b3480156105ba57600080fd5b50610330600160a060020a03600435166110a1565b3480156105db57600080fd5b50610330600160a060020a0360048035821691602480359091169160443591606435908101910135611148565b34801561061457600080fd5b50610330600435602435604435606435608435611184565b34801561063857600080fd5b5061023c61135b565b34801561064d57600080fd5b50610659600435611361565b6040805192835260208301919091528051918290030190f35b34801561067e57600080fd5b5061026360043561137a565b34801561069657600080fd5b5061023c600435602435600160a060020a0360443516611442565b3480156106bd57600080fd5b506106596004356114de565b3480156106d557600080fd5b50610213600160a060020a03600435811690602435166114f8565b3480156106fc57600080fd5b50610330600435602435600160a060020a0360443516611553565b34801561072357600080fd5b506102136115fd565b34801561073857600080fd5b50610330600160a060020a0360043516611606565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19811660009081526020819052604090205460ff165b919050565b61043881565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108175780601f106107ec57610100808354040283529160200191610817565b820191906000526020600020905b8154815290600101906020018083116107fa57829003601f168201915b5050505050905090565b6000818152600160205260408120548290600160a060020a0316151561084657600080fd5b5050600090815260026020526040902054600160a060020a031690565b6000818152600160205260408120548290600160a060020a0316338114806108ae5750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b15156108b957600080fd5b6000848152600160205260409020548490600160a060020a031615156108de57600080fd5b600085815260016020526040902054600160a060020a039081169450861684141561090857600080fd5b600085815260026020526040808220805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038a811691821790925591518893918816917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050505050565b600c54600160a060020a03163314806109a15750336000908152600d602052604090205460ff1615156001145b15156109ac57600080fd5b600e8054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b600d6020526000908152604090205460ff1681565b600c54600160a060020a0316331480610a235750336000908152600d602052604090205460ff1615156001145b1515610a2e57600080fd5b610a688383838080601f01602080910402602001604051908101604052809392919081815260200183838082843750611659945050505050565b505050565b6005545b90565b606c81565b6000818152600160205260408120548290600160a060020a031633811480610ab1575033610aa683610821565b600160a060020a0316145b80610adf5750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b1515610aea57600080fd5b6000848152600160205260409020548490600160a060020a03161515610b0f57600080fd5b600085815260016020526040902054600160a060020a03908116945087168414610b3857600080fd5b600160a060020a0386161515610b4d57600080fd5b610b57868661169d565b50505050505050565b600160a060020a0382166000908152600760205260408120548210610b8457600080fd5b600160a060020a0383166000908152600760205260409020805483908110610ba857fe5b9060005260206000200154905092915050565b600e54600090819060ff1615610bd057600080fd5b600e546101009004600160a060020a03161515610bec57600080fd5b841580610c105750600085815260016020526040902054600160a060020a03163314155b15610c1a57600080fd5b5050600083815260106020526040808220600e548154600183015484517f1b44a5ef00000000000000000000000000000000000000000000000000000000815233600482015260248101929092526044820152606481018790526084810186905292519193610100909104600160a060020a0316928392631b44a5ef9260a48084019391929182900301818387803b158015610cb557600080fd5b505af1158015610cc9573d6000803e3d6000fd5b50505050610cd73386611718565b5050505050565b610a688383836020604051908101604052806000815250611764565b600c54600160a060020a03163314610d1157600080fd5b600e805460ff1916911515919091179055565b600c5474010000000000000000000000000000000000000000900461ffff1681565b6005546000908210610d5757600080fd5b8160066000600585815481101515610d6b57fe5b9060005260206000200154815260200190815260200160002054141515610d8e57fe5b6005805483908110610d9c57fe5b90600052602060002001549050919050565b600081815260016020526040902054600160a060020a031680151561078057600080fd5b600c54600160a060020a03163314610de957600080fd5b600160a060020a0381166000908152600d602052604090205460ff161515610e7c57600160a060020a0381166000908152600d60205260409020805460ff19166001908117909155600c805461ffff7401000000000000000000000000000000000000000080830482169094011690920275ffff0000000000000000000000000000000000000000199092169190911790555b50565b600a81565b6000600160a060020a0382161515610e9b57600080fd5b50600160a060020a031660009081526003602052604090205490565b600c54600160a060020a031681565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108175780601f106107ec57610100808354040283529160200191610817565b600160a060020a0382161515610f3c57600080fd5b336000818152600460209081526040808320600160a060020a03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6000818152600160205260408120548290600160a060020a031633811480610fe2575033610fd783610821565b600160a060020a0316145b806110105750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b151561101b57600080fd5b6000848152600160205260409020548490600160a060020a0316151561104057600080fd5b600085815260016020526040902054600160a060020a0316935033841461106657600080fd5b600160a060020a038616151561107b57600080fd5b611085868661169d565b505050505050565b600e546101009004600160a060020a031681565b600c54600160a060020a031633146110b857600080fd5b600160a060020a0381166000908152600d602052604090205460ff16151560011415610e7c57600160a060020a03166000908152600d60205260409020805460ff19169055600c805475ffff0000000000000000000000000000000000000000198116740100000000000000000000000000000000000000009182900461ffff9081166000190116909102179055565b610cd785858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843750611764945050505050565b600e5460009081908190819060ff161561119d57600080fd5b600e546101009004600160a060020a031615156111b957600080fd5b6000891180156111e05750600089815260016020526040902054600160a060020a03163314155b156111ea57600080fd5b6000881180156112115750600088815260016020526040902054600160a060020a03163314155b1561121b57600080fd5b6000871180156112425750600087815260016020526040902054600160a060020a03163314155b1561124c57600080fd5b505050600086815260106020526040808220878352818320878452828420600e5483548354835487517f5477e571000000000000000000000000000000000000000000000000000000008152336004820152602481019390935260448301919091526064820152608481018a905260a48101899052945193965091949093610100909204600160a060020a0316928392635477e5719260c480830193919282900301818387803b1580156112ff57600080fd5b505af1158015611313573d6000803e3d6000fd5b50505050600089111561132a5761132a338a611718565b600088111561133d5761133d3389611718565b6000871115611350576113503388611718565b505050505050505050565b600f5481565b6010602052600090815260409020805460019091015482565b6000818152600160205260409020546060908290600160a060020a031615156113a257600080fd5b6000838152600b602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156114355780601f1061140a57610100808354040283529160200191611435565b820191906000526020600020905b81548152906001019060200180831161141857829003601f168201915b5050505050915050919050565b600c546000908190600160a060020a03163314806114745750336000908152600d602052604090205460ff1615156001145b151561147f57600080fd5b600160a060020a038316151561149457600080fd5b606c85116114a157600080fd5b50600f80546001908101808355600090815260106020526040902086815590810185905590546114d29084906119b6565b5050600f549392505050565b600090815260106020526040902080546001909101549091565b6000600160a060020a038316151561150f57600080fd5b600160a060020a038216151561152457600080fd5b50600160a060020a03918216600090815260046020908152604080832093909416825291909152205460ff1690565b600c54600090600160a060020a03163314806115835750336000908152600d602052604090205460ff1615156001145b151561158e57600080fd5b600160a060020a03821615156115a357600080fd5b606c8411806115b0575083155b806115bc575061043883115b806115c5575082155b156115cf57600080fd5b5060008281526010602052604090208054156115ea57600080fd5b8381556115f782846119b6565b50505050565b600e5460ff1681565b600c54600160a060020a0316331461161d57600080fd5b600160a060020a03811615610e7c57600c8054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b6000828152600160205260409020548290600160a060020a0316151561167e57600080fd5b6000838152600b6020908152604090912083516115f792850190611e91565b600081815260016020526040902054600160a060020a03166116be82611a07565b6116c88183611a4f565b6116d28383611b50565b8183600160a060020a031682600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6117228282611b99565b6000818152600b60205260409020546002600019610100600184161502019091160415611760576000818152600b6020526040812061176091611f0f565b5050565b60008281526001602052604081205481908490600160a060020a03163381148061179e57503361179383610821565b600160a060020a0316145b806117cc5750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b15156117d757600080fd5b6000868152600160205260409020548690600160a060020a031615156117fc57600080fd5b600087815260016020526040902054600160a060020a0390811695508916851461182557600080fd5b600160a060020a038816151561183a57600080fd5b611844888861169d565b61185688600160a060020a0316611c59565b15611350576040517f150b7a020000000000000000000000000000000000000000000000000000000081523360048201818152600160a060020a038c81166024850152604484018b90526080606485019081528a5160848601528a51918d169463150b7a0294938f938e938e93909160a490910190602085019080838360005b838110156118ee5781810151838201526020016118d6565b50505050905090810190601f16801561191b5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561193d57600080fd5b505af1158015611951573d6000803e3d6000fd5b505050506040513d602081101561196757600080fd5b505193507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1984167f150b7a02000000000000000000000000000000000000000000000000000000001461135057600080fd5b60006119c28383611c61565b5060058054600181019091557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db081018290556000918252600660205260409091205550565b600081815260026020526040902054600160a060020a031615610e7c576000908152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000806000611a5e8585611cea565b600160a060020a03851660009081526007602052604081205411611a7e57fe5b600084815260086020908152604080832054600160a060020a038916845260079092529091208054919450600019820193509083908110611abb57fe5b90600052602060002001549050806007600087600160a060020a0316600160a060020a0316815260200190815260200160002084815481101515611afb57fe5b6000918252602080832090910192909255600160a060020a0387168152600790915260409020805490611b32906000198301611f53565b50600090815260086020526040808220939093559283525081205550565b6000611b5c8383611d79565b50600160a060020a039091166000908152600760209081526040808320805460018101825590845282842081018590559383526008909152902055565b6000806000611ba88585611e09565b600554600010611bb457fe5b60008481526006602052604090205460058054919450859185908110611bd657fe5b9060005260206000200154141515611bea57fe5b600580546000198101935083908110611bff57fe5b9060005260206000200154905080600584815481101515611c1c57fe5b6000918252602090912001556005805490611c3b906000198301611f53565b50600090815260066020526040808220939093559283525081205550565b6000903b1190565b600160a060020a0382161515611c7657600080fd5b801515611c8257600080fd5b600081815260016020526040902054600160a060020a031615611ca457600080fd5b611cae8282611b50565b6040518190600160a060020a038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600081815260016020526040902054600160a060020a03838116911614611d1057600080fd5b600160a060020a03821660009081526003602052604081205411611d3057fe5b600160a060020a03909116600090815260036020908152604080832080546000190190559282526001905220805473ffffffffffffffffffffffffffffffffffffffff19169055565b600081815260016020526040902054600160a060020a031615611d9b57600080fd5b6000818152600160208181526040808420805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0388169081179091558452600390915290912054611de991611e7e565b600160a060020a0390921660009081526003602052604090209190915550565b6000818152600160205260409020548190600160a060020a03161515611e2e57600080fd5b611e3782611a07565b611e418383611a4f565b6040518290600090600160a060020a038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b81810182811015611e8b57fe5b92915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611ed257805160ff1916838001178555611eff565b82800160010185558215611eff579182015b82811115611eff578251825591602001919060010190611ee4565b50611f0b929150611f73565b5090565b50805460018160011615610100020316600290046000825580601f10611f355750610e7c565b601f016020900490600052602060002090810190610e7c9190611f73565b815481835581811115610a6857600083815260209020610a689181019083015b610a7191905b80821115611f0b5760008155600101611f795600a165627a7a723058203456066a31d1f8ee77fe871662f4585d472dfbd8b72f8893bd3e8a65ba198ac70029
Deployed Bytecode
0x6080604052600436106101d75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a781146101dc578063030a78aa1461022757806306fdde031461024e578063081812fc146102d8578063095ea7b31461030c5780630b2c588c1461033257806314d0f1ba14610353578063162094c41461037457806318160ddd146103985780631a5b8f96146103ad57806323b872dd146103c25780632f745c59146103ec5780633f1a1cac1461041057806342842e0e1461042e57806348ef5aa8146104585780634efb023e146104725780634f6ccce71461049e5780636352211e146104b65780636c81fd6d146104ce5780636e575537146104ef57806370a08231146105045780638da5cb5b1461052557806395d89b411461053a578063a22cb4651461054f578063a9059cbb14610575578063b239e2f114610599578063b85d6275146105ae578063b88d4fde146105cf578063b919be6614610608578063bda4fd891461062c578063bfb231d214610641578063c87b56dd14610672578063d33925451461068a578063de7fe3e7146106b1578063e985e9c5146106c9578063ebf06bcb146106f0578063ee4e441614610717578063f28532921461072c575b600080fd5b3480156101e857600080fd5b506102137bffffffffffffffffffffffffffffffffffffffffffffffffffffffff196004351661074d565b604080519115158252519081900360200190f35b34801561023357600080fd5b5061023c610785565b60408051918252519081900360200190f35b34801561025a57600080fd5b5061026361078b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029d578181015183820152602001610285565b50505050905090810190601f1680156102ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102e457600080fd5b506102f0600435610821565b60408051600160a060020a039092168252519081900360200190f35b34801561031857600080fd5b50610330600160a060020a0360043516602435610863565b005b34801561033e57600080fd5b50610330600160a060020a0360043516610974565b34801561035f57600080fd5b50610213600160a060020a03600435166109e1565b34801561038057600080fd5b506103306004803590602480359081019101356109f6565b3480156103a457600080fd5b5061023c610a6d565b3480156103b957600080fd5b5061023c610a74565b3480156103ce57600080fd5b50610330600160a060020a0360043581169060243516604435610a79565b3480156103f857600080fd5b5061023c600160a060020a0360043516602435610b60565b34801561041c57600080fd5b50610330600435602435604435610bbb565b34801561043a57600080fd5b50610330600160a060020a0360043581169060243516604435610cde565b34801561046457600080fd5b506103306004351515610cfa565b34801561047e57600080fd5b50610487610d24565b6040805161ffff9092168252519081900360200190f35b3480156104aa57600080fd5b5061023c600435610d46565b3480156104c257600080fd5b506102f0600435610dae565b3480156104da57600080fd5b50610330600160a060020a0360043516610dd2565b3480156104fb57600080fd5b5061023c610e7f565b34801561051057600080fd5b5061023c600160a060020a0360043516610e84565b34801561053157600080fd5b506102f0610eb7565b34801561054657600080fd5b50610263610ec6565b34801561055b57600080fd5b50610330600160a060020a03600435166024351515610f27565b34801561058157600080fd5b50610330600160a060020a0360043516602435610faa565b3480156105a557600080fd5b506102f061108d565b3480156105ba57600080fd5b50610330600160a060020a03600435166110a1565b3480156105db57600080fd5b50610330600160a060020a0360048035821691602480359091169160443591606435908101910135611148565b34801561061457600080fd5b50610330600435602435604435606435608435611184565b34801561063857600080fd5b5061023c61135b565b34801561064d57600080fd5b50610659600435611361565b6040805192835260208301919091528051918290030190f35b34801561067e57600080fd5b5061026360043561137a565b34801561069657600080fd5b5061023c600435602435600160a060020a0360443516611442565b3480156106bd57600080fd5b506106596004356114de565b3480156106d557600080fd5b50610213600160a060020a03600435811690602435166114f8565b3480156106fc57600080fd5b50610330600435602435600160a060020a0360443516611553565b34801561072357600080fd5b506102136115fd565b34801561073857600080fd5b50610330600160a060020a0360043516611606565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19811660009081526020819052604090205460ff165b919050565b61043881565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108175780601f106107ec57610100808354040283529160200191610817565b820191906000526020600020905b8154815290600101906020018083116107fa57829003601f168201915b5050505050905090565b6000818152600160205260408120548290600160a060020a0316151561084657600080fd5b5050600090815260026020526040902054600160a060020a031690565b6000818152600160205260408120548290600160a060020a0316338114806108ae5750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b15156108b957600080fd5b6000848152600160205260409020548490600160a060020a031615156108de57600080fd5b600085815260016020526040902054600160a060020a039081169450861684141561090857600080fd5b600085815260026020526040808220805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038a811691821790925591518893918816917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050505050565b600c54600160a060020a03163314806109a15750336000908152600d602052604090205460ff1615156001145b15156109ac57600080fd5b600e8054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b600d6020526000908152604090205460ff1681565b600c54600160a060020a0316331480610a235750336000908152600d602052604090205460ff1615156001145b1515610a2e57600080fd5b610a688383838080601f01602080910402602001604051908101604052809392919081815260200183838082843750611659945050505050565b505050565b6005545b90565b606c81565b6000818152600160205260408120548290600160a060020a031633811480610ab1575033610aa683610821565b600160a060020a0316145b80610adf5750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b1515610aea57600080fd5b6000848152600160205260409020548490600160a060020a03161515610b0f57600080fd5b600085815260016020526040902054600160a060020a03908116945087168414610b3857600080fd5b600160a060020a0386161515610b4d57600080fd5b610b57868661169d565b50505050505050565b600160a060020a0382166000908152600760205260408120548210610b8457600080fd5b600160a060020a0383166000908152600760205260409020805483908110610ba857fe5b9060005260206000200154905092915050565b600e54600090819060ff1615610bd057600080fd5b600e546101009004600160a060020a03161515610bec57600080fd5b841580610c105750600085815260016020526040902054600160a060020a03163314155b15610c1a57600080fd5b5050600083815260106020526040808220600e548154600183015484517f1b44a5ef00000000000000000000000000000000000000000000000000000000815233600482015260248101929092526044820152606481018790526084810186905292519193610100909104600160a060020a0316928392631b44a5ef9260a48084019391929182900301818387803b158015610cb557600080fd5b505af1158015610cc9573d6000803e3d6000fd5b50505050610cd73386611718565b5050505050565b610a688383836020604051908101604052806000815250611764565b600c54600160a060020a03163314610d1157600080fd5b600e805460ff1916911515919091179055565b600c5474010000000000000000000000000000000000000000900461ffff1681565b6005546000908210610d5757600080fd5b8160066000600585815481101515610d6b57fe5b9060005260206000200154815260200190815260200160002054141515610d8e57fe5b6005805483908110610d9c57fe5b90600052602060002001549050919050565b600081815260016020526040902054600160a060020a031680151561078057600080fd5b600c54600160a060020a03163314610de957600080fd5b600160a060020a0381166000908152600d602052604090205460ff161515610e7c57600160a060020a0381166000908152600d60205260409020805460ff19166001908117909155600c805461ffff7401000000000000000000000000000000000000000080830482169094011690920275ffff0000000000000000000000000000000000000000199092169190911790555b50565b600a81565b6000600160a060020a0382161515610e9b57600080fd5b50600160a060020a031660009081526003602052604090205490565b600c54600160a060020a031681565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108175780601f106107ec57610100808354040283529160200191610817565b600160a060020a0382161515610f3c57600080fd5b336000818152600460209081526040808320600160a060020a03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6000818152600160205260408120548290600160a060020a031633811480610fe2575033610fd783610821565b600160a060020a0316145b806110105750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b151561101b57600080fd5b6000848152600160205260409020548490600160a060020a0316151561104057600080fd5b600085815260016020526040902054600160a060020a0316935033841461106657600080fd5b600160a060020a038616151561107b57600080fd5b611085868661169d565b505050505050565b600e546101009004600160a060020a031681565b600c54600160a060020a031633146110b857600080fd5b600160a060020a0381166000908152600d602052604090205460ff16151560011415610e7c57600160a060020a03166000908152600d60205260409020805460ff19169055600c805475ffff0000000000000000000000000000000000000000198116740100000000000000000000000000000000000000009182900461ffff9081166000190116909102179055565b610cd785858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843750611764945050505050565b600e5460009081908190819060ff161561119d57600080fd5b600e546101009004600160a060020a031615156111b957600080fd5b6000891180156111e05750600089815260016020526040902054600160a060020a03163314155b156111ea57600080fd5b6000881180156112115750600088815260016020526040902054600160a060020a03163314155b1561121b57600080fd5b6000871180156112425750600087815260016020526040902054600160a060020a03163314155b1561124c57600080fd5b505050600086815260106020526040808220878352818320878452828420600e5483548354835487517f5477e571000000000000000000000000000000000000000000000000000000008152336004820152602481019390935260448301919091526064820152608481018a905260a48101899052945193965091949093610100909204600160a060020a0316928392635477e5719260c480830193919282900301818387803b1580156112ff57600080fd5b505af1158015611313573d6000803e3d6000fd5b50505050600089111561132a5761132a338a611718565b600088111561133d5761133d3389611718565b6000871115611350576113503388611718565b505050505050505050565b600f5481565b6010602052600090815260409020805460019091015482565b6000818152600160205260409020546060908290600160a060020a031615156113a257600080fd5b6000838152600b602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156114355780601f1061140a57610100808354040283529160200191611435565b820191906000526020600020905b81548152906001019060200180831161141857829003601f168201915b5050505050915050919050565b600c546000908190600160a060020a03163314806114745750336000908152600d602052604090205460ff1615156001145b151561147f57600080fd5b600160a060020a038316151561149457600080fd5b606c85116114a157600080fd5b50600f80546001908101808355600090815260106020526040902086815590810185905590546114d29084906119b6565b5050600f549392505050565b600090815260106020526040902080546001909101549091565b6000600160a060020a038316151561150f57600080fd5b600160a060020a038216151561152457600080fd5b50600160a060020a03918216600090815260046020908152604080832093909416825291909152205460ff1690565b600c54600090600160a060020a03163314806115835750336000908152600d602052604090205460ff1615156001145b151561158e57600080fd5b600160a060020a03821615156115a357600080fd5b606c8411806115b0575083155b806115bc575061043883115b806115c5575082155b156115cf57600080fd5b5060008281526010602052604090208054156115ea57600080fd5b8381556115f782846119b6565b50505050565b600e5460ff1681565b600c54600160a060020a0316331461161d57600080fd5b600160a060020a03811615610e7c57600c8054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b6000828152600160205260409020548290600160a060020a0316151561167e57600080fd5b6000838152600b6020908152604090912083516115f792850190611e91565b600081815260016020526040902054600160a060020a03166116be82611a07565b6116c88183611a4f565b6116d28383611b50565b8183600160a060020a031682600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6117228282611b99565b6000818152600b60205260409020546002600019610100600184161502019091160415611760576000818152600b6020526040812061176091611f0f565b5050565b60008281526001602052604081205481908490600160a060020a03163381148061179e57503361179383610821565b600160a060020a0316145b806117cc5750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b15156117d757600080fd5b6000868152600160205260409020548690600160a060020a031615156117fc57600080fd5b600087815260016020526040902054600160a060020a0390811695508916851461182557600080fd5b600160a060020a038816151561183a57600080fd5b611844888861169d565b61185688600160a060020a0316611c59565b15611350576040517f150b7a020000000000000000000000000000000000000000000000000000000081523360048201818152600160a060020a038c81166024850152604484018b90526080606485019081528a5160848601528a51918d169463150b7a0294938f938e938e93909160a490910190602085019080838360005b838110156118ee5781810151838201526020016118d6565b50505050905090810190601f16801561191b5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561193d57600080fd5b505af1158015611951573d6000803e3d6000fd5b505050506040513d602081101561196757600080fd5b505193507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1984167f150b7a02000000000000000000000000000000000000000000000000000000001461135057600080fd5b60006119c28383611c61565b5060058054600181019091557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db081018290556000918252600660205260409091205550565b600081815260026020526040902054600160a060020a031615610e7c576000908152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000806000611a5e8585611cea565b600160a060020a03851660009081526007602052604081205411611a7e57fe5b600084815260086020908152604080832054600160a060020a038916845260079092529091208054919450600019820193509083908110611abb57fe5b90600052602060002001549050806007600087600160a060020a0316600160a060020a0316815260200190815260200160002084815481101515611afb57fe5b6000918252602080832090910192909255600160a060020a0387168152600790915260409020805490611b32906000198301611f53565b50600090815260086020526040808220939093559283525081205550565b6000611b5c8383611d79565b50600160a060020a039091166000908152600760209081526040808320805460018101825590845282842081018590559383526008909152902055565b6000806000611ba88585611e09565b600554600010611bb457fe5b60008481526006602052604090205460058054919450859185908110611bd657fe5b9060005260206000200154141515611bea57fe5b600580546000198101935083908110611bff57fe5b9060005260206000200154905080600584815481101515611c1c57fe5b6000918252602090912001556005805490611c3b906000198301611f53565b50600090815260066020526040808220939093559283525081205550565b6000903b1190565b600160a060020a0382161515611c7657600080fd5b801515611c8257600080fd5b600081815260016020526040902054600160a060020a031615611ca457600080fd5b611cae8282611b50565b6040518190600160a060020a038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600081815260016020526040902054600160a060020a03838116911614611d1057600080fd5b600160a060020a03821660009081526003602052604081205411611d3057fe5b600160a060020a03909116600090815260036020908152604080832080546000190190559282526001905220805473ffffffffffffffffffffffffffffffffffffffff19169055565b600081815260016020526040902054600160a060020a031615611d9b57600080fd5b6000818152600160208181526040808420805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0388169081179091558452600390915290912054611de991611e7e565b600160a060020a0390921660009081526003602052604090209190915550565b6000818152600160205260409020548190600160a060020a03161515611e2e57600080fd5b611e3782611a07565b611e418383611a4f565b6040518290600090600160a060020a038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b81810182811015611e8b57fe5b92915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611ed257805160ff1916838001178555611eff565b82800160010185558215611eff579182015b82811115611eff578251825591602001919060010190611ee4565b50611f0b929150611f73565b5090565b50805460018160011615610100020316600290046000825580601f10611f355750610e7c565b601f016020900490600052602060002090810190610e7c9190611f73565b815481835581811115610a6857600083815260209020610a689181019083015b610a7191905b80821115611f0b5760008155600101611f795600a165627a7a723058203456066a31d1f8ee77fe871662f4585d472dfbd8b72f8893bd3e8a65ba198ac70029
Swarm Source
bzzr://3456066a31d1f8ee77fe871662f4585d472dfbd8b72f8893bd3e8a65ba198ac7
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.