ERC-721
Overview
Max Total Supply
0 HH
Holders
1,302
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
1 HHLoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
HexHeads
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity ^0.8.17; import "../libs/ERC721.sol"; import "../libs/Owned.sol"; import "./utils/Strings.sol"; /////////////////////////////////////////////////////////////////////////////// // // // βββ βββ ββββββββ βββ βββ βββ βββ ββββββββ ββββββ βββββββ ββββββββ // // βββ βββ ββββββββ ββββββββ βββ βββ ββββββββ ββββββββ ββββββββ ββββββββ // // ββββββββ ββββββ ββββββ ββββββββ ββββββ ββββββββ βββ βββ ββββββββ // // ββββββββ ββββββ ββββββ ββββββββ ββββββ ββββββββ βββ βββ ββββββββ // // βββ βββ ββββββββ ββββ βββ βββ βββ ββββββββ βββ βββ ββββββββ ββββββββ // // βββ βββ ββββββββ βββ βββ βββ βββ ββββββββ βββ βββ βββββββ ββββββββ // // The faces of Ethereum // // hexheads.io // /////////////////////////////////////////////////////////////////////////////// contract HexHeads is ERC721, Owned { //// PUBLIC STORAGE //// /// CONSTANTS /// uint256 constant public maxSupply = 1461501637330902918203684832716283019655932542975; /// MUTABLES /// mapping(uint256 => bool) public burnt; address public operator; //// PRIVATE STORAGE //// string private _baseURI; //// MODIFIERS //// modifier onlyOperator() { require(msg.sender == operator, "Only operator can call this function."); _; } //// CONSTRUCTOR //// constructor( address owner_, address operator_, string memory baseURI_ ) ERC721("HexHeads", "HH") Owned(owner_) { operator = operator_; _baseURI = baseURI_; } //// PUBLIC FUNCTIONS //// function mint() external { uint256 id = uint256(uint160(msg.sender)); require(!burnt[id], "TOKEN_IS_BURNT"); _mint(msg.sender, id); } function tokenURI( uint256 id ) public view override returns (string memory) { return string.concat(_baseURI, Strings.toString(id)); } //// ONLY OPERATOR //// function burn( uint256 id ) public onlyOperator { burnt[id] = true; _burn(id); } //// ONLY OWNER //// function setBaseUri( string memory baseURI ) public onlyOwner { _baseURI = baseURI; } function setOperator( address operator_ ) public onlyOwner { operator = operator_; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (utils/math/Math.sol) pragma solidity 0.8.17; /** * @dev Standard math utilities missing in the Solidity language. */ library Math { /** * @dev Return the log in base 10, rounded down, of a positive value. * Returns 0 if given 0. */ function log10(uint256 value) internal pure returns (uint256) { uint256 result = 0; unchecked { if (value >= 10**64) { value /= 10**64; result += 64; } if (value >= 10**32) { value /= 10**32; result += 32; } if (value >= 10**16) { value /= 10**16; result += 16; } if (value >= 10**8) { value /= 10**8; result += 8; } if (value >= 10**4) { value /= 10**4; result += 4; } if (value >= 10**2) { value /= 10**2; result += 2; } if (value >= 10**1) { result += 1; } } return result; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (utils/Strings.sol) pragma solidity 0.8.17; import "./Math.sol"; /** * @dev String operations. */ library Strings { bytes16 private constant _SYMBOLS = "0123456789abcdef"; /** * @dev Converts a `uint256` to its ASCII `string` decimal representation. */ function toString(uint256 value) internal pure returns (string memory) { unchecked { uint256 length = Math.log10(value) + 1; string memory buffer = new string(length); uint256 ptr; /// @solidity memory-safe-assembly assembly { ptr := add(buffer, add(32, length)) } while (true) { ptr--; /// @solidity memory-safe-assembly assembly { mstore8(ptr, byte(mod(value, 10), _SYMBOLS)) } value /= 10; if (value == 0) break; } return buffer; } } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length. */ function toHexString(bytes32 value, uint256 size) internal pure returns (string memory) { size = size*2+2; // 1 byte per symbol and 2 additional bytes for "0x" prefix bytes memory buffer = new bytes(size); bytes32 mask = bytes32(uint256(0xf)); buffer[0] = "0"; buffer[1] = "x"; for (uint256 i = size-1; i > 1; i--) { buffer[i] = _SYMBOLS[uint256(value & mask)]; value >>= 4; } require(value == 0, "Strings: hex length insufficient"); return string(buffer); } }
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.0; /// @notice Modern, minimalist, and gas efficient ERC-721 implementation. /// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC721.sol) abstract contract ERC721 { /*////////////////////////////////////////////////////////////// EVENTS //////////////////////////////////////////////////////////////*/ event Transfer(address indexed from, address indexed to, uint256 indexed id); event Approval(address indexed owner, address indexed spender, uint256 indexed id); event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /*////////////////////////////////////////////////////////////// METADATA STORAGE/LOGIC //////////////////////////////////////////////////////////////*/ string public name; string public symbol; function tokenURI(uint256 id) public view virtual returns (string memory); /*////////////////////////////////////////////////////////////// ERC721 BALANCE/OWNER STORAGE //////////////////////////////////////////////////////////////*/ mapping(uint256 => address) internal _ownerOf; mapping(address => uint256) internal _balanceOf; function ownerOf(uint256 id) public view virtual returns (address owner) { require((owner = _ownerOf[id]) != address(0), "NOT_MINTED"); } function balanceOf(address owner) public view virtual returns (uint256) { require(owner != address(0), "ZERO_ADDRESS"); return _balanceOf[owner]; } /*////////////////////////////////////////////////////////////// ERC721 APPROVAL STORAGE //////////////////////////////////////////////////////////////*/ mapping(uint256 => address) public getApproved; mapping(address => mapping(address => bool)) public isApprovedForAll; /*////////////////////////////////////////////////////////////// CONSTRUCTOR //////////////////////////////////////////////////////////////*/ constructor(string memory _name, string memory _symbol) { name = _name; symbol = _symbol; } /*////////////////////////////////////////////////////////////// ERC721 LOGIC //////////////////////////////////////////////////////////////*/ function approve(address spender, uint256 id) public virtual { address owner = _ownerOf[id]; require(msg.sender == owner || isApprovedForAll[owner][msg.sender], "NOT_AUTHORIZED"); getApproved[id] = spender; emit Approval(owner, spender, id); } function setApprovalForAll(address operator, bool approved) public virtual { isApprovedForAll[msg.sender][operator] = approved; emit ApprovalForAll(msg.sender, operator, approved); } function transferFrom( address from, address to, uint256 id ) public virtual { require(from == _ownerOf[id], "WRONG_FROM"); require(to != address(0), "INVALID_RECIPIENT"); require( msg.sender == from || isApprovedForAll[from][msg.sender] || msg.sender == getApproved[id], "NOT_AUTHORIZED" ); // Underflow of the sender's balance is impossible because we check for // ownership above and the recipient's balance can't realistically overflow. unchecked { _balanceOf[from]--; _balanceOf[to]++; } _ownerOf[id] = to; delete getApproved[id]; emit Transfer(from, to, id); } function safeTransferFrom( address from, address to, uint256 id ) public virtual { transferFrom(from, to, id); require( to.code.length == 0 || ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, "") == ERC721TokenReceiver.onERC721Received.selector, "UNSAFE_RECIPIENT" ); } function safeTransferFrom( address from, address to, uint256 id, bytes calldata data ) public virtual { transferFrom(from, to, id); require( to.code.length == 0 || ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, data) == ERC721TokenReceiver.onERC721Received.selector, "UNSAFE_RECIPIENT" ); } /*////////////////////////////////////////////////////////////// ERC165 LOGIC //////////////////////////////////////////////////////////////*/ function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) { return interfaceId == 0x01ffc9a7 || // ERC165 Interface ID for ERC165 interfaceId == 0x80ac58cd || // ERC165 Interface ID for ERC721 interfaceId == 0x5b5e139f; // ERC165 Interface ID for ERC721Metadata } /*////////////////////////////////////////////////////////////// INTERNAL MINT/BURN LOGIC //////////////////////////////////////////////////////////////*/ function _mint(address to, uint256 id) internal virtual { require(to != address(0), "INVALID_RECIPIENT"); require(_ownerOf[id] == address(0), "ALREADY_MINTED"); // Counter overflow is incredibly unrealistic. unchecked { _balanceOf[to]++; } _ownerOf[id] = to; emit Transfer(address(0), to, id); } function _burn(uint256 id) internal virtual { address owner = _ownerOf[id]; require(owner != address(0), "NOT_MINTED"); // Ownership check above ensures no underflow. unchecked { _balanceOf[owner]--; } delete _ownerOf[id]; delete getApproved[id]; emit Transfer(owner, address(0), id); } /*////////////////////////////////////////////////////////////// INTERNAL SAFE MINT LOGIC //////////////////////////////////////////////////////////////*/ function _safeMint(address to, uint256 id) internal virtual { _mint(to, id); require( to.code.length == 0 || ERC721TokenReceiver(to).onERC721Received(msg.sender, address(0), id, "") == ERC721TokenReceiver.onERC721Received.selector, "UNSAFE_RECIPIENT" ); } function _safeMint( address to, uint256 id, bytes memory data ) internal virtual { _mint(to, id); require( to.code.length == 0 || ERC721TokenReceiver(to).onERC721Received(msg.sender, address(0), id, data) == ERC721TokenReceiver.onERC721Received.selector, "UNSAFE_RECIPIENT" ); } } /// @notice A generic interface for a contract which properly accepts ERC721 tokens. /// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC721.sol) abstract contract ERC721TokenReceiver { function onERC721Received( address, address, uint256, bytes calldata ) external virtual returns (bytes4) { return ERC721TokenReceiver.onERC721Received.selector; } }
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.0; /// @notice Simple single owner authorization mixin. /// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol) abstract contract Owned { /*////////////////////////////////////////////////////////////// EVENTS //////////////////////////////////////////////////////////////*/ event OwnershipTransferred(address indexed user, address indexed newOwner); /*////////////////////////////////////////////////////////////// OWNERSHIP STORAGE //////////////////////////////////////////////////////////////*/ address public owner; modifier onlyOwner() virtual { require(msg.sender == owner, "UNAUTHORIZED"); _; } /*////////////////////////////////////////////////////////////// CONSTRUCTOR //////////////////////////////////////////////////////////////*/ constructor(address _owner) { owner = _owner; emit OwnershipTransferred(address(0), _owner); } /*////////////////////////////////////////////////////////////// OWNERSHIP LOGIC //////////////////////////////////////////////////////////////*/ function transferOwnership(address newOwner) public virtual onlyOwner { owner = newOwner; emit OwnershipTransferred(msg.sender, newOwner); } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"operator_","type":"address"},{"internalType":"string","name":"baseURI_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"burnt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseURI","type":"string"}],"name":"setBaseUri","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator_","type":"address"}],"name":"setOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162003346380380620033468339818101604052810190620000379190620003bb565b826040518060400160405280600881526020017f48657848656164730000000000000000000000000000000000000000000000008152506040518060400160405280600281526020017f48480000000000000000000000000000000000000000000000000000000000008152508160009081620000b5919062000681565b508060019081620000c7919062000681565b50505080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060099081620001b9919062000681565b5050505062000768565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200020482620001d7565b9050919050565b6200021681620001f7565b81146200022257600080fd5b50565b60008151905062000236816200020b565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620002918262000246565b810181811067ffffffffffffffff82111715620002b357620002b262000257565b5b80604052505050565b6000620002c8620001c3565b9050620002d6828262000286565b919050565b600067ffffffffffffffff821115620002f957620002f862000257565b5b620003048262000246565b9050602081019050919050565b60005b838110156200033157808201518184015260208101905062000314565b60008484015250505050565b6000620003546200034e84620002db565b620002bc565b90508281526020810184848401111562000373576200037262000241565b5b6200038084828562000311565b509392505050565b600082601f830112620003a0576200039f6200023c565b5b8151620003b28482602086016200033d565b91505092915050565b600080600060608486031215620003d757620003d6620001cd565b5b6000620003e78682870162000225565b9350506020620003fa8682870162000225565b925050604084015167ffffffffffffffff8111156200041e576200041d620001d2565b5b6200042c8682870162000388565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200048957607f821691505b6020821081036200049f576200049e62000441565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004ca565b620005158683620004ca565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620005626200055c62000556846200052d565b62000537565b6200052d565b9050919050565b6000819050919050565b6200057e8362000541565b620005966200058d8262000569565b848454620004d7565b825550505050565b600090565b620005ad6200059e565b620005ba81848462000573565b505050565b5b81811015620005e257620005d6600082620005a3565b600181019050620005c0565b5050565b601f8211156200063157620005fb81620004a5565b6200060684620004ba565b8101602085101562000616578190505b6200062e6200062585620004ba565b830182620005bf565b50505b505050565b600082821c905092915050565b6000620006566000198460080262000636565b1980831691505092915050565b600062000671838362000643565b9150826002028217905092915050565b6200068c8262000436565b67ffffffffffffffff811115620006a857620006a762000257565b5b620006b4825462000470565b620006c1828285620005e6565b600060209050601f831160018114620006f95760008415620006e4578287015190505b620006f0858262000663565b86555062000760565b601f1984166200070986620004a5565b60005b8281101562000733578489015182556001820191506020850194506020810190506200070c565b868310156200075357848901516200074f601f89168262000643565b8355505b6001600288020188555050505b505050505050565b612bce80620007786000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638da5cb5b116100b8578063b3ab15fb1161007c578063b3ab15fb14610361578063b88d4fde1461037d578063c87b56dd14610399578063d5abeb01146103c9578063e985e9c5146103e7578063f2fde38b1461041757610142565b80638da5cb5b146102bd5780638e089173146102db57806395d89b411461030b578063a0bcfc7f14610329578063a22cb4651461034557610142565b806323b872dd1161010a57806323b872dd146101eb57806342842e0e1461020757806342966c6814610223578063570ca7351461023f5780636352211e1461025d57806370a082311461028d57610142565b806301ffc9a71461014757806306fdde0314610177578063081812fc14610195578063095ea7b3146101c55780631249c58b146101e1575b600080fd5b610161600480360381019061015c9190611c10565b610433565b60405161016e9190611c58565b60405180910390f35b61017f6104c5565b60405161018c9190611d03565b60405180910390f35b6101af60048036038101906101aa9190611d5b565b610553565b6040516101bc9190611dc9565b60405180910390f35b6101df60048036038101906101da9190611e10565b610586565b005b6101e961076f565b005b61020560048036038101906102009190611e50565b6107f8565b005b610221600480360381019061021c9190611e50565b610bf7565b005b61023d60048036038101906102389190611d5b565b610d2f565b005b610247610df7565b6040516102549190611dc9565b60405180910390f35b61027760048036038101906102729190611d5b565b610e1d565b6040516102849190611dc9565b60405180910390f35b6102a760048036038101906102a29190611ea3565b610ec8565b6040516102b49190611edf565b60405180910390f35b6102c5610f7f565b6040516102d29190611dc9565b60405180910390f35b6102f560048036038101906102f09190611d5b565b610fa5565b6040516103029190611c58565b60405180910390f35b610313610fc5565b6040516103209190611d03565b60405180910390f35b610343600480360381019061033e919061202f565b611053565b005b61035f600480360381019061035a91906120a4565b6110f6565b005b61037b60048036038101906103769190611ea3565b6111f3565b005b61039760048036038101906103929190612144565b6112c7565b005b6103b360048036038101906103ae9190611d5b565b611405565b6040516103c09190611d03565b60405180910390f35b6103d1611439565b6040516103de9190611edf565b60405180910390f35b61040160048036038101906103fc91906121cc565b611451565b60405161040e9190611c58565b60405180910390f35b610431600480360381019061042c9190611ea3565b611480565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061048e57506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806104be5750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600080546104d29061223b565b80601f01602080910402602001604051908101604052809291908181526020018280546104fe9061223b565b801561054b5780601f106105205761010080835404028352916020019161054b565b820191906000526020600020905b81548152906001019060200180831161052e57829003601f168201915b505050505081565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061067e5750600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6106bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b4906122b8565b60405180910390fd5b826004600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b60003373ffffffffffffffffffffffffffffffffffffffff1690506007600082815260200190815260200160002060009054906101000a900460ff16156107eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e290612324565b60405180910390fd5b6107f533826115ae565b50565b6002600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610899576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089090612390565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610908576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ff906123fc565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109c85750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80610a3157506004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610a70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a67906122b8565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600190039190505550600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b610c028383836107f8565b60008273ffffffffffffffffffffffffffffffffffffffff163b1480610ceb575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168273ffffffffffffffffffffffffffffffffffffffff1663150b7a023386856040518463ffffffff1660e01b8152600401610c8793929190612453565b6020604051808303816000875af1158015610ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cca91906124b2565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b610d2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d219061252b565b60405180910390fd5b505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db6906125bd565b60405180910390fd5b60016007600083815260200190815260200160002060006101000a81548160ff021916908315150217905550610df4816117c0565b50565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff1603610ec3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eba90612629565b60405180910390fd5b919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2f90612695565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b60018054610fd29061223b565b80601f0160208091040260200160405190810160405280929190818152602001828054610ffe9061223b565b801561104b5780601f106110205761010080835404028352916020019161104b565b820191906000526020600020905b81548152906001019060200180831161102e57829003601f168201915b505050505081565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110da90612701565b60405180910390fd5b80600990816110f291906128cd565b5050565b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516111e79190611c58565b60405180910390a35050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127a90612701565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6112d28585856107f8565b60008473ffffffffffffffffffffffffffffffffffffffff163b14806113bf575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663150b7a0233888787876040518663ffffffff1660e01b815260040161135b9594939291906129cc565b6020604051808303816000875af115801561137a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139e91906124b2565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b6113fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f59061252b565b60405180910390fd5b5050505050565b6060600961141283611983565b604051602001611423929190612ad9565b6040516020818303038152906040529050919050565b73ffffffffffffffffffffffffffffffffffffffff81565b60056020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611510576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150790612701565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361161d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611614906123fc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b690612b49565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185e90612629565b60405180910390fd5b600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60606000600161199284611a51565b01905060008167ffffffffffffffff8111156119b1576119b0611f04565b5b6040519080825280601f01601f1916602001820160405280156119e35781602001600182028036833780820191505090505b509050600082602001820190505b600115611a46578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611a3a57611a39612b69565b5b049450600085036119f1575b819350505050919050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611aaf577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611aa557611aa4612b69565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611aec576d04ee2d6d415b85acef81000000008381611ae257611ae1612b69565b5b0492506020810190505b662386f26fc100008310611b1b57662386f26fc100008381611b1157611b10612b69565b5b0492506010810190505b6305f5e1008310611b44576305f5e1008381611b3a57611b39612b69565b5b0492506008810190505b6127108310611b69576127108381611b5f57611b5e612b69565b5b0492506004810190505b60648310611b8c5760648381611b8257611b81612b69565b5b0492506002810190505b600a8310611b9b576001810190505b80915050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611bed81611bb8565b8114611bf857600080fd5b50565b600081359050611c0a81611be4565b92915050565b600060208284031215611c2657611c25611bae565b5b6000611c3484828501611bfb565b91505092915050565b60008115159050919050565b611c5281611c3d565b82525050565b6000602082019050611c6d6000830184611c49565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611cad578082015181840152602081019050611c92565b60008484015250505050565b6000601f19601f8301169050919050565b6000611cd582611c73565b611cdf8185611c7e565b9350611cef818560208601611c8f565b611cf881611cb9565b840191505092915050565b60006020820190508181036000830152611d1d8184611cca565b905092915050565b6000819050919050565b611d3881611d25565b8114611d4357600080fd5b50565b600081359050611d5581611d2f565b92915050565b600060208284031215611d7157611d70611bae565b5b6000611d7f84828501611d46565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611db382611d88565b9050919050565b611dc381611da8565b82525050565b6000602082019050611dde6000830184611dba565b92915050565b611ded81611da8565b8114611df857600080fd5b50565b600081359050611e0a81611de4565b92915050565b60008060408385031215611e2757611e26611bae565b5b6000611e3585828601611dfb565b9250506020611e4685828601611d46565b9150509250929050565b600080600060608486031215611e6957611e68611bae565b5b6000611e7786828701611dfb565b9350506020611e8886828701611dfb565b9250506040611e9986828701611d46565b9150509250925092565b600060208284031215611eb957611eb8611bae565b5b6000611ec784828501611dfb565b91505092915050565b611ed981611d25565b82525050565b6000602082019050611ef46000830184611ed0565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611f3c82611cb9565b810181811067ffffffffffffffff82111715611f5b57611f5a611f04565b5b80604052505050565b6000611f6e611ba4565b9050611f7a8282611f33565b919050565b600067ffffffffffffffff821115611f9a57611f99611f04565b5b611fa382611cb9565b9050602081019050919050565b82818337600083830152505050565b6000611fd2611fcd84611f7f565b611f64565b905082815260208101848484011115611fee57611fed611eff565b5b611ff9848285611fb0565b509392505050565b600082601f83011261201657612015611efa565b5b8135612026848260208601611fbf565b91505092915050565b60006020828403121561204557612044611bae565b5b600082013567ffffffffffffffff81111561206357612062611bb3565b5b61206f84828501612001565b91505092915050565b61208181611c3d565b811461208c57600080fd5b50565b60008135905061209e81612078565b92915050565b600080604083850312156120bb576120ba611bae565b5b60006120c985828601611dfb565b92505060206120da8582860161208f565b9150509250929050565b600080fd5b600080fd5b60008083601f84011261210457612103611efa565b5b8235905067ffffffffffffffff811115612121576121206120e4565b5b60208301915083600182028301111561213d5761213c6120e9565b5b9250929050565b6000806000806000608086880312156121605761215f611bae565b5b600061216e88828901611dfb565b955050602061217f88828901611dfb565b945050604061219088828901611d46565b935050606086013567ffffffffffffffff8111156121b1576121b0611bb3565b5b6121bd888289016120ee565b92509250509295509295909350565b600080604083850312156121e3576121e2611bae565b5b60006121f185828601611dfb565b925050602061220285828601611dfb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061225357607f821691505b6020821081036122665761226561220c565b5b50919050565b7f4e4f545f415554484f52495a4544000000000000000000000000000000000000600082015250565b60006122a2600e83611c7e565b91506122ad8261226c565b602082019050919050565b600060208201905081810360008301526122d181612295565b9050919050565b7f544f4b454e5f49535f4255524e54000000000000000000000000000000000000600082015250565b600061230e600e83611c7e565b9150612319826122d8565b602082019050919050565b6000602082019050818103600083015261233d81612301565b9050919050565b7f57524f4e475f46524f4d00000000000000000000000000000000000000000000600082015250565b600061237a600a83611c7e565b915061238582612344565b602082019050919050565b600060208201905081810360008301526123a98161236d565b9050919050565b7f494e56414c49445f524543495049454e54000000000000000000000000000000600082015250565b60006123e6601183611c7e565b91506123f1826123b0565b602082019050919050565b60006020820190508181036000830152612415816123d9565b9050919050565b600082825260208201905092915050565b50565b600061243d60008361241c565b91506124488261242d565b600082019050919050565b60006080820190506124686000830186611dba565b6124756020830185611dba565b6124826040830184611ed0565b818103606083015261249381612430565b9050949350505050565b6000815190506124ac81611be4565b92915050565b6000602082840312156124c8576124c7611bae565b5b60006124d68482850161249d565b91505092915050565b7f554e534146455f524543495049454e5400000000000000000000000000000000600082015250565b6000612515601083611c7e565b9150612520826124df565b602082019050919050565b6000602082019050818103600083015261254481612508565b9050919050565b7f4f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6360008201527f74696f6e2e000000000000000000000000000000000000000000000000000000602082015250565b60006125a7602583611c7e565b91506125b28261254b565b604082019050919050565b600060208201905081810360008301526125d68161259a565b9050919050565b7f4e4f545f4d494e54454400000000000000000000000000000000000000000000600082015250565b6000612613600a83611c7e565b915061261e826125dd565b602082019050919050565b6000602082019050818103600083015261264281612606565b9050919050565b7f5a45524f5f414444524553530000000000000000000000000000000000000000600082015250565b600061267f600c83611c7e565b915061268a82612649565b602082019050919050565b600060208201905081810360008301526126ae81612672565b9050919050565b7f554e415554484f52495a45440000000000000000000000000000000000000000600082015250565b60006126eb600c83611c7e565b91506126f6826126b5565b602082019050919050565b6000602082019050818103600083015261271a816126de565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026127837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612746565b61278d8683612746565b95508019841693508086168417925050509392505050565b6000819050919050565b60006127ca6127c56127c084611d25565b6127a5565b611d25565b9050919050565b6000819050919050565b6127e4836127af565b6127f86127f0826127d1565b848454612753565b825550505050565b600090565b61280d612800565b6128188184846127db565b505050565b5b8181101561283c57612831600082612805565b60018101905061281e565b5050565b601f8211156128815761285281612721565b61285b84612736565b8101602085101561286a578190505b61287e61287685612736565b83018261281d565b50505b505050565b600082821c905092915050565b60006128a460001984600802612886565b1980831691505092915050565b60006128bd8383612893565b9150826002028217905092915050565b6128d682611c73565b67ffffffffffffffff8111156128ef576128ee611f04565b5b6128f9825461223b565b612904828285612840565b600060209050601f8311600181146129375760008415612925578287015190505b61292f85826128b1565b865550612997565b601f19841661294586612721565b60005b8281101561296d57848901518255600182019150602085019450602081019050612948565b8683101561298a5784890151612986601f891682612893565b8355505b6001600288020188555050505b505050505050565b60006129ab838561241c565b93506129b8838584611fb0565b6129c183611cb9565b840190509392505050565b60006080820190506129e16000830188611dba565b6129ee6020830187611dba565b6129fb6040830186611ed0565b8181036060830152612a0e81848661299f565b90509695505050505050565b600081905092915050565b60008154612a328161223b565b612a3c8186612a1a565b94506001821660008114612a575760018114612a6c57612a9f565b60ff1983168652811515820286019350612a9f565b612a7585612721565b60005b83811015612a9757815481890152600182019150602081019050612a78565b838801955050505b50505092915050565b6000612ab382611c73565b612abd8185612a1a565b9350612acd818560208601611c8f565b80840191505092915050565b6000612ae58285612a25565b9150612af18284612aa8565b91508190509392505050565b7f414c52454144595f4d494e544544000000000000000000000000000000000000600082015250565b6000612b33600e83611c7e565b9150612b3e82612afd565b602082019050919050565b60006020820190508181036000830152612b6281612b26565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea2646970667358221220798df642fddfbce7872109c5186313692c798312d0f90704f3fef22d264036a964736f6c634300081100330000000000000000000000003a205ecf286bbe11460638ace47d501a53fb91c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002468747470733a2f2f6170692e68657868656164732e696f2f6d657461646174613f69643d00000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101425760003560e01c80638da5cb5b116100b8578063b3ab15fb1161007c578063b3ab15fb14610361578063b88d4fde1461037d578063c87b56dd14610399578063d5abeb01146103c9578063e985e9c5146103e7578063f2fde38b1461041757610142565b80638da5cb5b146102bd5780638e089173146102db57806395d89b411461030b578063a0bcfc7f14610329578063a22cb4651461034557610142565b806323b872dd1161010a57806323b872dd146101eb57806342842e0e1461020757806342966c6814610223578063570ca7351461023f5780636352211e1461025d57806370a082311461028d57610142565b806301ffc9a71461014757806306fdde0314610177578063081812fc14610195578063095ea7b3146101c55780631249c58b146101e1575b600080fd5b610161600480360381019061015c9190611c10565b610433565b60405161016e9190611c58565b60405180910390f35b61017f6104c5565b60405161018c9190611d03565b60405180910390f35b6101af60048036038101906101aa9190611d5b565b610553565b6040516101bc9190611dc9565b60405180910390f35b6101df60048036038101906101da9190611e10565b610586565b005b6101e961076f565b005b61020560048036038101906102009190611e50565b6107f8565b005b610221600480360381019061021c9190611e50565b610bf7565b005b61023d60048036038101906102389190611d5b565b610d2f565b005b610247610df7565b6040516102549190611dc9565b60405180910390f35b61027760048036038101906102729190611d5b565b610e1d565b6040516102849190611dc9565b60405180910390f35b6102a760048036038101906102a29190611ea3565b610ec8565b6040516102b49190611edf565b60405180910390f35b6102c5610f7f565b6040516102d29190611dc9565b60405180910390f35b6102f560048036038101906102f09190611d5b565b610fa5565b6040516103029190611c58565b60405180910390f35b610313610fc5565b6040516103209190611d03565b60405180910390f35b610343600480360381019061033e919061202f565b611053565b005b61035f600480360381019061035a91906120a4565b6110f6565b005b61037b60048036038101906103769190611ea3565b6111f3565b005b61039760048036038101906103929190612144565b6112c7565b005b6103b360048036038101906103ae9190611d5b565b611405565b6040516103c09190611d03565b60405180910390f35b6103d1611439565b6040516103de9190611edf565b60405180910390f35b61040160048036038101906103fc91906121cc565b611451565b60405161040e9190611c58565b60405180910390f35b610431600480360381019061042c9190611ea3565b611480565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061048e57506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806104be5750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600080546104d29061223b565b80601f01602080910402602001604051908101604052809291908181526020018280546104fe9061223b565b801561054b5780601f106105205761010080835404028352916020019161054b565b820191906000526020600020905b81548152906001019060200180831161052e57829003601f168201915b505050505081565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061067e5750600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6106bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b4906122b8565b60405180910390fd5b826004600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b60003373ffffffffffffffffffffffffffffffffffffffff1690506007600082815260200190815260200160002060009054906101000a900460ff16156107eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e290612324565b60405180910390fd5b6107f533826115ae565b50565b6002600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610899576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089090612390565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610908576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ff906123fc565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109c85750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80610a3157506004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610a70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a67906122b8565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600190039190505550600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b610c028383836107f8565b60008273ffffffffffffffffffffffffffffffffffffffff163b1480610ceb575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168273ffffffffffffffffffffffffffffffffffffffff1663150b7a023386856040518463ffffffff1660e01b8152600401610c8793929190612453565b6020604051808303816000875af1158015610ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cca91906124b2565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b610d2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d219061252b565b60405180910390fd5b505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db6906125bd565b60405180910390fd5b60016007600083815260200190815260200160002060006101000a81548160ff021916908315150217905550610df4816117c0565b50565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff1603610ec3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eba90612629565b60405180910390fd5b919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2f90612695565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b60018054610fd29061223b565b80601f0160208091040260200160405190810160405280929190818152602001828054610ffe9061223b565b801561104b5780601f106110205761010080835404028352916020019161104b565b820191906000526020600020905b81548152906001019060200180831161102e57829003601f168201915b505050505081565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110da90612701565b60405180910390fd5b80600990816110f291906128cd565b5050565b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516111e79190611c58565b60405180910390a35050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127a90612701565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6112d28585856107f8565b60008473ffffffffffffffffffffffffffffffffffffffff163b14806113bf575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663150b7a0233888787876040518663ffffffff1660e01b815260040161135b9594939291906129cc565b6020604051808303816000875af115801561137a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139e91906124b2565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b6113fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f59061252b565b60405180910390fd5b5050505050565b6060600961141283611983565b604051602001611423929190612ad9565b6040516020818303038152906040529050919050565b73ffffffffffffffffffffffffffffffffffffffff81565b60056020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611510576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150790612701565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361161d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611614906123fc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b690612b49565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185e90612629565b60405180910390fd5b600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60606000600161199284611a51565b01905060008167ffffffffffffffff8111156119b1576119b0611f04565b5b6040519080825280601f01601f1916602001820160405280156119e35781602001600182028036833780820191505090505b509050600082602001820190505b600115611a46578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611a3a57611a39612b69565b5b049450600085036119f1575b819350505050919050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611aaf577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611aa557611aa4612b69565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611aec576d04ee2d6d415b85acef81000000008381611ae257611ae1612b69565b5b0492506020810190505b662386f26fc100008310611b1b57662386f26fc100008381611b1157611b10612b69565b5b0492506010810190505b6305f5e1008310611b44576305f5e1008381611b3a57611b39612b69565b5b0492506008810190505b6127108310611b69576127108381611b5f57611b5e612b69565b5b0492506004810190505b60648310611b8c5760648381611b8257611b81612b69565b5b0492506002810190505b600a8310611b9b576001810190505b80915050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611bed81611bb8565b8114611bf857600080fd5b50565b600081359050611c0a81611be4565b92915050565b600060208284031215611c2657611c25611bae565b5b6000611c3484828501611bfb565b91505092915050565b60008115159050919050565b611c5281611c3d565b82525050565b6000602082019050611c6d6000830184611c49565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611cad578082015181840152602081019050611c92565b60008484015250505050565b6000601f19601f8301169050919050565b6000611cd582611c73565b611cdf8185611c7e565b9350611cef818560208601611c8f565b611cf881611cb9565b840191505092915050565b60006020820190508181036000830152611d1d8184611cca565b905092915050565b6000819050919050565b611d3881611d25565b8114611d4357600080fd5b50565b600081359050611d5581611d2f565b92915050565b600060208284031215611d7157611d70611bae565b5b6000611d7f84828501611d46565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611db382611d88565b9050919050565b611dc381611da8565b82525050565b6000602082019050611dde6000830184611dba565b92915050565b611ded81611da8565b8114611df857600080fd5b50565b600081359050611e0a81611de4565b92915050565b60008060408385031215611e2757611e26611bae565b5b6000611e3585828601611dfb565b9250506020611e4685828601611d46565b9150509250929050565b600080600060608486031215611e6957611e68611bae565b5b6000611e7786828701611dfb565b9350506020611e8886828701611dfb565b9250506040611e9986828701611d46565b9150509250925092565b600060208284031215611eb957611eb8611bae565b5b6000611ec784828501611dfb565b91505092915050565b611ed981611d25565b82525050565b6000602082019050611ef46000830184611ed0565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611f3c82611cb9565b810181811067ffffffffffffffff82111715611f5b57611f5a611f04565b5b80604052505050565b6000611f6e611ba4565b9050611f7a8282611f33565b919050565b600067ffffffffffffffff821115611f9a57611f99611f04565b5b611fa382611cb9565b9050602081019050919050565b82818337600083830152505050565b6000611fd2611fcd84611f7f565b611f64565b905082815260208101848484011115611fee57611fed611eff565b5b611ff9848285611fb0565b509392505050565b600082601f83011261201657612015611efa565b5b8135612026848260208601611fbf565b91505092915050565b60006020828403121561204557612044611bae565b5b600082013567ffffffffffffffff81111561206357612062611bb3565b5b61206f84828501612001565b91505092915050565b61208181611c3d565b811461208c57600080fd5b50565b60008135905061209e81612078565b92915050565b600080604083850312156120bb576120ba611bae565b5b60006120c985828601611dfb565b92505060206120da8582860161208f565b9150509250929050565b600080fd5b600080fd5b60008083601f84011261210457612103611efa565b5b8235905067ffffffffffffffff811115612121576121206120e4565b5b60208301915083600182028301111561213d5761213c6120e9565b5b9250929050565b6000806000806000608086880312156121605761215f611bae565b5b600061216e88828901611dfb565b955050602061217f88828901611dfb565b945050604061219088828901611d46565b935050606086013567ffffffffffffffff8111156121b1576121b0611bb3565b5b6121bd888289016120ee565b92509250509295509295909350565b600080604083850312156121e3576121e2611bae565b5b60006121f185828601611dfb565b925050602061220285828601611dfb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061225357607f821691505b6020821081036122665761226561220c565b5b50919050565b7f4e4f545f415554484f52495a4544000000000000000000000000000000000000600082015250565b60006122a2600e83611c7e565b91506122ad8261226c565b602082019050919050565b600060208201905081810360008301526122d181612295565b9050919050565b7f544f4b454e5f49535f4255524e54000000000000000000000000000000000000600082015250565b600061230e600e83611c7e565b9150612319826122d8565b602082019050919050565b6000602082019050818103600083015261233d81612301565b9050919050565b7f57524f4e475f46524f4d00000000000000000000000000000000000000000000600082015250565b600061237a600a83611c7e565b915061238582612344565b602082019050919050565b600060208201905081810360008301526123a98161236d565b9050919050565b7f494e56414c49445f524543495049454e54000000000000000000000000000000600082015250565b60006123e6601183611c7e565b91506123f1826123b0565b602082019050919050565b60006020820190508181036000830152612415816123d9565b9050919050565b600082825260208201905092915050565b50565b600061243d60008361241c565b91506124488261242d565b600082019050919050565b60006080820190506124686000830186611dba565b6124756020830185611dba565b6124826040830184611ed0565b818103606083015261249381612430565b9050949350505050565b6000815190506124ac81611be4565b92915050565b6000602082840312156124c8576124c7611bae565b5b60006124d68482850161249d565b91505092915050565b7f554e534146455f524543495049454e5400000000000000000000000000000000600082015250565b6000612515601083611c7e565b9150612520826124df565b602082019050919050565b6000602082019050818103600083015261254481612508565b9050919050565b7f4f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6360008201527f74696f6e2e000000000000000000000000000000000000000000000000000000602082015250565b60006125a7602583611c7e565b91506125b28261254b565b604082019050919050565b600060208201905081810360008301526125d68161259a565b9050919050565b7f4e4f545f4d494e54454400000000000000000000000000000000000000000000600082015250565b6000612613600a83611c7e565b915061261e826125dd565b602082019050919050565b6000602082019050818103600083015261264281612606565b9050919050565b7f5a45524f5f414444524553530000000000000000000000000000000000000000600082015250565b600061267f600c83611c7e565b915061268a82612649565b602082019050919050565b600060208201905081810360008301526126ae81612672565b9050919050565b7f554e415554484f52495a45440000000000000000000000000000000000000000600082015250565b60006126eb600c83611c7e565b91506126f6826126b5565b602082019050919050565b6000602082019050818103600083015261271a816126de565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026127837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612746565b61278d8683612746565b95508019841693508086168417925050509392505050565b6000819050919050565b60006127ca6127c56127c084611d25565b6127a5565b611d25565b9050919050565b6000819050919050565b6127e4836127af565b6127f86127f0826127d1565b848454612753565b825550505050565b600090565b61280d612800565b6128188184846127db565b505050565b5b8181101561283c57612831600082612805565b60018101905061281e565b5050565b601f8211156128815761285281612721565b61285b84612736565b8101602085101561286a578190505b61287e61287685612736565b83018261281d565b50505b505050565b600082821c905092915050565b60006128a460001984600802612886565b1980831691505092915050565b60006128bd8383612893565b9150826002028217905092915050565b6128d682611c73565b67ffffffffffffffff8111156128ef576128ee611f04565b5b6128f9825461223b565b612904828285612840565b600060209050601f8311600181146129375760008415612925578287015190505b61292f85826128b1565b865550612997565b601f19841661294586612721565b60005b8281101561296d57848901518255600182019150602085019450602081019050612948565b8683101561298a5784890151612986601f891682612893565b8355505b6001600288020188555050505b505050505050565b60006129ab838561241c565b93506129b8838584611fb0565b6129c183611cb9565b840190509392505050565b60006080820190506129e16000830188611dba565b6129ee6020830187611dba565b6129fb6040830186611ed0565b8181036060830152612a0e81848661299f565b90509695505050505050565b600081905092915050565b60008154612a328161223b565b612a3c8186612a1a565b94506001821660008114612a575760018114612a6c57612a9f565b60ff1983168652811515820286019350612a9f565b612a7585612721565b60005b83811015612a9757815481890152600182019150602081019050612a78565b838801955050505b50505092915050565b6000612ab382611c73565b612abd8185612a1a565b9350612acd818560208601611c8f565b80840191505092915050565b6000612ae58285612a25565b9150612af18284612aa8565b91508190509392505050565b7f414c52454144595f4d494e544544000000000000000000000000000000000000600082015250565b6000612b33600e83611c7e565b9150612b3e82612afd565b602082019050919050565b60006020820190508181036000830152612b6281612b26565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea2646970667358221220798df642fddfbce7872109c5186313692c798312d0f90704f3fef22d264036a964736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000003a205ecf286bbe11460638ace47d501a53fb91c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002468747470733a2f2f6170692e68657868656164732e696f2f6d657461646174613f69643d00000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : owner_ (address): 0x3A205ECf286bBe11460638aCe47D501A53fB91C0
Arg [1] : operator_ (address): 0x0000000000000000000000000000000000000000
Arg [2] : baseURI_ (string): https://api.hexheads.io/metadata?id=
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000003a205ecf286bbe11460638ace47d501a53fb91c0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000024
Arg [4] : 68747470733a2f2f6170692e68657868656164732e696f2f6d65746164617461
Arg [5] : 3f69643d00000000000000000000000000000000000000000000000000000000
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.