ERC-721
Overview
Max Total Supply
1,000 eth*1
Holders
413
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
3 eth*1Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
etherstar
Compiler Version
v0.5.1+commit.c8a2cb62
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-08-06 */ pragma solidity ^0.5.0; /** * @title IERC165 * @dev https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md */ interface IERC165 { /** * @notice Query if a contract implements an interface * @param interfaceId The interface identifier, as specified in ERC-165 * @dev Interface identification is specified in ERC-165. This function * uses less than 30,000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); } /** * @title ERC165 * @author Matt Condon (@shrugs) * @dev Implements ERC165 using a lookup table. */ contract ERC165 is IERC165 { bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7; /** * 0x01ffc9a7 === * bytes4(keccak256('supportsInterface(bytes4)')) */ /** * @dev a mapping of interface id to whether or not it's supported */ mapping(bytes4 => bool) private _supportedInterfaces; /** * @dev A contract implementing SupportsInterfaceWithLookup * implement ERC165 itself */ constructor () internal { _registerInterface(_INTERFACE_ID_ERC165); } /** * @dev implement supportsInterface(bytes4) using a lookup table */ function supportsInterface(bytes4 interfaceId) external view returns (bool) { return _supportedInterfaces[interfaceId]; } /** * @dev internal method for registering an interface */ function _registerInterface(bytes4 interfaceId) internal { require(interfaceId != 0xffffffff); _supportedInterfaces[interfaceId] = true; } } /** * @title ERC721 token receiver interface * @dev Interface for any contract that wants to support safeTransfers * from ERC721 asset contracts. */ contract IERC721Receiver { /** * @notice Handle the receipt of an NFT * @dev The ERC721 smart contract calls this function on the recipient * after a `safeTransfer`. This function MUST return the function selector, * otherwise the caller will revert the transaction. The selector to be * returned can be obtained as `this.onERC721Received.selector`. This * function MAY throw to revert and reject the transfer. * Note: the ERC721 contract address is always the message sender. * @param operator The address which called `safeTransferFrom` function * @param from The address which previously owned the token * @param tokenId The NFT identifier which is being transferred * @param data Additional data with no specified format * @return `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))` */ function onERC721Received(address operator, address from, uint256 tokenId, bytes memory data) public returns (bytes4); } /** * @title ERC721 Non-Fungible Token Standard basic interface * @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md */ contract IERC721 is IERC165 { 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) public view returns (uint256 balance); function ownerOf(uint256 tokenId) public view returns (address owner); function approve(address to, uint256 tokenId) public; function getApproved(uint256 tokenId) public view returns (address operator); function setApprovalForAll(address operator, bool _approved) public; function isApprovedForAll(address owner, address operator) public view returns (bool); function transferFrom(address from, address to, uint256 tokenId) public; function safeTransferFrom(address from, address to, uint256 tokenId) public; function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) public; } /** * @title ERC-721 Non-Fungible Token Standard, optional metadata extension * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md */ contract IERC721Metadata is IERC721 { function name() external view returns (string memory); function symbol() external view returns (string memory); function tokenURI(uint256 tokenId) external view returns (string memory); } /** * @title Roles * @dev Library for managing addresses assigned to a Role. */ library Roles { struct Role { mapping (address => bool) bearer; } /** * @dev give an account access to this role */ function add(Role storage role, address account) internal { require(account != address(0)); require(!has(role, account)); role.bearer[account] = true; } /** * @dev remove an account's access to this role */ function remove(Role storage role, address account) internal { require(account != address(0)); require(has(role, account)); role.bearer[account] = false; } /** * @dev check if an account has this role * @return bool */ function has(Role storage role, address account) internal view returns (bool) { require(account != address(0)); return role.bearer[account]; } } contract PauserRole { using Roles for Roles.Role; event PauserAdded(address indexed account); event PauserRemoved(address indexed account); Roles.Role private _pausers; constructor () internal { _addPauser(msg.sender); } modifier onlyPauser() { require(isPauser(msg.sender)); _; } function isPauser(address account) public view returns (bool) { return _pausers.has(account); } function addPauser(address account) public onlyPauser { _addPauser(account); } function renouncePauser() public { _removePauser(msg.sender); } function _addPauser(address account) internal { _pausers.add(account); emit PauserAdded(account); } function _removePauser(address account) internal { _pausers.remove(account); emit PauserRemoved(account); } } /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract Pausable is PauserRole { event Paused(address account); event Unpaused(address account); bool private _paused; constructor () internal { _paused = false; } /** * @return true if the contract is paused, false otherwise. */ function paused() public view returns (bool) { return _paused; } /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!_paused); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(_paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() public onlyPauser whenNotPaused { _paused = true; emit Paused(msg.sender); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() public onlyPauser whenPaused { _paused = false; emit Unpaused(msg.sender); } } contract MinterRole { using Roles for Roles.Role; event MinterAdded(address indexed account); event MinterRemoved(address indexed account); Roles.Role private _minters; constructor () internal { _addMinter(msg.sender); } modifier onlyMinter() { require(isMinter(msg.sender)); _; } function isMinter(address account) public view returns (bool) { return _minters.has(account); } function addMinter(address account) public onlyMinter { _addMinter(account); } function renounceMinter() public { _removeMinter(msg.sender); } function _addMinter(address account) internal { _minters.add(account); emit MinterAdded(account); } function _removeMinter(address account) internal { _minters.remove(account); emit MinterRemoved(account); } } /** * @title SafeMath * @dev Unsigned math operations with safety checks that revert on error */ library SafeMath { /** * @dev Multiplies two unsigned integers, reverts on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b); return c; } /** * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a); uint256 c = a - b; return c; } /** * @dev Adds two unsigned integers, reverts on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a); return c; } /** * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo), * reverts when dividing by zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0); return a % b; } } /** * Utility library of inline functions on addresses */ library Address { /** * 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 account address of the account to check * @return whether the target address is a contract */ function isContract(address account) 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. // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } } library Strings { function strConcat(string memory _a, string memory _b, string memory _c, string memory _d, string memory _e) internal pure returns (string memory _concatenatedString) { bytes memory _ba = bytes(_a); bytes memory _bb = bytes(_b); bytes memory _bc = bytes(_c); bytes memory _bd = bytes(_d); bytes memory _be = bytes(_e); bytes memory babcde = new bytes(_ba.length + _bb.length + _bc.length + _bd.length + _be.length); uint k = 0; uint i = 0; for (i = 0; i < _ba.length; i++) { babcde[k++] = _ba[i]; } for (i = 0; i < _bb.length; i++) { babcde[k++] = _bb[i]; } for (i = 0; i < _bc.length; i++) { babcde[k++] = _bc[i]; } for (i = 0; i < _bd.length; i++) { babcde[k++] = _bd[i]; } for (i = 0; i < _be.length; i++) { babcde[k++] = _be[i]; } return string(babcde); } function strConcat(string memory _a, string memory _b, string memory _c, string memory _d) internal pure returns (string memory) { return strConcat(_a, _b, _c, _d, ""); } function strConcat(string memory _a, string memory _b, string memory _c) internal pure returns (string memory) { return strConcat(_a, _b, _c, "", ""); } function strConcat(string memory _a, string memory _b) internal pure returns (string memory) { return strConcat(_a, _b, "", "", ""); } function uint2str(uint _i) internal pure returns (string memory _uintAsString) { if (_i == 0) { return "0"; } uint j = _i; uint len; while (j != 0) { len++; j /= 10; } bytes memory bstr = new bytes(len); uint k = len - 1; while (_i != 0) { bstr[k--] = byte(uint8(48 + _i % 10)); _i /= 10; } return string(bstr); } function split(bytes memory _base, uint8[] memory _lengths) internal pure returns (bytes[] memory arr) { uint _offset = 0; bytes[] memory splitArr = new bytes[](_lengths.length); for(uint i = 0; i < _lengths.length; i++) { bytes memory _tmpBytes = new bytes(_lengths[i]); for(uint j = 0; j < _lengths[i]; j++) _tmpBytes[j] = _base[_offset+j]; splitArr[i] = _tmpBytes; _offset += _lengths[i]; } return splitArr; } } /** * @title Non-Fungible Token * @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md */ contract etherstar is ERC165, IERC721, IERC721Metadata, Pausable, MinterRole { using SafeMath for uint256; using Address for address; using Strings for string; bytes4 private constant _INTERFACE_ID_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 _INTERFACE_ID_ERC721_METADATA = 0x5b5e139f; /** * 0x5b5e139f === * bytes4(keccak256('name()')) ^ * bytes4(keccak256('symbol()')) ^ * bytes4(keccak256('tokenURI(uint256)')) */ // Equals to `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))` // which can be also obtained as `IERC721Receiver(0).onERC721Received.selector` bytes4 private constant _ERC721_RECEIVED = 0x150b7a02; // Token name string private _name; // Token symbol string private _symbol; // Token URI prefix string private _baseTokenURI; // Flag representing if metadata migrated to IPFS bool private _ipfsMigrated; // Token total Supply uint256 private _totalSupply; // Mapping from token ID to owner mapping (uint256 => address) private _tokenOwner; // Mapping from token ID to approved address mapping (uint256 => address) private _tokenApprovals; // Mapping Mapping from token ID to token URI mapping(uint256 => string) private _tokenURIs; // Mapping Mapping from token ID to token DNAs mapping (uint256 => uint256) private _dnas; // Mapping Mapping from token ID to token Name mapping (uint256 => string) private _tokenNames; // Mapping from owner to number of owned token mapping (address => uint256) private _ownedTokensCount; // Mapping from owner to operator approvals mapping (address => mapping (address => bool)) private _operatorApprovals; event TokenURI(uint256 indexed tokenId, string uri); /** * @dev Constructor function */ constructor (string memory name, string memory symbol, string memory baseTokenURI) public { _name = name; _symbol = symbol; _totalSupply = 0; _baseTokenURI = baseTokenURI; _ipfsMigrated = false; // register the supported interfaces to conform to ERC721 via ERC165 _registerInterface(_INTERFACE_ID_ERC721); _registerInterface(_INTERFACE_ID_ERC721_METADATA); } /** * @dev Gets the token name * @return string representing the token name */ function name() external view returns (string memory) { return _name; } /** * @dev Gets the token symbol * @return string representing the token symbol */ function symbol() external view returns (string memory) { return _symbol; } /** * @dev Gets the total amount of tokens stored by the contract * @return uint256 representing the total amount of tokens */ function totalSupply() public view returns (uint256) { return _totalSupply; } /** * @dev Returns whether the specified token exists * @param tokenId uint256 ID of the token to query the existence of * @return whether the token exists */ function exists(uint256 tokenId) external view returns (bool) { return _exists(tokenId); } /** * @dev Sets IPFS migration flag true */ function ipfsMigrationDone() public onlyMinter { _ipfsMigrated = true; } /** * @dev public function to set the token URI for a given token * Reverts if the token ID does not exist or metadata has migrated to IPFS * @param tokenId uint256 ID of the token to set its URI * @param uri string URI to assign */ function setTokenURI(uint256 tokenId, string memory uri) public onlyMinter { require(!_ipfsMigrated); _setTokenURI(tokenId, uri); } /** * @dev Returns the URI for a given token ID * Throws if the token ID does not exist. May return an empty string. * @param tokenId uint256 ID of the token to query */ function tokenURI(uint256 tokenId) external view returns (string memory) { require(_exists(tokenId)); if (bytes(_tokenURIs[tokenId]).length > 0) return _tokenURIs[tokenId]; return Strings.strConcat(baseTokenURI(),Strings.uint2str(tokenId)); } /** * @dev Sets the prefix of token URI * @param baseTokenURI token URI prefix to be set */ function setBaseTokenURI(string memory baseTokenURI) public onlyMinter { _baseTokenURI = baseTokenURI; } /** * @dev Returns prefix of token URI * @return string representing the token URI prefix */ function baseTokenURI() public view returns (string memory) { return _baseTokenURI; } /** * @dev Returns the DNA for a given token ID * Throws if the token ID does not exist. * @param tokenId uint256 ID of the token to query */ function tokenDNA(uint256 tokenId) public view returns (uint256) { require(_exists(tokenId)); return _dnas[tokenId]; } /** * @dev Returns the tokenName for a given token ID * Throws if the token ID does not exist. * @param tokenId uint256 ID of the token to query */ function tokenName(uint256 tokenId) public view returns (string memory) { require(_exists(tokenId)); return _tokenNames[tokenId]; } /** * @dev Gets the balance of the specified address * @param owner address to query the balance of * @return uint256 representing the amount owned by the passed address */ function balanceOf(address owner) public view returns (uint256) { require(owner != address(0)); return _ownedTokensCount[owner]; } /** * @dev Gets the owner of the specified token ID * @param tokenId uint256 ID of the token to query the owner of * @return owner address currently marked as the owner of the given token ID */ function ownerOf(uint256 tokenId) public view returns (address) { address owner = _tokenOwner[tokenId]; require(owner != address(0)); return owner; } /** * @dev Approves another address to transfer the given token ID * The zero address indicates there is no approved address. * There can only be one approved address per token at a given time. * Can only be called by the token owner or an approved operator. * @param to address to be approved for the given token ID * @param tokenId uint256 ID of the token to be approved */ function approve(address to, uint256 tokenId) public whenNotPaused { address owner = ownerOf(tokenId); require(to != owner); require(msg.sender == owner || isApprovedForAll(owner, msg.sender)); _tokenApprovals[tokenId] = to; emit Approval(owner, to, tokenId); } /** * @dev Gets the approved address for a token ID, or zero if no address set * Reverts if the token ID does not exist. * @param tokenId uint256 ID of the token to query the approval of * @return address currently approved for the given token ID */ function getApproved(uint256 tokenId) public view returns (address) { require(_exists(tokenId)); return _tokenApprovals[tokenId]; } /** * @dev Sets or unsets the approval of a given operator * An operator is allowed to transfer all tokens of the sender on their behalf * @param to operator address to set the approval * @param approved representing the status of the approval to be set */ function setApprovalForAll(address to, bool approved) public whenNotPaused { require(to != msg.sender); _operatorApprovals[msg.sender][to] = approved; emit ApprovalForAll(msg.sender, to, approved); } /** * @dev Tells whether an operator is approved by a given owner * @param owner owner address which you want to query the approval of * @param operator operator address which you want to query the approval of * @return bool whether the given operator is approved by the given owner */ function isApprovedForAll(address owner, address operator) public view returns (bool) { return _operatorApprovals[owner][operator]; } /** * @dev Transfers the ownership of a given token ID to another address * Usage of this method is discouraged, use `safeTransferFrom` whenever possible * Requires the msg sender to be the owner, approved, or operator * @param from current owner of the token * @param to address to receive the ownership of the given token ID * @param tokenId uint256 ID of the token to be transferred */ function transferFrom(address from, address to, uint256 tokenId) public whenNotPaused { require(_isApprovedOrOwner(msg.sender, tokenId)); _transferFrom(from, to, tokenId); } /** * @dev Safely transfers the ownership of a given token ID to another address * If the target address is a contract, it must implement `onERC721Received`, * which is called upon a safe transfer, and return the magic value * `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`; otherwise, * the transfer is reverted. * * Requires the msg sender to be the owner, approved, or operator * @param from current owner of the token * @param to address to receive the ownership of the given token ID * @param tokenId uint256 ID of the token to be transferred */ function safeTransferFrom(address from, address to, uint256 tokenId) public { safeTransferFrom(from, to, tokenId, ""); } /** * @dev Safely transfers the ownership of a given token ID to another address * If the target address is a contract, it must implement `onERC721Received`, * which is called upon a safe transfer, and return the magic value * `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`; otherwise, * the transfer is reverted. * Requires the msg sender to be the owner, approved, or operator * @param from current owner of the token * @param to address to receive the ownership of the given token ID * @param tokenId uint256 ID of the token to be transferred * @param _data bytes data to send along with a safe transfer check */ function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory _data) public { transferFrom(from, to, tokenId); require(_checkOnERC721Received(from, to, tokenId, _data)); } /** * @dev Public function to mint a new token * Reverts if the given token ID already exists * @param to address The address that will own the minted token * @param tokenId uint256 ID of the token to be minted * @param uri string Metadata URI of the token to be minted * @param dna uint256 DNAs of the token to be minted */ function mint(address to, uint256 tokenId, string memory uri, uint256 dna , string memory tokenNms) public onlyMinter { require(tokenId >= 0 && tokenId <= 9999); _mint(to, tokenId, uri, dna, tokenNms); _totalSupply += 1; } /** * @dev Returns whether the specified token exists * @param tokenId uint256 ID of the token to query the existence of * @return whether the token exists */ function _exists(uint256 tokenId) internal view returns (bool) { address owner = _tokenOwner[tokenId]; return owner != address(0); } /** * @dev Returns whether the given spender can transfer a given token ID * @param spender address of the spender to query * @param tokenId uint256 ID of the token to be transferred * @return bool whether the msg.sender is approved for the given token ID, * is an operator of the owner, or is the owner of the token */ function _isApprovedOrOwner(address spender, uint256 tokenId) internal view returns (bool) { address owner = ownerOf(tokenId); return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender)); } /** * @dev Internal function to mint a new token * Reverts if the given token ID already exists * @param to The address that will own the minted token * @param tokenId uint256 ID of the token to be minted * @param uri string URI of the token to be minted metadata * @param dna uint256 DNAs of the token to be minted */ function _mint(address to, uint256 tokenId, string memory uri, uint256 dna , string memory tokenNms) internal { require(to != address(0)); require(!_exists(tokenId)); _tokenOwner[tokenId] = to; _ownedTokensCount[to] = _ownedTokensCount[to].add(1); _setTokenURI(tokenId, uri); _dnas[tokenId] = dna ; _tokenNames[tokenId] = tokenNms; emit Transfer(address(0), to, tokenId); } /** * @dev Internal function to set the token URI for a given token * Reverts if the token ID does not exist * @param tokenId uint256 ID of the token to set its URI * @param uri string URI to assign */ function _setTokenURI(uint256 tokenId, string memory uri) internal { require(_exists(tokenId)); _tokenURIs[tokenId] = uri; emit TokenURI(tokenId, uri); } /** * @dev Internal function to transfer ownership of a given token ID to another address. * As opposed to transferFrom, this imposes no restrictions on msg.sender. * @param from current owner of the token * @param to address to receive the ownership of the given token ID * @param tokenId uint256 ID of the token to be transferred */ function _transferFrom(address from, address to, uint256 tokenId) internal { require(ownerOf(tokenId) == from); require(to != address(0)); _clearApproval(tokenId); _ownedTokensCount[from] = _ownedTokensCount[from].sub(1); _ownedTokensCount[to] = _ownedTokensCount[to].add(1); _tokenOwner[tokenId] = to; emit Transfer(from, to, tokenId); } /** * @dev Internal function to invoke `onERC721Received` on a target address * The call is not executed if the target address is not a contract * @param from address representing the previous owner of the given token ID * @param to target address that will receive the tokens * @param tokenId uint256 ID of the token to be transferred * @param _data bytes optional data to send along with the call * @return whether the call correctly returned the expected magic value */ function _checkOnERC721Received(address from, address to, uint256 tokenId, bytes memory _data) internal returns (bool) { if (!to.isContract()) { return true; } bytes4 retval = IERC721Receiver(to).onERC721Received(msg.sender, from, tokenId, _data); return (retval == _ERC721_RECEIVED); } /** * @dev Private function to clear current approval of a given token ID * @param tokenId uint256 ID of the token to be transferred */ function _clearApproval(uint256 tokenId) private { if (_tokenApprovals[tokenId] != address(0)) { _tokenApprovals[tokenId] = address(0); } } }
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":"name","outputs":[{"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":"to","type":"address"},{"name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"ipfsMigrationDone","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"baseTokenURI","type":"string"}],"name":"setBaseTokenURI","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","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":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenId","type":"uint256"}],"name":"exists","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isMinter","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","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":true,"inputs":[{"name":"tokenId","type":"uint256"}],"name":"tokenDNA","outputs":[{"name":"","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":true,"inputs":[],"name":"baseTokenURI","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenId","type":"uint256"}],"name":"tokenName","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"uri","type":"string"},{"name":"dna","type":"uint256"},{"name":"tokenNms","type":"string"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","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"},{"inputs":[{"name":"name","type":"string"},{"name":"symbol","type":"string"},{"name":"baseTokenURI","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"uri","type":"string"}],"name":"TokenURI","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"},{"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
60806040523480156200001157600080fd5b506040516200360938038062003609833981018060405260608110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b828101905060208101848111156200006757600080fd5b81518560018202830111640100000000821117156200008557600080fd5b50509291906020018051640100000000811115620000a257600080fd5b82810190506020810184811115620000b957600080fd5b8151856001820283011164010000000082111715620000d757600080fd5b50509291906020018051640100000000811115620000f457600080fd5b828101905060208101848111156200010b57600080fd5b81518560018202830111640100000000821117156200012957600080fd5b50509291905050506200016e6301ffc9a77c010000000000000000000000000000000000000000000000000000000002620002ae640100000000026401000000009004565b62000188336200036c640100000000026401000000009004565b6000600260006101000a81548160ff021916908315150217905550620001bd33620003d6640100000000026401000000009004565b8260049080519060200190620001d592919062000598565b508160059080519060200190620001ee92919062000598565b50600060088190555080600690805190602001906200020f92919062000598565b506000600760006101000a81548160ff021916908315150217905550620002686380ac58cd7c010000000000000000000000000000000000000000000000000000000002620002ae640100000000026401000000009004565b620002a5635b5e139f7c010000000000000000000000000000000000000000000000000000000002620002ae640100000000026401000000009004565b50505062000647565b63ffffffff7c010000000000000000000000000000000000000000000000000000000002817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141515156200030057600080fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b62000390816001620004406401000000000262002a09179091906401000000009004565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b620003fa816003620004406401000000000262002a09179091906401000000009004565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200047d57600080fd5b62000498828262000503640100000000026401000000009004565b151515620004a557600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156200054157600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620005db57805160ff19168380011785556200060c565b828001600101855582156200060c579182015b828111156200060b578251825591602001919060010190620005ee565b5b5090506200061b91906200061f565b5090565b6200064491905b808211156200064057600081600090555060010162000626565b5090565b90565b612fb280620006576000396000f3fe608060405260043610610185576000357c01000000000000000000000000000000000000000000000000000000009004806301ffc9a71461018a57806306fdde03146101fc578063081812fc1461028c578063095ea7b314610307578063162094c41461036257806318160ddd1461043457806323b872dd1461045f57806324af9942146104da57806330176e13146104f15780633f4ba83a146105b957806342842e0e146105d057806346fbf68e1461064b5780634f558e79146106b45780635c975abb146107075780636352211e146107365780636ef8d66d146107b157806370a08231146107c857806382dc1ec41461082d5780638456cb591461087e57806395d89b4114610895578063983b2d56146109255780639865027514610976578063a22cb4651461098d578063aa271e1a146109ea578063b88d4fde14610a53578063be65d75114610b65578063c87b56dd14610bb4578063d547cfb714610c68578063e725f87714610cf8578063e86f636714610dac578063e985e9c514610f3f575b600080fd5b34801561019657600080fd5b506101e2600480360360208110156101ad57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610fc8565b604051808215151515815260200191505060405180910390f35b34801561020857600080fd5b5061021161102f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610251578082015181840152602081019050610236565b50505050905090810190601f16801561027e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561029857600080fd5b506102c5600480360360208110156102af57600080fd5b81019080803590602001909291905050506110d1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561031357600080fd5b506103606004803603604081101561032a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611122565b005b34801561036e57600080fd5b506104326004803603604081101561038557600080fd5b8101908080359060200190929190803590602001906401000000008111156103ac57600080fd5b8201836020820111156103be57600080fd5b803590602001918460018302840111640100000000831117156103e057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611283565b005b34801561044057600080fd5b506104496112c1565b6040518082815260200191505060405180910390f35b34801561046b57600080fd5b506104d86004803603606081101561048257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112cb565b005b3480156104e657600080fd5b506104ef61130c565b005b3480156104fd57600080fd5b506105b76004803603602081101561051457600080fd5b810190808035906020019064010000000081111561053157600080fd5b82018360208201111561054357600080fd5b8035906020019184600183028401116401000000008311171561056557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061133d565b005b3480156105c557600080fd5b506105ce61136b565b005b3480156105dc57600080fd5b50610649600480360360608110156105f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061141a565b005b34801561065757600080fd5b5061069a6004803603602081101561066e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061143b565b604051808215151515815260200191505060405180910390f35b3480156106c057600080fd5b506106ed600480360360208110156106d757600080fd5b8101908080359060200190929190505050611458565b604051808215151515815260200191505060405180910390f35b34801561071357600080fd5b5061071c61146a565b604051808215151515815260200191505060405180910390f35b34801561074257600080fd5b5061076f6004803603602081101561075957600080fd5b8101908080359060200190929190505050611481565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107bd57600080fd5b506107c66114ff565b005b3480156107d457600080fd5b50610817600480360360208110156107eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061150a565b6040518082815260200191505060405180910390f35b34801561083957600080fd5b5061087c6004803603602081101561085057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061158e565b005b34801561088a57600080fd5b506108936115ae565b005b3480156108a157600080fd5b506108aa61165e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108ea5780820151818401526020810190506108cf565b50505050905090810190601f1680156109175780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561093157600080fd5b506109746004803603602081101561094857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611700565b005b34801561098257600080fd5b5061098b611720565b005b34801561099957600080fd5b506109e8600480360360408110156109b057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061172b565b005b3480156109f657600080fd5b50610a3960048036036020811015610a0d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611883565b604051808215151515815260200191505060405180910390f35b348015610a5f57600080fd5b50610b6360048036036080811015610a7657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610add57600080fd5b820183602082011115610aef57600080fd5b80359060200191846001830284011164010000000083111715610b1157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506118a0565b005b348015610b7157600080fd5b50610b9e60048036036020811015610b8857600080fd5b81019080803590602001909291905050506118c8565b6040518082815260200191505060405180910390f35b348015610bc057600080fd5b50610bed60048036036020811015610bd757600080fd5b81019080803590602001909291905050506118f9565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c2d578082015181840152602081019050610c12565b50505050905090810190601f168015610c5a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610c7457600080fd5b50610c7d611a13565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610cbd578082015181840152602081019050610ca2565b50505050905090810190601f168015610cea5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610d0457600080fd5b50610d3160048036036020811015610d1b57600080fd5b8101908080359060200190929190505050611ab5565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d71578082015181840152602081019050610d56565b50505050905090810190601f168015610d9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610db857600080fd5b50610f3d600480360360a0811015610dcf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610e1657600080fd5b820183602082011115610e2857600080fd5b80359060200191846001830284011164010000000083111715610e4a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190640100000000811115610eb757600080fd5b820183602082011115610ec957600080fd5b80359060200191846001830284011164010000000083111715610eeb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611b7e565b005b348015610f4b57600080fd5b50610fae60048036036040811015610f6257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bd5565b604051808215151515815260200191505060405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110c75780601f1061109c576101008083540402835291602001916110c7565b820191906000526020600020905b8154815290600101906020018083116110aa57829003601f168201915b5050505050905090565b60006110dc82611c69565b15156110e757600080fd5b600a600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600260009054906101000a900460ff1615151561113e57600080fd5b600061114982611481565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561118657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806111c657506111c58133611bd5565b5b15156111d157600080fd5b82600a600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b61128c33611883565b151561129757600080fd5b600760009054906101000a900460ff161515156112b357600080fd5b6112bd8282611cdb565b5050565b6000600854905090565b600260009054906101000a900460ff161515156112e757600080fd5b6112f13382611db8565b15156112fc57600080fd5b611307838383611e4d565b505050565b61131533611883565b151561132057600080fd5b6001600760006101000a81548160ff021916908315150217905550565b61134633611883565b151561135157600080fd5b8060069080519060200190611367929190612ee1565b5050565b6113743361143b565b151561137f57600080fd5b600260009054906101000a900460ff16151561139a57600080fd5b6000600260006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b61143683838360206040519081016040528060008152506118a0565b505050565b60006114518260016120b290919063ffffffff16565b9050919050565b600061146382611c69565b9050919050565b6000600260009054906101000a900460ff16905090565b6000806009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114f657600080fd5b80915050919050565b61150833612146565b565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561154757600080fd5b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6115973361143b565b15156115a257600080fd5b6115ab816121a0565b50565b6115b73361143b565b15156115c257600080fd5b600260009054906101000a900460ff161515156115de57600080fd5b6001600260006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116f65780601f106116cb576101008083540402835291602001916116f6565b820191906000526020600020905b8154815290600101906020018083116116d957829003601f168201915b5050505050905090565b61170933611883565b151561171457600080fd5b61171d816121fa565b50565b61172933612254565b565b600260009054906101000a900460ff1615151561174757600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561178257600080fd5b80600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b60006118998260036120b290919063ffffffff16565b9050919050565b6118ab8484846112cb565b6118b7848484846122ae565b15156118c257600080fd5b50505050565b60006118d382611c69565b15156118de57600080fd5b600c6000838152602001908152602001600020549050919050565b606061190482611c69565b151561190f57600080fd5b6000600b600084815260200190815260200160002080546001816001161561010002031660029004905011156119f257600b60008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119e65780601f106119bb576101008083540402835291602001916119e6565b820191906000526020600020905b8154815290600101906020018083116119c957829003601f168201915b50505050509050611a0e565b611a0b6119fd611a13565b611a06846124d1565b61262a565b90505b919050565b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611aab5780601f10611a8057610100808354040283529160200191611aab565b820191906000526020600020905b815481529060010190602001808311611a8e57829003601f168201915b5050505050905090565b6060611ac082611c69565b1515611acb57600080fd5b600d60008381526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b725780601f10611b4757610100808354040283529160200191611b72565b820191906000526020600020905b815481529060010190602001808311611b5557829003601f168201915b50505050509050919050565b611b8733611883565b1515611b9257600080fd5b60008410158015611ba5575061270f8411155b1515611bb057600080fd5b611bbd8585858585612671565b60016008600082825401925050819055505050505050565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b611ce482611c69565b1515611cef57600080fd5b80600b60008481526020019081526020016000209080519060200190611d16929190612ee1565b50817fe9dd2c01379f6033709e315d41f1a58fcbd937ae2512da16462852d1082e7b73826040518080602001828103825283818151815260200191508051906020019080838360005b83811015611d7a578082015181840152602081019050611d5f565b50505050905090810190601f168015611da75780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050565b600080611dc483611481565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611e3357508373ffffffffffffffffffffffffffffffffffffffff16611e1b846110d1565b73ffffffffffffffffffffffffffffffffffffffff16145b80611e445750611e438185611bd5565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611e6d82611481565b73ffffffffffffffffffffffffffffffffffffffff16141515611e8f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611ecb57600080fd5b611ed481612857565b611f276001600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461291790919063ffffffff16565b600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fbd6001600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461293990919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816009600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156120ef57600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61215a81600161295a90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b6121b4816001612a0990919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b61220e816003612a0990919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61226881600361295a90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60006122cf8473ffffffffffffffffffffffffffffffffffffffff16612ab9565b15156122de57600190506124c9565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156123d55780820151818401526020810190506123ba565b50505050905090810190601f1680156124025780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561242457600080fd5b505af1158015612438573d6000803e3d6000fd5b505050506040513d602081101561244e57600080fd5b8101908080519060200190929190505050905063150b7a027c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b60606000821415612519576040805190810160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612625565b600082905060005b600082141515612547578080600101915050600a8281151561253f57fe5b049150612521565b6060816040519080825280601f01601f19166020018201604052801561257c5781602001600182028038833980820191505090505b50905060006001830390505b60008614151561261d57600a8681151561259e57fe5b066030017f0100000000000000000000000000000000000000000000000000000000000000028282806001900393508151811015156125d957fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8681151561261557fe5b049550612588565b819450505050505b919050565b60606126698383602060405190810160405280600081525060206040519081016040528060008152506020604051908101604052806000815250612acc565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515156126ad57600080fd5b6126b684611c69565b1515156126c257600080fd5b846009600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506127676001600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461293990919063ffffffff16565b600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127b48484611cdb565b81600c60008681526020019081526020016000208190555080600d600086815260200190815260200160002090805190602001906127f3929190612ee1565b50838573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050505050565b600073ffffffffffffffffffffffffffffffffffffffff16600a600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612914576000600a600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600082821115151561292857600080fd5b600082840390508091505092915050565b600080828401905083811015151561295057600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561299657600080fd5b6129a082826120b2565b15156129ab57600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515612a4557600080fd5b612a4f82826120b2565b151515612a5b57600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080823b905060008111915050919050565b6060808690506060869050606086905060608690506060869050606081518351855187518951010101016040519080825280601f01601f191660200182016040528015612b285781602001600182028038833980820191505090505b50905060008090506000809050600090505b8751811015612bed578781815181101515612b5157fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028383806001019450815181101515612bb057fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050612b3a565b600090505b8651811015612ca5578681815181101515612c0957fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028383806001019450815181101515612c6857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050612bf2565b600090505b8551811015612d5d578581815181101515612cc157fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028383806001019450815181101515612d2057fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050612caa565b600090505b8451811015612e15578481815181101515612d7957fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028383806001019450815181101515612dd857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050612d62565b600090505b8351811015612ecd578381815181101515612e3157fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028383806001019450815181101515612e9057fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050612e1a565b829850505050505050505095945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612f2257805160ff1916838001178555612f50565b82800160010185558215612f50579182015b82811115612f4f578251825591602001919060010190612f34565b5b509050612f5d9190612f61565b5090565b612f8391905b80821115612f7f576000816000905550600101612f67565b5090565b9056fea165627a7a723058205f5c05bb5479cc79b54a291332ccd8e9a69e4cd62d71beebcdee3507a0ecb3d80029000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000009657468657273746172000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056574682a31000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002568747470733a2f2f726162616e68656964722e6f72672f6574686572737461722f6170692f000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405260043610610185576000357c01000000000000000000000000000000000000000000000000000000009004806301ffc9a71461018a57806306fdde03146101fc578063081812fc1461028c578063095ea7b314610307578063162094c41461036257806318160ddd1461043457806323b872dd1461045f57806324af9942146104da57806330176e13146104f15780633f4ba83a146105b957806342842e0e146105d057806346fbf68e1461064b5780634f558e79146106b45780635c975abb146107075780636352211e146107365780636ef8d66d146107b157806370a08231146107c857806382dc1ec41461082d5780638456cb591461087e57806395d89b4114610895578063983b2d56146109255780639865027514610976578063a22cb4651461098d578063aa271e1a146109ea578063b88d4fde14610a53578063be65d75114610b65578063c87b56dd14610bb4578063d547cfb714610c68578063e725f87714610cf8578063e86f636714610dac578063e985e9c514610f3f575b600080fd5b34801561019657600080fd5b506101e2600480360360208110156101ad57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610fc8565b604051808215151515815260200191505060405180910390f35b34801561020857600080fd5b5061021161102f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610251578082015181840152602081019050610236565b50505050905090810190601f16801561027e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561029857600080fd5b506102c5600480360360208110156102af57600080fd5b81019080803590602001909291905050506110d1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561031357600080fd5b506103606004803603604081101561032a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611122565b005b34801561036e57600080fd5b506104326004803603604081101561038557600080fd5b8101908080359060200190929190803590602001906401000000008111156103ac57600080fd5b8201836020820111156103be57600080fd5b803590602001918460018302840111640100000000831117156103e057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611283565b005b34801561044057600080fd5b506104496112c1565b6040518082815260200191505060405180910390f35b34801561046b57600080fd5b506104d86004803603606081101561048257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112cb565b005b3480156104e657600080fd5b506104ef61130c565b005b3480156104fd57600080fd5b506105b76004803603602081101561051457600080fd5b810190808035906020019064010000000081111561053157600080fd5b82018360208201111561054357600080fd5b8035906020019184600183028401116401000000008311171561056557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061133d565b005b3480156105c557600080fd5b506105ce61136b565b005b3480156105dc57600080fd5b50610649600480360360608110156105f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061141a565b005b34801561065757600080fd5b5061069a6004803603602081101561066e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061143b565b604051808215151515815260200191505060405180910390f35b3480156106c057600080fd5b506106ed600480360360208110156106d757600080fd5b8101908080359060200190929190505050611458565b604051808215151515815260200191505060405180910390f35b34801561071357600080fd5b5061071c61146a565b604051808215151515815260200191505060405180910390f35b34801561074257600080fd5b5061076f6004803603602081101561075957600080fd5b8101908080359060200190929190505050611481565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107bd57600080fd5b506107c66114ff565b005b3480156107d457600080fd5b50610817600480360360208110156107eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061150a565b6040518082815260200191505060405180910390f35b34801561083957600080fd5b5061087c6004803603602081101561085057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061158e565b005b34801561088a57600080fd5b506108936115ae565b005b3480156108a157600080fd5b506108aa61165e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108ea5780820151818401526020810190506108cf565b50505050905090810190601f1680156109175780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561093157600080fd5b506109746004803603602081101561094857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611700565b005b34801561098257600080fd5b5061098b611720565b005b34801561099957600080fd5b506109e8600480360360408110156109b057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061172b565b005b3480156109f657600080fd5b50610a3960048036036020811015610a0d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611883565b604051808215151515815260200191505060405180910390f35b348015610a5f57600080fd5b50610b6360048036036080811015610a7657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610add57600080fd5b820183602082011115610aef57600080fd5b80359060200191846001830284011164010000000083111715610b1157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506118a0565b005b348015610b7157600080fd5b50610b9e60048036036020811015610b8857600080fd5b81019080803590602001909291905050506118c8565b6040518082815260200191505060405180910390f35b348015610bc057600080fd5b50610bed60048036036020811015610bd757600080fd5b81019080803590602001909291905050506118f9565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c2d578082015181840152602081019050610c12565b50505050905090810190601f168015610c5a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610c7457600080fd5b50610c7d611a13565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610cbd578082015181840152602081019050610ca2565b50505050905090810190601f168015610cea5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610d0457600080fd5b50610d3160048036036020811015610d1b57600080fd5b8101908080359060200190929190505050611ab5565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d71578082015181840152602081019050610d56565b50505050905090810190601f168015610d9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610db857600080fd5b50610f3d600480360360a0811015610dcf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610e1657600080fd5b820183602082011115610e2857600080fd5b80359060200191846001830284011164010000000083111715610e4a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190640100000000811115610eb757600080fd5b820183602082011115610ec957600080fd5b80359060200191846001830284011164010000000083111715610eeb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611b7e565b005b348015610f4b57600080fd5b50610fae60048036036040811015610f6257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bd5565b604051808215151515815260200191505060405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110c75780601f1061109c576101008083540402835291602001916110c7565b820191906000526020600020905b8154815290600101906020018083116110aa57829003601f168201915b5050505050905090565b60006110dc82611c69565b15156110e757600080fd5b600a600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600260009054906101000a900460ff1615151561113e57600080fd5b600061114982611481565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561118657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806111c657506111c58133611bd5565b5b15156111d157600080fd5b82600a600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b61128c33611883565b151561129757600080fd5b600760009054906101000a900460ff161515156112b357600080fd5b6112bd8282611cdb565b5050565b6000600854905090565b600260009054906101000a900460ff161515156112e757600080fd5b6112f13382611db8565b15156112fc57600080fd5b611307838383611e4d565b505050565b61131533611883565b151561132057600080fd5b6001600760006101000a81548160ff021916908315150217905550565b61134633611883565b151561135157600080fd5b8060069080519060200190611367929190612ee1565b5050565b6113743361143b565b151561137f57600080fd5b600260009054906101000a900460ff16151561139a57600080fd5b6000600260006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b61143683838360206040519081016040528060008152506118a0565b505050565b60006114518260016120b290919063ffffffff16565b9050919050565b600061146382611c69565b9050919050565b6000600260009054906101000a900460ff16905090565b6000806009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114f657600080fd5b80915050919050565b61150833612146565b565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561154757600080fd5b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6115973361143b565b15156115a257600080fd5b6115ab816121a0565b50565b6115b73361143b565b15156115c257600080fd5b600260009054906101000a900460ff161515156115de57600080fd5b6001600260006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116f65780601f106116cb576101008083540402835291602001916116f6565b820191906000526020600020905b8154815290600101906020018083116116d957829003601f168201915b5050505050905090565b61170933611883565b151561171457600080fd5b61171d816121fa565b50565b61172933612254565b565b600260009054906101000a900460ff1615151561174757600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561178257600080fd5b80600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b60006118998260036120b290919063ffffffff16565b9050919050565b6118ab8484846112cb565b6118b7848484846122ae565b15156118c257600080fd5b50505050565b60006118d382611c69565b15156118de57600080fd5b600c6000838152602001908152602001600020549050919050565b606061190482611c69565b151561190f57600080fd5b6000600b600084815260200190815260200160002080546001816001161561010002031660029004905011156119f257600b60008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119e65780601f106119bb576101008083540402835291602001916119e6565b820191906000526020600020905b8154815290600101906020018083116119c957829003601f168201915b50505050509050611a0e565b611a0b6119fd611a13565b611a06846124d1565b61262a565b90505b919050565b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611aab5780601f10611a8057610100808354040283529160200191611aab565b820191906000526020600020905b815481529060010190602001808311611a8e57829003601f168201915b5050505050905090565b6060611ac082611c69565b1515611acb57600080fd5b600d60008381526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b725780601f10611b4757610100808354040283529160200191611b72565b820191906000526020600020905b815481529060010190602001808311611b5557829003601f168201915b50505050509050919050565b611b8733611883565b1515611b9257600080fd5b60008410158015611ba5575061270f8411155b1515611bb057600080fd5b611bbd8585858585612671565b60016008600082825401925050819055505050505050565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b611ce482611c69565b1515611cef57600080fd5b80600b60008481526020019081526020016000209080519060200190611d16929190612ee1565b50817fe9dd2c01379f6033709e315d41f1a58fcbd937ae2512da16462852d1082e7b73826040518080602001828103825283818151815260200191508051906020019080838360005b83811015611d7a578082015181840152602081019050611d5f565b50505050905090810190601f168015611da75780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050565b600080611dc483611481565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611e3357508373ffffffffffffffffffffffffffffffffffffffff16611e1b846110d1565b73ffffffffffffffffffffffffffffffffffffffff16145b80611e445750611e438185611bd5565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611e6d82611481565b73ffffffffffffffffffffffffffffffffffffffff16141515611e8f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611ecb57600080fd5b611ed481612857565b611f276001600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461291790919063ffffffff16565b600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fbd6001600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461293990919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816009600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156120ef57600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61215a81600161295a90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b6121b4816001612a0990919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b61220e816003612a0990919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61226881600361295a90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60006122cf8473ffffffffffffffffffffffffffffffffffffffff16612ab9565b15156122de57600190506124c9565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156123d55780820151818401526020810190506123ba565b50505050905090810190601f1680156124025780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561242457600080fd5b505af1158015612438573d6000803e3d6000fd5b505050506040513d602081101561244e57600080fd5b8101908080519060200190929190505050905063150b7a027c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b60606000821415612519576040805190810160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612625565b600082905060005b600082141515612547578080600101915050600a8281151561253f57fe5b049150612521565b6060816040519080825280601f01601f19166020018201604052801561257c5781602001600182028038833980820191505090505b50905060006001830390505b60008614151561261d57600a8681151561259e57fe5b066030017f0100000000000000000000000000000000000000000000000000000000000000028282806001900393508151811015156125d957fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8681151561261557fe5b049550612588565b819450505050505b919050565b60606126698383602060405190810160405280600081525060206040519081016040528060008152506020604051908101604052806000815250612acc565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515156126ad57600080fd5b6126b684611c69565b1515156126c257600080fd5b846009600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506127676001600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461293990919063ffffffff16565b600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127b48484611cdb565b81600c60008681526020019081526020016000208190555080600d600086815260200190815260200160002090805190602001906127f3929190612ee1565b50838573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050505050565b600073ffffffffffffffffffffffffffffffffffffffff16600a600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612914576000600a600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600082821115151561292857600080fd5b600082840390508091505092915050565b600080828401905083811015151561295057600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561299657600080fd5b6129a082826120b2565b15156129ab57600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515612a4557600080fd5b612a4f82826120b2565b151515612a5b57600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080823b905060008111915050919050565b6060808690506060869050606086905060608690506060869050606081518351855187518951010101016040519080825280601f01601f191660200182016040528015612b285781602001600182028038833980820191505090505b50905060008090506000809050600090505b8751811015612bed578781815181101515612b5157fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028383806001019450815181101515612bb057fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050612b3a565b600090505b8651811015612ca5578681815181101515612c0957fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028383806001019450815181101515612c6857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050612bf2565b600090505b8551811015612d5d578581815181101515612cc157fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028383806001019450815181101515612d2057fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050612caa565b600090505b8451811015612e15578481815181101515612d7957fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028383806001019450815181101515612dd857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050612d62565b600090505b8351811015612ecd578381815181101515612e3157fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028383806001019450815181101515612e9057fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050612e1a565b829850505050505050505095945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612f2257805160ff1916838001178555612f50565b82800160010185558215612f50579182015b82811115612f4f578251825591602001919060010190612f34565b5b509050612f5d9190612f61565b5090565b612f8391905b80821115612f7f576000816000905550600101612f67565b5090565b9056fea165627a7a723058205f5c05bb5479cc79b54a291332ccd8e9a69e4cd62d71beebcdee3507a0ecb3d80029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000009657468657273746172000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056574682a31000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002568747470733a2f2f726162616e68656964722e6f72672f6574686572737461722f6170692f000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name (string): etherstar
Arg [1] : symbol (string): eth*1
Arg [2] : baseTokenURI (string): https://rabanheidr.org/etherstar/api/
-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [4] : 6574686572737461720000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [6] : 6574682a31000000000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000025
Arg [8] : 68747470733a2f2f726162616e68656964722e6f72672f657468657273746172
Arg [9] : 2f6170692f000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
14241:16405:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1257:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1257:135:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1257:135:0;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;17357:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17357:85:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17357:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22212:154;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22212:154:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22212:154:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;21606:313;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21606:313:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21606:313:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18625:154;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18625:154:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18625:154:0;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;18625:154:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;18625:154:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;18625:154:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;18625:154:0;;;;;;;;;;;;;;;:::i;:::-;;17803:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17803:91:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;23816:198;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23816:198:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23816:198:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18263:86;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18263:86:0;;;:::i;:::-;;19400:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19400:118:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19400:118:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;19400:118:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;19400:118:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;19400:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;19400:118:0;;;;;;;;;;;;;;;:::i;:::-;;7478;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7478:118:0;;;:::i;:::-;;24667:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24667:134:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;24667:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5752:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5752:109:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5752:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;18090:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18090:104:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18090:104:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6731:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6731:78:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;20994:181;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20994:181:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20994:181:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5969:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5969:77:0;;;:::i;:::-;;20610:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20610:153:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20610:153:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5869:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5869:92:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5869:92:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;7267:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7267:116:0;;;:::i;:::-;;17556:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17556:89:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17556:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8083:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8083:92:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8083:92:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8183:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8183:77:0;;;:::i;:::-;;22666:231;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22666:231:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22666:231:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7966:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7966:109:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7966:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;25520:214;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25520:214:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;25520:214:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;25520:214:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;25520:214:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;25520:214:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;25520:214:0;;;;;;;;;;;;;;;:::i;:::-;;19920:141;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19920:141:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19920:141:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18986:291;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18986:291:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18986:291:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;18986:291:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19642:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19642:99:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;19642:99:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20246:154;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20246:154:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20246:154:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;20246:154:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26115:268;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26115:268:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;26115:268:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;26115:268:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;26115:268:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;26115:268:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;26115:268:0;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;26115:268:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;26115:268:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;26115:268:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;26115:268:0;;;;;;;;;;;;;;;:::i;:::-;;23226:147;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23226:147:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23226:147:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1257:135;1327:4;1351:20;:33;1372:11;1351:33;;;;;;;;;;;;;;;;;;;;;;;;;;;1344:40;;1257:135;;;:::o;17357:85::-;17396:13;17429:5;17422:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17357:85;:::o;22212:154::-;22271:7;22299:16;22307:7;22299;:16::i;:::-;22291:25;;;;;;;;22334:15;:24;22350:7;22334:24;;;;;;;;;;;;;;;;;;;;;22327:31;;22212:154;;;:::o;21606:313::-;6968:7;;;;;;;;;;;6967:8;6959:17;;;;;;;;21684:13;21700:16;21708:7;21700;:16::i;:::-;21684:32;;21741:5;21735:11;;:2;:11;;;;21727:20;;;;;;;;21780:5;21766:19;;:10;:19;;;:58;;;;21789:35;21806:5;21813:10;21789:16;:35::i;:::-;21766:58;21758:67;;;;;;;;21865:2;21838:15;:24;21854:7;21838:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;21903:7;21899:2;21883:28;;21892:5;21883:28;;;;;;;;;;;;6987:1;21606:313;;:::o;18625:154::-;7917:20;7926:10;7917:8;:20::i;:::-;7909:29;;;;;;;;18720:13;;;;;;;;;;;18719:14;18711:23;;;;;;;;18745:26;18758:7;18767:3;18745:12;:26::i;:::-;18625:154;;:::o;17803:91::-;17847:7;17874:12;;17867:19;;17803:91;:::o;23816:198::-;6968:7;;;;;;;;;;;6967:8;6959:17;;;;;;;;23921:39;23940:10;23952:7;23921:18;:39::i;:::-;23913:48;;;;;;;;23974:32;23988:4;23994:2;23998:7;23974:13;:32::i;:::-;23816:198;;;:::o;18263:86::-;7917:20;7926:10;7917:8;:20::i;:::-;7909:29;;;;;;;;18337:4;18321:13;;:20;;;;;;;;;;;;;;;;;;18263:86::o;19400:118::-;7917:20;7926:10;7917:8;:20::i;:::-;7909:29;;;;;;;;19498:12;19482:13;:28;;;;;;;;;;;;:::i;:::-;;19400:118;:::o;7478:::-;5703:20;5712:10;5703:8;:20::i;:::-;5695:29;;;;;;;;7147:7;;;;;;;;;;;7139:16;;;;;;;;7547:5;7537:7;;:15;;;;;;;;;;;;;;;;;;7568:20;7577:10;7568:20;;;;;;;;;;;;;;;;;;;;;;7478:118::o;24667:134::-;24754:39;24771:4;24777:2;24781:7;24754:39;;;;;;;;;;;;;:16;:39::i;:::-;24667:134;;;:::o;5752:109::-;5808:4;5832:21;5845:7;5832:8;:12;;:21;;;;:::i;:::-;5825:28;;5752:109;;;:::o;18090:104::-;18146:4;18170:16;18178:7;18170;:16::i;:::-;18163:23;;18090:104;;;:::o;6731:78::-;6770:4;6794:7;;;;;;;;;;;6787:14;;6731:78;:::o;20994:181::-;21049:7;21069:13;21085:11;:20;21097:7;21085:20;;;;;;;;;;;;;;;;;;;;;21069:36;;21141:1;21124:19;;:5;:19;;;;21116:28;;;;;;;;21162:5;21155:12;;;20994:181;;;:::o;5969:77::-;6013:25;6027:10;6013:13;:25::i;:::-;5969:77::o;20610:153::-;20665:7;20710:1;20693:19;;:5;:19;;;;20685:28;;;;;;;;20731:17;:24;20749:5;20731:24;;;;;;;;;;;;;;;;20724:31;;20610:153;;;:::o;5869:92::-;5703:20;5712:10;5703:8;:20::i;:::-;5695:29;;;;;;;;5934:19;5945:7;5934:10;:19::i;:::-;5869:92;:::o;7267:116::-;5703:20;5712:10;5703:8;:20::i;:::-;5695:29;;;;;;;;6968:7;;;;;;;;;;;6967:8;6959:17;;;;;;;;7337:4;7327:7;;:14;;;;;;;;;;;;;;;;;;7357:18;7364:10;7357:18;;;;;;;;;;;;;;;;;;;;;;7267:116::o;17556:89::-;17597:13;17630:7;17623:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17556:89;:::o;8083:92::-;7917:20;7926:10;7917:8;:20::i;:::-;7909:29;;;;;;;;8148:19;8159:7;8148:10;:19::i;:::-;8083:92;:::o;8183:77::-;8227:25;8241:10;8227:13;:25::i;:::-;8183:77::o;22666:231::-;6968:7;;;;;;;;;;;6967:8;6959:17;;;;;;;;22766:10;22760:16;;:2;:16;;;;22752:25;;;;;;;;22825:8;22788:18;:30;22807:10;22788:30;;;;;;;;;;;;;;;:34;22819:2;22788:34;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;22876:2;22849:40;;22864:10;22849:40;;;22880:8;22849:40;;;;;;;;;;;;;;;;;;;;;;22666:231;;:::o;7966:109::-;8022:4;8046:21;8059:7;8046:8;:12;;:21;;;;:::i;:::-;8039:28;;7966:109;;;:::o;25520:214::-;25627:31;25640:4;25646:2;25650:7;25627:12;:31::i;:::-;25677:48;25700:4;25706:2;25710:7;25719:5;25677:22;:48::i;:::-;25669:57;;;;;;;;25520:214;;;;:::o;19920:141::-;19976:7;20004:16;20012:7;20004;:16::i;:::-;19996:25;;;;;;;;20039:5;:14;20045:7;20039:14;;;;;;;;;;;;20032:21;;19920:141;;;:::o;18986:291::-;19044:13;19078:16;19086:7;19078;:16::i;:::-;19070:25;;;;;;;;19148:1;19118:10;:19;19129:7;19118:19;;;;;;;;;;;19112:33;;;;;;;;;;;;;;;;:37;19108:82;;;19171:10;:19;19182:7;19171:19;;;;;;;;;;;19164:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19108:82;19210:59;19228:14;:12;:14::i;:::-;19243:25;19260:7;19243:16;:25::i;:::-;19210:17;:59::i;:::-;19203:66;;18986:291;;;;:::o;19642:99::-;19687:13;19720;19713:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19642:99;:::o;20246:154::-;20303:13;20337:16;20345:7;20337;:16::i;:::-;20329:25;;;;;;;;20372:11;:20;20384:7;20372:20;;;;;;;;;;;20365:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20246:154;;;:::o;26115:268::-;7917:20;7926:10;7917:8;:20::i;:::-;7909:29;;;;;;;;26277:1;26266:7;:12;;:31;;;;;26293:4;26282:7;:15;;26266:31;26258:40;;;;;;;;26309:38;26315:2;26319:7;26328:3;26333;26338:8;26309:5;:38::i;:::-;26374:1;26358:12;;:17;;;;;;;;;;;26115:268;;;;;:::o;23226:147::-;23306:4;23330:18;:25;23349:5;23330:25;;;;;;;;;;;;;;;:35;23356:8;23330:35;;;;;;;;;;;;;;;;;;;;;;;;;23323:42;;23226:147;;;;:::o;26579:155::-;26636:4;26653:13;26669:11;:20;26681:7;26669:20;;;;;;;;;;;;;;;;;;;;;26653:36;;26724:1;26707:19;;:5;:19;;;;26700:26;;;26579:155;;;:::o;28429:185::-;28515:16;28523:7;28515;:16::i;:::-;28507:25;;;;;;;;28565:3;28543:10;:19;28554:7;28543:19;;;;;;;;;;;:25;;;;;;;;;;;;:::i;:::-;;28593:7;28584:22;28602:3;28584:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;28584:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28429:185;;:::o;27106:249::-;27191:4;27208:13;27224:16;27232:7;27224;:16::i;:::-;27208:32;;27270:5;27259:16;;:7;:16;;;:51;;;;27303:7;27279:31;;:20;27291:7;27279:11;:20::i;:::-;:31;;;27259:51;:87;;;;27314:32;27331:5;27338:7;27314:16;:32::i;:::-;27259:87;27251:96;;;27106:249;;;;:::o;28997:414::-;29111:4;29091:24;;:16;29099:7;29091;:16::i;:::-;:24;;;29083:33;;;;;;;;29149:1;29135:16;;:2;:16;;;;29127:25;;;;;;;;29165:23;29180:7;29165:14;:23::i;:::-;29227:30;29255:1;29227:17;:23;29245:4;29227:23;;;;;;;;;;;;;;;;:27;;:30;;;;:::i;:::-;29201:17;:23;29219:4;29201:23;;;;;;;;;;;;;;;:56;;;;29292:28;29318:1;29292:17;:21;29310:2;29292:21;;;;;;;;;;;;;;;;:25;;:28;;;;:::i;:::-;29268:17;:21;29286:2;29268:21;;;;;;;;;;;;;;;:52;;;;29356:2;29333:11;:20;29345:7;29333:20;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;29395:7;29391:2;29376:27;;29385:4;29376:27;;;;;;;;;;;;28997:414;;;:::o;5217:165::-;5289:4;5333:1;5314:21;;:7;:21;;;;5306:30;;;;;;;;5354:4;:11;;:20;5366:7;5354:20;;;;;;;;;;;;;;;;;;;;;;;;;5347:27;;5217:165;;;;:::o;6184:130::-;6244:24;6260:7;6244:8;:15;;:24;;;;:::i;:::-;6298:7;6284:22;;;;;;;;;;;;6184:130;:::o;6054:122::-;6111:21;6124:7;6111:8;:12;;:21;;;;:::i;:::-;6160:7;6148:20;;;;;;;;;;;;6054:122;:::o;8268:::-;8325:21;8338:7;8325:8;:12;;:21;;;;:::i;:::-;8374:7;8362:20;;;;;;;;;;;;8268:122;:::o;8398:130::-;8458:24;8474:7;8458:8;:15;;:24;;;;:::i;:::-;8512:7;8498:22;;;;;;;;;;;;8398:130;:::o;29945:356::-;30067:4;30094:15;:2;:13;;;:15::i;:::-;30093:16;30089:60;;;30133:4;30126:11;;;;30089:60;30161:13;30193:2;30177:36;;;30214:10;30226:4;30232:7;30241:5;30177:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;30177:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30177:70:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30177:70:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;30177:70:0;;;;;;;;;;;;;;;;30161:86;;15590:10;30276:16;;30266:26;;;:6;:26;;;;30258:35;;;29945:356;;;;;;;:::o;13075:482::-;13125:27;13175:1;13169:2;:7;13165:50;;;13193:10;;;;;;;;;;;;;;;;;;;;;;13165:50;13225:6;13234:2;13225:11;;13247:8;13266:69;13278:1;13273;:6;;13266:69;;;13296:5;;;;;;;13321:2;13316:7;;;;;;;;;;;13266:69;;;13345:17;13375:3;13365:14;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;116:4;104:10;96:6;87:34;147:4;139:6;135:17;125:27;;0:156;13365:14:0;;;;13345:34;;13390:6;13405:1;13399:3;:7;13390:16;;13417:103;13430:1;13424:2;:7;;13417:103;;;13481:2;13476;:7;;;;;;;;13471:2;:12;13460:25;;13448:4;13453:3;;;;;;;13448:9;;;;;;;;;;;;;;:37;;;;;;;;;;;13506:2;13500:8;;;;;;;;;;;13417:103;;;13544:4;13530:19;;;;;;13075:482;;;;:::o;12916:151::-;12996:14;13030:29;13040:2;13044;13030:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:9;:29::i;:::-;13023:36;;12916:151;;;;:::o;27730:454::-;27873:1;27859:16;;:2;:16;;;;27851:25;;;;;;;;27896:16;27904:7;27896;:16::i;:::-;27895:17;27887:26;;;;;;;;27949:2;27926:11;:20;27938:7;27926:20;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;27986:28;28012:1;27986:17;:21;28004:2;27986:21;;;;;;;;;;;;;;;;:25;;:28;;;;:::i;:::-;27962:17;:21;27980:2;27962:21;;;;;;;;;;;;;;;:52;;;;28025:26;28038:7;28047:3;28025:12;:26::i;:::-;28079:3;28062:5;:14;28068:7;28062:14;;;;;;;;;;;:20;;;;28117:8;28094:11;:20;28106:7;28094:20;;;;;;;;;;;:31;;;;;;;;;;;;:::i;:::-;;28168:7;28164:2;28143:33;;28160:1;28143:33;;;;;;;;;;;;27730:454;;;;;:::o;30468:175::-;30568:1;30532:38;;:15;:24;30548:7;30532:24;;;;;;;;;;;;;;;;;;;;;:38;;;;30528:108;;;30622:1;30587:15;:24;30603:7;30587:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;30528:108;30468:175;:::o;9752:150::-;9810:7;9843:1;9838;:6;;9830:15;;;;;;;;9856:9;9872:1;9868;:5;9856:17;;9893:1;9886:8;;;9752:150;;;;:::o;9988:::-;10046:7;10066:9;10082:1;10078;:5;10066:17;;10107:1;10102;:6;;10094:15;;;;;;;;10129:1;10122:8;;;9988:150;;;;:::o;4934:189::-;5033:1;5014:21;;:7;:21;;;;5006:30;;;;;;;;5055:18;5059:4;5065:7;5055:3;:18::i;:::-;5047:27;;;;;;;;5110:5;5087:4;:11;;:20;5099:7;5087:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;4934:189;;:::o;4669:186::-;4765:1;4746:21;;:7;:21;;;;4738:30;;;;;;;;4788:18;4792:4;4798:7;4788:3;:18::i;:::-;4787:19;4779:28;;;;;;;;4843:4;4820;:11;;:20;4832:7;4820:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;4669:186;;:::o;10876:627::-;10936:4;10953:12;11460:7;11448:20;11440:28;;11494:1;11487:4;:8;11480:15;;;10876:627;;;:::o;11533:1000::-;11665:33;11711:16;11736:2;11711:28;;11750:16;11775:2;11750:28;;11789:16;11814:2;11789:28;;11828:16;11853:2;11828:28;;11867:16;11892:2;11867:28;;11906:19;11990:3;:10;11977:3;:10;11964:3;:10;11951:3;:10;11938:3;:10;:23;:36;:49;:62;11928:73;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;116:4;104:10;96:6;87:34;147:4;139:6;135:17;125:27;;0:156;11928:73:0;;;;11906:95;;12012:6;12021:1;12012:10;;12033:6;12042:1;12033:10;;12063:1;12059:5;;12054:80;12070:3;:10;12066:1;:14;12054:80;;;12116:3;12120:1;12116:6;;;;;;;;;;;;;;;;;;;;12102;12109:3;;;;;;12102:11;;;;;;;;;;;;;;:20;;;;;;;;;;;12082:3;;;;;;;12054:80;;;12153:1;12149:5;;12144:80;12160:3;:10;12156:1;:14;12144:80;;;12206:3;12210:1;12206:6;;;;;;;;;;;;;;;;;;;;12192;12199:3;;;;;;12192:11;;;;;;;;;;;;;;:20;;;;;;;;;;;12172:3;;;;;;;12144:80;;;12243:1;12239:5;;12234:80;12250:3;:10;12246:1;:14;12234:80;;;12296:3;12300:1;12296:6;;;;;;;;;;;;;;;;;;;;12282;12289:3;;;;;;12282:11;;;;;;;;;;;;;;:20;;;;;;;;;;;12262:3;;;;;;;12234:80;;;12333:1;12329:5;;12324:80;12340:3;:10;12336:1;:14;12324:80;;;12386:3;12390:1;12386:6;;;;;;;;;;;;;;;;;;;;12372;12379:3;;;;;;12372:11;;;;;;;;;;;;;;:20;;;;;;;;;;;12352:3;;;;;;;12324:80;;;12423:1;12419:5;;12414:80;12430:3;:10;12426:1;:14;12414:80;;;12476:3;12480:1;12476:6;;;;;;;;;;;;;;;;;;;;12462;12469:3;;;;;;12462:11;;;;;;;;;;;;;;:20;;;;;;;;;;;12442:3;;;;;;;12414:80;;;12518:6;12504:21;;;;;;;;;;11533:1000;;;;;;;:::o;14241:16405::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://5f5c05bb5479cc79b54a291332ccd8e9a69e4cd62d71beebcdee3507a0ecb3d8
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.