ERC-721
Overview
Max Total Supply
0 CPK
Holders
2,307
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
1 CPKLoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
CommandPromptKey
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 1000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.17;import { Ownable2Step } from "@openzeppelin/contracts/access/Ownable2Step.sol";import { ERC721 } from "@openzeppelin/contracts/token/ERC721/ERC721.sol";import { IERC721Metadata } from "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol";import { IERC721Receiver } from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";import { ERC721Burnable } from "@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol";import { ERC165, IERC165 } from "@openzeppelin/contracts/utils/introspection/ERC165.sol";import { Strings } from "@openzeppelin/contracts/utils/Strings.sol";import { Counters } from "@openzeppelin/contracts/utils/Counters.sol";import { MerkleProof } from "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol";/*** @title Command Prompt Key NFT* @dev ERC721 non-transferable token for Wayfinder voting.*/contract CommandPromptKey is Ownable2Step, ERC721, ERC721Burnable {/// @notice Token ID to weight mapping.mapping(uint256 => uint256) public tokenIdToWeight;/// @notice Base URI for computing {tokenURI}.string public baseURI;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)pragma solidity ^0.8.0;import "../utils/Context.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** By default, the owner account will be the one that deploys the contract. This* can later be changed with {transferOwnership}.** This module is used through inheritance. It will make available the modifier* `onlyOwner`, which can be applied to your functions to restrict their use to* the owner.*/abstract contract Ownable is Context {address private _owner;event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);/*** @dev Initializes the contract setting the deployer as the initial owner.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable2Step.sol)pragma solidity ^0.8.0;import "./Ownable.sol";/*** @dev Contract module which provides access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** By default, the owner account will be the one that deploys the contract. This* can later be changed with {transferOwnership} and {acceptOwnership}.** This module is used through inheritance. It will make available all functions* from parent (Ownable).*/abstract contract Ownable2Step is Ownable {address private _pendingOwner;event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner);/*** @dev Returns the address of the pending owner.*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/ERC721.sol)pragma solidity ^0.8.0;import "./IERC721.sol";import "./IERC721Receiver.sol";import "./extensions/IERC721Metadata.sol";import "../../utils/Address.sol";import "../../utils/Context.sol";import "../../utils/Strings.sol";import "../../utils/introspection/ERC165.sol";/*** @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including* the Metadata extension, but not including the Enumerable extension, which is available separately as* {ERC721Enumerable}.*/contract ERC721 is Context, ERC165, IERC721, IERC721Metadata {using Address for address;using Strings for uint256;// Token namestring private _name;// Token symbol
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/extensions/ERC721Burnable.sol)pragma solidity ^0.8.0;import "../ERC721.sol";import "../../../utils/Context.sol";/*** @title ERC721 Burnable Token* @dev ERC721 Token that can be burned (destroyed).*/abstract contract ERC721Burnable is Context, ERC721 {/*** @dev Burns `tokenId`. See {ERC721-_burn}.** Requirements:** - The caller must own `tokenId` or be an approved operator.*/function burn(uint256 tokenId) public virtual {//solhint-disable-next-line max-line-lengthrequire(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: caller is not token owner or approved");_burn(tokenId);}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (token/ERC721/extensions/IERC721Metadata.sol)pragma solidity ^0.8.0;import "../IERC721.sol";/*** @title ERC-721 Non-Fungible Token Standard, optional metadata extension* @dev See https://eips.ethereum.org/EIPS/eip-721*/interface IERC721Metadata is IERC721 {/*** @dev Returns the token collection name.*/function name() external view returns (string memory);/*** @dev Returns the token collection symbol.*/function symbol() external view returns (string memory);/*** @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.*/function tokenURI(uint256 tokenId) external view returns (string memory);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/IERC721.sol)pragma solidity ^0.8.0;import "../../utils/introspection/IERC165.sol";/*** @dev Required interface of an ERC721 compliant contract.*/interface IERC721 is IERC165 {/*** @dev Emitted when `tokenId` token is transferred from `from` to `to`.*/event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);/*** @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.*/event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);/*** @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.*/event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/IERC721Receiver.sol)pragma solidity ^0.8.0;/*** @title ERC721 token receiver interface* @dev Interface for any contract that wants to support safeTransfers* from ERC721 asset contracts.*/interface IERC721Receiver {/*** @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}* by `operator` from `from`, this function is called.** It must return its Solidity selector to confirm the token transfer.* If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.** The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.*/function onERC721Received(address operator,address from,uint256 tokenId,bytes calldata data) external returns (bytes4);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (utils/Address.sol)pragma solidity ^0.8.1;/*** @dev Collection of functions related to the address type*/library Address {/*** @dev Returns true if `account` is a contract.** [IMPORTANT]* ====* It is unsafe to assume that an address for which this function returns* false is an externally-owned account (EOA) and not a contract.** Among others, `isContract` will return false for the following* types of addresses:** - an externally-owned account* - a contract in construction* - an address where a contract will be created* - an address where a contract lived, but was destroyed** Furthermore, `isContract` will also return true if the target contract within
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.4) (utils/Context.sol)pragma solidity ^0.8.0;/*** @dev Provides information about the current execution context, including the* sender of the transaction and its data. While these are generally available* via msg.sender and msg.data, they should not be accessed in such a direct* manner, since when dealing with meta-transactions the account sending and* paying for execution may not be the actual sender (as far as an application* is concerned).** This contract is only required for intermediate, library-like contracts.*/abstract contract Context {function _msgSender() internal view virtual returns (address) {return msg.sender;}function _msgData() internal view virtual returns (bytes calldata) {return msg.data;}function _contextSuffixLength() internal view virtual returns (uint256) {return 0;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/Counters.sol)pragma solidity ^0.8.0;/*** @title Counters* @author Matt Condon (@shrugs)* @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number* of elements in a mapping, issuing ERC721 ids, or counting request ids.** Include with `using Counters for Counters.Counter;`*/library Counters {struct Counter {// This variable should never be directly accessed by users of the library: interactions must be restricted to// the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add// this feature: see https://github.com/ethereum/solidity/issues/4637uint256 _value; // default: 0}function current(Counter storage counter) internal view returns (uint256) {return counter._value;}function increment(Counter storage counter) internal {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.2) (utils/cryptography/MerkleProof.sol)pragma solidity ^0.8.0;/*** @dev These functions deal with verification of Merkle Tree proofs.** The tree and the proofs can be generated using our* https://github.com/OpenZeppelin/merkle-tree[JavaScript library].* You will find a quickstart guide in the readme.** WARNING: You should avoid using leaf values that are 64 bytes long prior to* hashing, or use a hash function other than keccak256 for hashing leaves.* This is because the concatenation of a sorted pair of internal nodes in* the merkle tree could be reinterpreted as a leaf value.* OpenZeppelin's JavaScript library generates merkle trees that are safe* against this attack out of the box.*/library MerkleProof {/*** @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree* defined by `root`. For this, a `proof` must be provided, containing* sibling hashes on the branch from the leaf to the root of the tree. Each* pair of leaves and each pair of pre-images are assumed to be sorted.*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)pragma solidity ^0.8.0;import "./IERC165.sol";/*** @dev Implementation of the {IERC165} interface.** Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check* for the additional interface id that will be supported. For example:** ```solidity* function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {* return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);* }* ```** Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.*/abstract contract ERC165 is IERC165 {/*** @dev See {IERC165-supportsInterface}.*/function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
12345678910111213141516171819202122232425// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)pragma solidity ^0.8.0;/*** @dev Interface of the ERC165 standard, as defined in the* https://eips.ethereum.org/EIPS/eip-165[EIP].** Implementers can declare support of contract interfaces, which can then be* queried by others ({ERC165Checker}).** For an implementation, see {ERC165}.*/interface IERC165 {/*** @dev Returns true if this contract implements the interface defined by* `interfaceId`. See the corresponding* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]* to learn more about how these ids are created.** This function call must use less than 30 000 gas.*/function supportsInterface(bytes4 interfaceId) external view returns (bool);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (utils/math/Math.sol)pragma solidity ^0.8.0;/*** @dev Standard math utilities missing in the Solidity language.*/library Math {enum Rounding {Down, // Toward negative infinityUp, // Toward infinityZero // Toward zero}/*** @dev Returns the largest of two numbers.*/function max(uint256 a, uint256 b) internal pure returns (uint256) {return a > b ? a : b;}/*** @dev Returns the smallest of two numbers.*/function min(uint256 a, uint256 b) internal pure returns (uint256) {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.8.0) (utils/math/SignedMath.sol)pragma solidity ^0.8.0;/*** @dev Standard signed math utilities missing in the Solidity language.*/library SignedMath {/*** @dev Returns the largest of two signed numbers.*/function max(int256 a, int256 b) internal pure returns (int256) {return a > b ? a : b;}/*** @dev Returns the smallest of two signed numbers.*/function min(int256 a, int256 b) internal pure returns (int256) {return a < b ? a : b;}/*** @dev Returns the average of two signed numbers without overflow.* The result is rounded towards zero.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (utils/Strings.sol)pragma solidity ^0.8.0;import "./math/Math.sol";import "./math/SignedMath.sol";/*** @dev String operations.*/library Strings {bytes16 private constant _SYMBOLS = "0123456789abcdef";uint8 private constant _ADDRESS_LENGTH = 20;/*** @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-assemblyassembly {ptr := add(buffer, add(32, length))
12345678910111213141516171819{"optimizer": {"enabled": true,"runs": 1000},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}},"libraries": {}}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"baseURI_","type":"string"},{"internalType":"bytes32","name":"merkleRoot_","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","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":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","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":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"bytes32[]","name":"merkleProof","type":"bytes32[]"}],"name":"claimMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"merkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","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":"tokenId","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":"owners","type":"address[]"},{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"internalType":"uint256[]","name":"weights","type":"uint256[]"},{"internalType":"bytes32[][]","name":"merkleProofs","type":"bytes32[][]"}],"name":"setWeights","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":"","type":"uint256"}],"name":"tokenIdToWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","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":"tokenId","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
60806040523480156200001157600080fd5b506040516200257338038062002573833981016040819052620000349162000164565b60405180604001604052806012815260200171436f6d6d616e642050726f6d7074204b657960701b8152506040518060400160405280600381526020016243504b60e81b815250620000956200008f620000d060201b60201c565b620000d4565b6002620000a38382620002ce565b506003620000b28282620002ce565b5060099150620000c590508382620002ce565b50600a55506200039a565b3390565b600180546001600160a01b0319169055620000fb81620000fe602090811b62000ea517901c565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156200017857600080fd5b82516001600160401b03808211156200019057600080fd5b818501915085601f830112620001a557600080fd5b815181811115620001ba57620001ba6200014e565b604051601f8201601f19908116603f01168101908382118183101715620001e557620001e56200014e565b816040528281526020935088848487010111156200020257600080fd5b600091505b8282101562000226578482018401518183018501529083019062000207565b6000928101840192909252509401519395939450505050565b600181811c908216806200025457607f821691505b6020821081036200027557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002c957600081815260208120601f850160051c81016020861015620002a45750805b601f850160051c820191505b81811015620002c557828155600101620002b0565b5050505b505050565b81516001600160401b03811115620002ea57620002ea6200014e565b6200030281620002fb84546200023f565b846200027b565b602080601f8311600181146200033a5760008415620003215750858301515b600019600386901b1c1916600185901b178555620002c5565b600085815260208120601f198616915b828110156200036b578886015182559484019460019091019084016200034a565b50858210156200038a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6121c980620003aa6000396000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c806370a08231116100ee578063b88d4fde11610097578063e30c397811610071578063e30c39781461034b578063e7d516111461035c578063e985e9c51461036f578063f2fde38b146103ab57600080fd5b8063b88d4fde14610312578063c87b56dd14610325578063cdf919c61461033857600080fd5b80638da5cb5b116100c85780638da5cb5b146102e657806395d89b41146102f7578063a22cb465146102ff57600080fd5b806370a08231146102c3578063715018a6146102d657806379ba5097146102de57600080fd5b806342842e0e116101505780635b5d0ade1161012a5780635b5d0ade146102885780636352211e146102a85780636c0360eb146102bb57600080fd5b806342842e0e1461024f57806342966c681461026257806355f804b31461027557600080fd5b8063095ea7b311610181578063095ea7b31461021057806323b872dd146102255780632eb4a7ab1461023857600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b6366004611ae3565b6103be565b60405190151581526020015b60405180910390f35b6101d861045b565b6040516101c79190611b50565b6101f86101f3366004611b63565b6104ed565b6040516001600160a01b0390911681526020016101c7565b61022361021e366004611b98565b610514565b005b610223610233366004611bc2565b61064a565b610241600a5481565b6040519081526020016101c7565b61022361025d366004611bc2565b6106c2565b610223610270366004611b63565b6106dd565b610223610283366004611c8a565b610754565b610241610296366004611b63565b60086020526000908152604090205481565b6101f86102b6366004611b63565b61076c565b6101d86107d1565b6102416102d1366004611cd3565b61085f565b6102236108f9565b61022361090d565b6000546001600160a01b03166101f8565b6101d8610998565b61022361030d366004611cee565b6109a7565b610223610320366004611d2a565b6109b2565b6101d8610333366004611b63565b610a30565b610223610346366004611df2565b610a97565b6001546001600160a01b03166101f8565b61022361036a366004611eb6565b610d4f565b6101bb61037d366004611f09565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b6102236103b9366004611cd3565b610e34565b60006001600160e01b031982167f80ac58cd00000000000000000000000000000000000000000000000000000000148061042157506001600160e01b031982167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061045557507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b60606002805461046a90611f3c565b80601f016020809104026020016040519081016040528092919081815260200182805461049690611f3c565b80156104e35780601f106104b8576101008083540402835291602001916104e3565b820191906000526020600020905b8154815290600101906020018083116104c657829003601f168201915b5050505050905090565b60006104f882610ef5565b506000908152600660205260409020546001600160a01b031690565b600061051f8261076c565b9050806001600160a01b0316836001600160a01b0316036105ad5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806105c957506105c9813361037d565b61063b5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105a4565b6106458383610f59565b505050565b610655335b82610fc7565b6106b75760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b60648201526084016105a4565b610645838383611046565b610645838383604051806020016040528060008152506109b2565b6106e63361064f565b6107485760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b60648201526084016105a4565b61075181611247565b50565b61075c6112e6565b60096107688282611fc4565b5050565b6000818152600460205260408120546001600160a01b0316806104555760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105a4565b600980546107de90611f3c565b80601f016020809104026020016040519081016040528092919081815260200182805461080a90611f3c565b80156108575780601f1061082c57610100808354040283529160200191610857565b820191906000526020600020905b81548152906001019060200180831161083a57829003601f168201915b505050505081565b60006001600160a01b0382166108dd5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016105a4565b506001600160a01b031660009081526005602052604090205490565b6109016112e6565b61090b6000611340565b565b60015433906001600160a01b0316811461098f5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084016105a4565b61075181611340565b60606003805461046a90611f3c565b610768338383611359565b6109bc3383610fc7565b610a1e5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b60648201526084016105a4565b610a2a84848484611427565b50505050565b6060610a3b82610ef5565b6000610a456114a5565b90506000815111610a655760405180602001604052806000815250610a90565b80610a6f846114b4565b604051602001610a80929190612084565b6040516020818303038152906040525b9392505050565b848714610ae65760405162461bcd60e51b815260206004820152601f60248201527f436f6d6d616e6450726f6d70744b65793a20496e76616c69644c656e6774680060448201526064016105a4565b848314610b355760405162461bcd60e51b815260206004820152601f60248201527f436f6d6d616e6450726f6d70744b65793a20496e76616c69644c656e6774680060448201526064016105a4565b848114610b845760405162461bcd60e51b815260206004820152601f60248201527f436f6d6d616e6450726f6d70744b65793a20496e76616c69644c656e6774680060448201526064016105a4565b60005b85811015610d44576000898983818110610ba357610ba36120b3565b9050602002016020810190610bb89190611cd3565b888884818110610bca57610bca6120b3565b90506020020135878785818110610be357610be36120b3565b90506020020135604051602001610c219392919060609390931b6bffffffffffffffffffffffff191683526014830191909152603482015260540190565b604051602081830303815290604052805190602001209050610c9c848484818110610c4e57610c4e6120b3565b9050602002810190610c6091906120c9565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600a549150849050611554565b610ce85760405162461bcd60e51b815260206004820152600d60248201527f696e76616c69642070726f6f660000000000000000000000000000000000000060448201526064016105a4565b858583818110610cfa57610cfa6120b3565b90506020020135600860008a8a86818110610d1757610d176120b3565b90506020020135815260200190815260200160002081905550508080610d3c90612113565b915050610b87565b505050505050505050565b6040516bffffffffffffffffffffffff193360601b1660208201526034810185905260548101849052600090607401604051602081830303815290604052805190602001209050610dd783838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600a549150849050611554565b610e235760405162461bcd60e51b815260206004820152601e60248201527f436f6d6d616e6450726f6d70744b65793a20496e76616c696450726f6f66000060448201526064016105a4565b610e2d338661156a565b5050505050565b610e3c6112e6565b600180546001600160a01b0383166001600160a01b03199091168117909155610e6d6000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000818152600460205260409020546001600160a01b03166107515760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105a4565b600081815260066020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610f8e8261076c565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610fd38361076c565b9050806001600160a01b0316846001600160a01b0316148061101a57506001600160a01b0380821660009081526007602090815260408083209388168352929052205460ff165b8061103e5750836001600160a01b0316611033846104ed565b6001600160a01b0316145b949350505050565b826001600160a01b03166110598261076c565b6001600160a01b0316146110bd5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016105a4565b6001600160a01b0382166111385760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105a4565b826001600160a01b031661114b8261076c565b6001600160a01b0316146111af5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016105a4565b600081815260066020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260058552838620805460001901905590871680865283862080546001019055868652600490945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46106458383836001611584565b60006112528261076c565b905061125d8261076c565b600083815260066020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526005845282852080546000190190558785526004909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4610768816000846001611584565b6000546001600160a01b0316331461090b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a4565b600180546001600160a01b031916905561075181610ea5565b816001600160a01b0316836001600160a01b0316036113ba5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105a4565b6001600160a01b03838116600081815260076020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611432848484611046565b61143e84848484611613565b610a2a5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60648201526084016105a4565b60606009805461046a90611f3c565b606060006114c18361175f565b600101905060008167ffffffffffffffff8111156114e1576114e1611bfe565b6040519080825280601f01601f19166020018201604052801561150b576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461151557509392505050565b6000826115618584611841565b14949350505050565b61076882826040518060200160405280600081525061188e565b6001600160a01b03841615806115a157506001600160a01b038316155b610a2a5760405162461bcd60e51b815260206004820152602260248201527f436f6d6d616e6450726f6d70744b65793a204e6f6e2d5472616e73666572616260448201527f6c6500000000000000000000000000000000000000000000000000000000000060648201526084016105a4565b60006001600160a01b0384163b1561175457604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061165790339089908890889060040161213a565b6020604051808303816000875af1925050508015611692575060408051601f3d908101601f1916820190925261168f91810190612176565b60015b61173a573d8080156116c0576040519150601f19603f3d011682016040523d82523d6000602084013e6116c5565b606091505b5080516000036117325760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60648201526084016105a4565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061103e565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106117a8577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106117d4576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106117f257662386f26fc10000830492506010015b6305f5e100831061180a576305f5e100830492506008015b612710831061181e57612710830492506004015b60648310611830576064830492506002015b600a83106104555760010192915050565b600081815b84518110156118865761187282868381518110611865576118656120b3565b602002602001015161190c565b91508061187e81612113565b915050611846565b509392505050565b6118988383611938565b6118a56000848484611613565b6106455760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60648201526084016105a4565b6000818310611928576000828152602084905260409020610a90565b5060009182526020526040902090565b6001600160a01b03821661198e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105a4565b6000818152600460205260409020546001600160a01b0316156119f35760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105a4565b6000818152600460205260409020546001600160a01b031615611a585760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105a4565b6001600160a01b038216600081815260056020908152604080832080546001019055848352600490915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4610768600083836001611584565b6001600160e01b03198116811461075157600080fd5b600060208284031215611af557600080fd5b8135610a9081611acd565b60005b83811015611b1b578181015183820152602001611b03565b50506000910152565b60008151808452611b3c816020860160208601611b00565b601f01601f19169290920160200192915050565b602081526000610a906020830184611b24565b600060208284031215611b7557600080fd5b5035919050565b80356001600160a01b0381168114611b9357600080fd5b919050565b60008060408385031215611bab57600080fd5b611bb483611b7c565b946020939093013593505050565b600080600060608486031215611bd757600080fd5b611be084611b7c565b9250611bee60208501611b7c565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611c2f57611c2f611bfe565b604051601f8501601f19908116603f01168101908282118183101715611c5757611c57611bfe565b81604052809350858152868686011115611c7057600080fd5b858560208301376000602087830101525050509392505050565b600060208284031215611c9c57600080fd5b813567ffffffffffffffff811115611cb357600080fd5b8201601f81018413611cc457600080fd5b61103e84823560208401611c14565b600060208284031215611ce557600080fd5b610a9082611b7c565b60008060408385031215611d0157600080fd5b611d0a83611b7c565b915060208301358015158114611d1f57600080fd5b809150509250929050565b60008060008060808587031215611d4057600080fd5b611d4985611b7c565b9350611d5760208601611b7c565b925060408501359150606085013567ffffffffffffffff811115611d7a57600080fd5b8501601f81018713611d8b57600080fd5b611d9a87823560208401611c14565b91505092959194509250565b60008083601f840112611db857600080fd5b50813567ffffffffffffffff811115611dd057600080fd5b6020830191508360208260051b8501011115611deb57600080fd5b9250929050565b6000806000806000806000806080898b031215611e0e57600080fd5b883567ffffffffffffffff80821115611e2657600080fd5b611e328c838d01611da6565b909a50985060208b0135915080821115611e4b57600080fd5b611e578c838d01611da6565b909850965060408b0135915080821115611e7057600080fd5b611e7c8c838d01611da6565b909650945060608b0135915080821115611e9557600080fd5b50611ea28b828c01611da6565b999c989b5096995094979396929594505050565b60008060008060608587031215611ecc57600080fd5b8435935060208501359250604085013567ffffffffffffffff811115611ef157600080fd5b611efd87828801611da6565b95989497509550505050565b60008060408385031215611f1c57600080fd5b611f2583611b7c565b9150611f3360208401611b7c565b90509250929050565b600181811c90821680611f5057607f821691505b602082108103611f7057634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561064557600081815260208120601f850160051c81016020861015611f9d5750805b601f850160051c820191505b81811015611fbc57828155600101611fa9565b505050505050565b815167ffffffffffffffff811115611fde57611fde611bfe565b611ff281611fec8454611f3c565b84611f76565b602080601f831160018114612027576000841561200f5750858301515b600019600386901b1c1916600185901b178555611fbc565b600085815260208120601f198616915b8281101561205657888601518255948401946001909101908401612037565b50858210156120745787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008351612096818460208801611b00565b8351908301906120aa818360208801611b00565b01949350505050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126120e057600080fd5b83018035915067ffffffffffffffff8211156120fb57600080fd5b6020019150600581901b3603821315611deb57600080fd5b60006001820161213357634e487b7160e01b600052601160045260246000fd5b5060010190565b60006001600160a01b0380871683528086166020840152508360408301526080606083015261216c6080830184611b24565b9695505050505050565b60006020828403121561218857600080fd5b8151610a9081611acd56fea2646970667358221220442ae471a2e65080453abfa8ca5472e3624338de74b4d64d63a0c59e4a0c7b8064736f6c634300081100330000000000000000000000000000000000000000000000000000000000000040ac4429fac72474c0ec9143e50808764e213f9db5269271ac0b45338df2900e290000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d5a4b3431435a356b73544d646b393563314c636f4a764767723145366241516e6e4a483157756748693974572f00000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101a35760003560e01c806370a08231116100ee578063b88d4fde11610097578063e30c397811610071578063e30c39781461034b578063e7d516111461035c578063e985e9c51461036f578063f2fde38b146103ab57600080fd5b8063b88d4fde14610312578063c87b56dd14610325578063cdf919c61461033857600080fd5b80638da5cb5b116100c85780638da5cb5b146102e657806395d89b41146102f7578063a22cb465146102ff57600080fd5b806370a08231146102c3578063715018a6146102d657806379ba5097146102de57600080fd5b806342842e0e116101505780635b5d0ade1161012a5780635b5d0ade146102885780636352211e146102a85780636c0360eb146102bb57600080fd5b806342842e0e1461024f57806342966c681461026257806355f804b31461027557600080fd5b8063095ea7b311610181578063095ea7b31461021057806323b872dd146102255780632eb4a7ab1461023857600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b6366004611ae3565b6103be565b60405190151581526020015b60405180910390f35b6101d861045b565b6040516101c79190611b50565b6101f86101f3366004611b63565b6104ed565b6040516001600160a01b0390911681526020016101c7565b61022361021e366004611b98565b610514565b005b610223610233366004611bc2565b61064a565b610241600a5481565b6040519081526020016101c7565b61022361025d366004611bc2565b6106c2565b610223610270366004611b63565b6106dd565b610223610283366004611c8a565b610754565b610241610296366004611b63565b60086020526000908152604090205481565b6101f86102b6366004611b63565b61076c565b6101d86107d1565b6102416102d1366004611cd3565b61085f565b6102236108f9565b61022361090d565b6000546001600160a01b03166101f8565b6101d8610998565b61022361030d366004611cee565b6109a7565b610223610320366004611d2a565b6109b2565b6101d8610333366004611b63565b610a30565b610223610346366004611df2565b610a97565b6001546001600160a01b03166101f8565b61022361036a366004611eb6565b610d4f565b6101bb61037d366004611f09565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b6102236103b9366004611cd3565b610e34565b60006001600160e01b031982167f80ac58cd00000000000000000000000000000000000000000000000000000000148061042157506001600160e01b031982167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061045557507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b60606002805461046a90611f3c565b80601f016020809104026020016040519081016040528092919081815260200182805461049690611f3c565b80156104e35780601f106104b8576101008083540402835291602001916104e3565b820191906000526020600020905b8154815290600101906020018083116104c657829003601f168201915b5050505050905090565b60006104f882610ef5565b506000908152600660205260409020546001600160a01b031690565b600061051f8261076c565b9050806001600160a01b0316836001600160a01b0316036105ad5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806105c957506105c9813361037d565b61063b5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105a4565b6106458383610f59565b505050565b610655335b82610fc7565b6106b75760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b60648201526084016105a4565b610645838383611046565b610645838383604051806020016040528060008152506109b2565b6106e63361064f565b6107485760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b60648201526084016105a4565b61075181611247565b50565b61075c6112e6565b60096107688282611fc4565b5050565b6000818152600460205260408120546001600160a01b0316806104555760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105a4565b600980546107de90611f3c565b80601f016020809104026020016040519081016040528092919081815260200182805461080a90611f3c565b80156108575780601f1061082c57610100808354040283529160200191610857565b820191906000526020600020905b81548152906001019060200180831161083a57829003601f168201915b505050505081565b60006001600160a01b0382166108dd5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016105a4565b506001600160a01b031660009081526005602052604090205490565b6109016112e6565b61090b6000611340565b565b60015433906001600160a01b0316811461098f5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084016105a4565b61075181611340565b60606003805461046a90611f3c565b610768338383611359565b6109bc3383610fc7565b610a1e5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b60648201526084016105a4565b610a2a84848484611427565b50505050565b6060610a3b82610ef5565b6000610a456114a5565b90506000815111610a655760405180602001604052806000815250610a90565b80610a6f846114b4565b604051602001610a80929190612084565b6040516020818303038152906040525b9392505050565b848714610ae65760405162461bcd60e51b815260206004820152601f60248201527f436f6d6d616e6450726f6d70744b65793a20496e76616c69644c656e6774680060448201526064016105a4565b848314610b355760405162461bcd60e51b815260206004820152601f60248201527f436f6d6d616e6450726f6d70744b65793a20496e76616c69644c656e6774680060448201526064016105a4565b848114610b845760405162461bcd60e51b815260206004820152601f60248201527f436f6d6d616e6450726f6d70744b65793a20496e76616c69644c656e6774680060448201526064016105a4565b60005b85811015610d44576000898983818110610ba357610ba36120b3565b9050602002016020810190610bb89190611cd3565b888884818110610bca57610bca6120b3565b90506020020135878785818110610be357610be36120b3565b90506020020135604051602001610c219392919060609390931b6bffffffffffffffffffffffff191683526014830191909152603482015260540190565b604051602081830303815290604052805190602001209050610c9c848484818110610c4e57610c4e6120b3565b9050602002810190610c6091906120c9565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600a549150849050611554565b610ce85760405162461bcd60e51b815260206004820152600d60248201527f696e76616c69642070726f6f660000000000000000000000000000000000000060448201526064016105a4565b858583818110610cfa57610cfa6120b3565b90506020020135600860008a8a86818110610d1757610d176120b3565b90506020020135815260200190815260200160002081905550508080610d3c90612113565b915050610b87565b505050505050505050565b6040516bffffffffffffffffffffffff193360601b1660208201526034810185905260548101849052600090607401604051602081830303815290604052805190602001209050610dd783838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600a549150849050611554565b610e235760405162461bcd60e51b815260206004820152601e60248201527f436f6d6d616e6450726f6d70744b65793a20496e76616c696450726f6f66000060448201526064016105a4565b610e2d338661156a565b5050505050565b610e3c6112e6565b600180546001600160a01b0383166001600160a01b03199091168117909155610e6d6000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000818152600460205260409020546001600160a01b03166107515760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105a4565b600081815260066020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610f8e8261076c565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610fd38361076c565b9050806001600160a01b0316846001600160a01b0316148061101a57506001600160a01b0380821660009081526007602090815260408083209388168352929052205460ff165b8061103e5750836001600160a01b0316611033846104ed565b6001600160a01b0316145b949350505050565b826001600160a01b03166110598261076c565b6001600160a01b0316146110bd5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016105a4565b6001600160a01b0382166111385760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105a4565b826001600160a01b031661114b8261076c565b6001600160a01b0316146111af5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016105a4565b600081815260066020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260058552838620805460001901905590871680865283862080546001019055868652600490945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46106458383836001611584565b60006112528261076c565b905061125d8261076c565b600083815260066020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526005845282852080546000190190558785526004909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4610768816000846001611584565b6000546001600160a01b0316331461090b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a4565b600180546001600160a01b031916905561075181610ea5565b816001600160a01b0316836001600160a01b0316036113ba5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105a4565b6001600160a01b03838116600081815260076020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611432848484611046565b61143e84848484611613565b610a2a5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60648201526084016105a4565b60606009805461046a90611f3c565b606060006114c18361175f565b600101905060008167ffffffffffffffff8111156114e1576114e1611bfe565b6040519080825280601f01601f19166020018201604052801561150b576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461151557509392505050565b6000826115618584611841565b14949350505050565b61076882826040518060200160405280600081525061188e565b6001600160a01b03841615806115a157506001600160a01b038316155b610a2a5760405162461bcd60e51b815260206004820152602260248201527f436f6d6d616e6450726f6d70744b65793a204e6f6e2d5472616e73666572616260448201527f6c6500000000000000000000000000000000000000000000000000000000000060648201526084016105a4565b60006001600160a01b0384163b1561175457604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061165790339089908890889060040161213a565b6020604051808303816000875af1925050508015611692575060408051601f3d908101601f1916820190925261168f91810190612176565b60015b61173a573d8080156116c0576040519150601f19603f3d011682016040523d82523d6000602084013e6116c5565b606091505b5080516000036117325760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60648201526084016105a4565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061103e565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106117a8577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106117d4576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106117f257662386f26fc10000830492506010015b6305f5e100831061180a576305f5e100830492506008015b612710831061181e57612710830492506004015b60648310611830576064830492506002015b600a83106104555760010192915050565b600081815b84518110156118865761187282868381518110611865576118656120b3565b602002602001015161190c565b91508061187e81612113565b915050611846565b509392505050565b6118988383611938565b6118a56000848484611613565b6106455760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60648201526084016105a4565b6000818310611928576000828152602084905260409020610a90565b5060009182526020526040902090565b6001600160a01b03821661198e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105a4565b6000818152600460205260409020546001600160a01b0316156119f35760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105a4565b6000818152600460205260409020546001600160a01b031615611a585760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105a4565b6001600160a01b038216600081815260056020908152604080832080546001019055848352600490915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4610768600083836001611584565b6001600160e01b03198116811461075157600080fd5b600060208284031215611af557600080fd5b8135610a9081611acd565b60005b83811015611b1b578181015183820152602001611b03565b50506000910152565b60008151808452611b3c816020860160208601611b00565b601f01601f19169290920160200192915050565b602081526000610a906020830184611b24565b600060208284031215611b7557600080fd5b5035919050565b80356001600160a01b0381168114611b9357600080fd5b919050565b60008060408385031215611bab57600080fd5b611bb483611b7c565b946020939093013593505050565b600080600060608486031215611bd757600080fd5b611be084611b7c565b9250611bee60208501611b7c565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611c2f57611c2f611bfe565b604051601f8501601f19908116603f01168101908282118183101715611c5757611c57611bfe565b81604052809350858152868686011115611c7057600080fd5b858560208301376000602087830101525050509392505050565b600060208284031215611c9c57600080fd5b813567ffffffffffffffff811115611cb357600080fd5b8201601f81018413611cc457600080fd5b61103e84823560208401611c14565b600060208284031215611ce557600080fd5b610a9082611b7c565b60008060408385031215611d0157600080fd5b611d0a83611b7c565b915060208301358015158114611d1f57600080fd5b809150509250929050565b60008060008060808587031215611d4057600080fd5b611d4985611b7c565b9350611d5760208601611b7c565b925060408501359150606085013567ffffffffffffffff811115611d7a57600080fd5b8501601f81018713611d8b57600080fd5b611d9a87823560208401611c14565b91505092959194509250565b60008083601f840112611db857600080fd5b50813567ffffffffffffffff811115611dd057600080fd5b6020830191508360208260051b8501011115611deb57600080fd5b9250929050565b6000806000806000806000806080898b031215611e0e57600080fd5b883567ffffffffffffffff80821115611e2657600080fd5b611e328c838d01611da6565b909a50985060208b0135915080821115611e4b57600080fd5b611e578c838d01611da6565b909850965060408b0135915080821115611e7057600080fd5b611e7c8c838d01611da6565b909650945060608b0135915080821115611e9557600080fd5b50611ea28b828c01611da6565b999c989b5096995094979396929594505050565b60008060008060608587031215611ecc57600080fd5b8435935060208501359250604085013567ffffffffffffffff811115611ef157600080fd5b611efd87828801611da6565b95989497509550505050565b60008060408385031215611f1c57600080fd5b611f2583611b7c565b9150611f3360208401611b7c565b90509250929050565b600181811c90821680611f5057607f821691505b602082108103611f7057634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561064557600081815260208120601f850160051c81016020861015611f9d5750805b601f850160051c820191505b81811015611fbc57828155600101611fa9565b505050505050565b815167ffffffffffffffff811115611fde57611fde611bfe565b611ff281611fec8454611f3c565b84611f76565b602080601f831160018114612027576000841561200f5750858301515b600019600386901b1c1916600185901b178555611fbc565b600085815260208120601f198616915b8281101561205657888601518255948401946001909101908401612037565b50858210156120745787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008351612096818460208801611b00565b8351908301906120aa818360208801611b00565b01949350505050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126120e057600080fd5b83018035915067ffffffffffffffff8211156120fb57600080fd5b6020019150600581901b3603821315611deb57600080fd5b60006001820161213357634e487b7160e01b600052601160045260246000fd5b5060010190565b60006001600160a01b0380871683528086166020840152508360408301526080606083015261216c6080830184611b24565b9695505050505050565b60006020828403121561218857600080fd5b8151610a9081611acd56fea2646970667358221220442ae471a2e65080453abfa8ca5472e3624338de74b4d64d63a0c59e4a0c7b8064736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000040ac4429fac72474c0ec9143e50808764e213f9db5269271ac0b45338df2900e290000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d5a4b3431435a356b73544d646b393563314c636f4a764767723145366241516e6e4a483157756748693974572f00000000000000000000
-----Decoded View---------------
Arg [0] : baseURI_ (string): ipfs://QmZK41CZ5ksTMdk95c1LcoJvGgr1E6bAQnnJH1WugHi9tW/
Arg [1] : merkleRoot_ (bytes32): 0xac4429fac72474c0ec9143e50808764e213f9db5269271ac0b45338df2900e29
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : ac4429fac72474c0ec9143e50808764e213f9db5269271ac0b45338df2900e29
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000036
Arg [3] : 697066733a2f2f516d5a4b3431435a356b73544d646b393563314c636f4a7647
Arg [4] : 67723145366241516e6e4a483157756748693974572f00000000000000000000
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.