ERC-721
Overview
Max Total Supply
5,555 NPC
Holders
441
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
10 NPCLoading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
NPCitizens
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.19;import "erc721a/contracts/ERC721A.sol";import "@openzeppelin/contracts/interfaces/IERC2981.sol";import "@openzeppelin/contracts/access/Ownable.sol";import "@openzeppelin/contracts/utils/Strings.sol";import "operator-filter-registry/src/DefaultOperatorFilterer.sol";contract NPCitizens is ERC721A, IERC2981, Ownable, DefaultOperatorFilterer {using Strings for uint256;string public baseURI;string public extension;bool public mintEnabled = false;uint256 public maxPerWallet = 50;uint256 public maxPerTx = 10;uint256 public maxSupply = 5555;uint256 public price = 0.001 ether;uint256 public maxFree = 1;mapping(address => uint256) public _walletMints;error MintNotLive();error AlreadyMaxMinted();error MaxPerTx();
1234567891011121314151617// SPDX-License-Identifier: MITpragma solidity ^0.8.13;import {OperatorFilterer} from "./OperatorFilterer.sol";import {CANONICAL_CORI_SUBSCRIPTION} from "./lib/Constants.sol";/*** @title DefaultOperatorFilterer* @notice Inherits from OperatorFilterer and automatically subscribes to the default OpenSea subscription.* @dev Please note that if your token contract does not provide an owner with EIP-173, it must provide* administration methods on the contract itself to interact with the registry otherwise the subscription* will be locked to the options set during construction.*/abstract contract DefaultOperatorFilterer is OperatorFilterer {/// @dev The constructor that is called when the contract is being deployed.constructor() OperatorFilterer(CANONICAL_CORI_SUBSCRIPTION, true) {}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.8.0) (utils/Strings.sol)pragma solidity ^0.8.0;import "./math/Math.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))}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.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.
12345678910111213141516171819202122232425// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.6.0) (interfaces/IERC2981.sol)pragma solidity ^0.8.0;import "../utils/introspection/IERC165.sol";/*** @dev Interface for the NFT Royalty Standard.** A standardized way to retrieve royalty payment information for non-fungible tokens (NFTs) to enable universal* support for royalty payments across all NFT marketplaces and ecosystem participants.** _Available since v4.5._*/interface IERC2981 is IERC165 {/*** @dev Returns how much royalty is owed and to whom, based on a sale price that may be denominated in any unit of* exchange. The royalty amount is denominated and should be paid in that same unit of exchange.*/function royaltyInfo(uint256 tokenId, uint256 salePrice)externalviewreturns (address receiver, uint256 royaltyAmount);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// ERC721A Contracts v4.2.3// Creator: Chiru Labspragma solidity ^0.8.4;import './IERC721A.sol';/*** @dev Interface of ERC721 token receiver.*/interface ERC721A__IERC721Receiver {function onERC721Received(address operator,address from,uint256 tokenId,bytes calldata data) external returns (bytes4);}/*** @title ERC721A** @dev Implementation of the [ERC721](https://eips.ethereum.org/EIPS/eip-721)* Non-Fungible Token Standard, including the Metadata extension.* Optimized for lower gas during batch mints.
12345// SPDX-License-Identifier: MITpragma solidity ^0.8.13;address constant CANONICAL_OPERATOR_FILTER_REGISTRY_ADDRESS = 0x000000000000AAeB6D7670E522A718067333cd4E;address constant CANONICAL_CORI_SUBSCRIPTION = 0x3cc6CddA760b79bAfa08dF41ECFA224f810dCeB6;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.13;import {IOperatorFilterRegistry} from "./IOperatorFilterRegistry.sol";import {CANONICAL_OPERATOR_FILTER_REGISTRY_ADDRESS} from "./lib/Constants.sol";/*** @title OperatorFilterer* @notice Abstract contract whose constructor automatically registers and optionally subscribes to or copies another* registrant's entries in the OperatorFilterRegistry.* @dev This smart contract is meant to be inherited by token contracts so they can use the following:* - `onlyAllowedOperator` modifier for `transferFrom` and `safeTransferFrom` methods.* - `onlyAllowedOperatorApproval` modifier for `approve` and `setApprovalForAll` methods.* Please note that if your token contract does not provide an owner with EIP-173, it must provide* administration methods on the contract itself to interact with the registry otherwise the subscription* will be locked to the options set during construction.*/abstract contract OperatorFilterer {/// @dev Emitted when an operator is not allowed.error OperatorNotAllowed(address operator);IOperatorFilterRegistry public constant OPERATOR_FILTER_REGISTRY =IOperatorFilterRegistry(CANONICAL_OPERATOR_FILTER_REGISTRY_ADDRESS);/// @dev The constructor that is called when the contract is being deployed.constructor(address subscriptionOrRegistrantToCopy, bool subscribe) {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// ERC721A Contracts v4.2.3// Creator: Chiru Labspragma solidity ^0.8.4;/*** @dev Interface of ERC721A.*/interface IERC721A {/*** The caller must own the token or be an approved operator.*/error ApprovalCallerNotOwnerNorApproved();/*** The token does not exist.*/error ApprovalQueryForNonexistentToken();/*** Cannot query the balance for the zero address.*/error BalanceQueryForZeroAddress();/**
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.8.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) {
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);}
123456789101112131415161718192021222324// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (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;}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.13;interface IOperatorFilterRegistry {/*** @notice Returns true if operator is not filtered for a given token, either by address or codeHash. Also returns* true if supplied registrant address is not registered.*/function isOperatorAllowed(address registrant, address operator) external view returns (bool);/*** @notice Registers an address with the registry. May be called by address itself or by EIP-173 owner.*/function register(address registrant) external;/*** @notice Registers an address with the registry and "subscribes" to another address's filtered operators and codeHashes.*/function registerAndSubscribe(address registrant, address subscription) external;/*** @notice Registers an address with the registry and copies the filtered operators and codeHashes from another* address without subscribing.*/function registerAndCopyEntries(address registrant, address registrantToCopy) external;
123456789101112131415161718{"optimizer": {"enabled": true,"runs": 200},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}}}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyMaxMinted","type":"error"},{"inputs":[],"name":"ApprovalCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"ApprovalQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"BalanceQueryForZeroAddress","type":"error"},{"inputs":[],"name":"MaxPerTx","type":"error"},{"inputs":[],"name":"MintERC2309QuantityExceedsLimit","type":"error"},{"inputs":[],"name":"MintNotLive","type":"error"},{"inputs":[],"name":"MintToZeroAddress","type":"error"},{"inputs":[],"name":"MintZeroQuantity","type":"error"},{"inputs":[],"name":"NoContracts","type":"error"},{"inputs":[],"name":"NoneLeft","type":"error"},{"inputs":[],"name":"NotApprovedOrOwner","type":"error"},{"inputs":[],"name":"NotEnoughETH","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"OperatorNotAllowed","type":"error"},{"inputs":[],"name":"OwnerQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"OwnershipNotInitializedForExtraData","type":"error"},{"inputs":[],"name":"TokenDoesNotExist","type":"error"},{"inputs":[],"name":"TransferCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"TransferFromIncorrectOwner","type":"error"},{"inputs":[],"name":"TransferToNonERC721ReceiverImplementer","type":"error"},{"inputs":[],"name":"TransferToZeroAddress","type":"error"},{"inputs":[],"name":"URIQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"WithdrawalFailed","type":"error"},{"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":"uint256","name":"fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toTokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"ConsecutiveTransfer","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":"OPERATOR_FILTER_REGISTRY","outputs":[{"internalType":"contract IOperatorFilterRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_walletMints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"payable","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":[],"name":"extension","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"maxFree","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxPerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxPerWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"mintEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"reserve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"salePrice","type":"uint256"}],"name":"royaltyInfo","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"payable","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":"payable","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":"string","name":"_extension","type":"string"}],"name":"setExtension","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxPerTx","type":"uint256"}],"name":"setMaxPerTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxPerWallet","type":"uint256"}],"name":"setMaxPerWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"price_","type":"uint256"}],"name":"setPrice","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":[],"name":"toggleMinting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawAll","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600b805460ff191690556032600c55600a600d556115b3600e5566038d7ea4c68000600f5560016010553480156200003b57600080fd5b50733cc6cdda760b79bafa08df41ecfa224f810dceb660016040518060400160405280600a8152602001694e50436974697a656e7360b01b815250604051806040016040528060038152602001624e504360e81b8152508160029081620000a3919062000309565b506003620000b2828262000309565b5050600160005550620000c53362000212565b6daaeb6d7670e522a718067333cd4e3b156200020a5780156200015857604051633e9f1edf60e11b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e90637d3e3dbe906044015b600060405180830381600087803b1580156200013957600080fd5b505af11580156200014e573d6000803e3d6000fd5b505050506200020a565b6001600160a01b03821615620001a95760405163a0af290360e01b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e9063a0af2903906044016200011e565b604051632210724360e11b81523060048201526daaeb6d7670e522a718067333cd4e90634420e48690602401600060405180830381600087803b158015620001f057600080fd5b505af115801562000205573d6000803e3d6000fd5b505050505b5050620003d5565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200028f57607f821691505b602082108103620002b057634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200030457600081815260208120601f850160051c81016020861015620002df5750805b601f850160051c820191505b818110156200030057828155600101620002eb565b5050505b505050565b81516001600160401b0381111562000325576200032562000264565b6200033d816200033684546200027a565b84620002b6565b602080601f8311600181146200037557600084156200035c5750858301515b600019600386901b1c1916600185901b17855562000300565b600085815260208120601f198616915b82811015620003a65788860151825594840194600190910190840162000385565b5085821015620003c55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611c9280620003e56000396000f3fe60806040526004361061021a5760003560e01c80637e2285aa11610123578063b85cecd3116100ab578063d5abeb011161006f578063d5abeb01146105dc578063e268e4d3146105f2578063e985e9c514610612578063f2fde38b14610632578063f968adbe1461065257600080fd5b8063b85cecd314610542578063b88d4fde1461056f578063c6f6f21614610582578063c87b56dd146105a2578063d1239730146105c257600080fd5b806395d89b41116100f257806395d89b41146104c4578063a035b1fe146104d9578063a0712d68146104ef578063a0bcfc7f14610502578063a22cb4651461052257600080fd5b80637e2285aa14610451578063853828b6146104715780638da5cb5b1461048657806391b7f5ed146104a457600080fd5b806341f43434116101a65780636352211e116101755780636352211e146103d25780636c0360eb146103f257806370a0823114610407578063715018a6146104275780637d55094d1461043c57600080fd5b806341f434341461037157806342842e0e14610393578063453c2310146103a6578063485a68a3146103bc57600080fd5b8063095ea7b3116101ed578063095ea7b3146102d057806318160ddd146102e357806323b872dd1461030a5780632a55205a1461031d5780632d5537b01461035c57600080fd5b806301ffc9a71461021f57806303339bcb1461025457806306fdde0314610276578063081812fc14610298575b600080fd5b34801561022b57600080fd5b5061023f61023a36600461164c565b610668565b60405190151581526020015b60405180910390f35b34801561026057600080fd5b5061027461026f366004611685565b610693565b005b34801561028257600080fd5b5061028b6106e3565b60405161024b9190611701565b3480156102a457600080fd5b506102b86102b3366004611714565b610775565b6040516001600160a01b03909116815260200161024b565b6102746102de36600461172d565b6107b9565b3480156102ef57600080fd5b5060015460005403600019015b60405190815260200161024b565b610274610318366004611757565b6107d2565b34801561032957600080fd5b5061033d610338366004611793565b6107fd565b604080516001600160a01b03909316835260208301919091520161024b565b34801561036857600080fd5b5061028b610855565b34801561037d57600080fd5b506102b86daaeb6d7670e522a718067333cd4e81565b6102746103a1366004611757565b6108e3565b3480156103b257600080fd5b506102fc600c5481565b3480156103c857600080fd5b506102fc60105481565b3480156103de57600080fd5b506102b86103ed366004611714565b610908565b3480156103fe57600080fd5b5061028b610913565b34801561041357600080fd5b506102fc6104223660046117b5565b610920565b34801561043357600080fd5b5061027461096f565b34801561044857600080fd5b50610274610983565b34801561045d57600080fd5b5061027461046c36600461185c565b61099f565b34801561047d57600080fd5b506102746109b3565b34801561049257600080fd5b506008546001600160a01b03166102b8565b3480156104b057600080fd5b506102746104bf366004611714565b6109e7565b3480156104d057600080fd5b5061028b6109f4565b3480156104e557600080fd5b506102fc600f5481565b6102746104fd366004611714565b610a03565b34801561050e57600080fd5b5061027461051d36600461185c565b610b64565b34801561052e57600080fd5b5061027461053d3660046118b3565b610b78565b34801561054e57600080fd5b506102fc61055d3660046117b5565b60116020526000908152604090205481565b61027461057d3660046118ea565b610b8c565b34801561058e57600080fd5b5061027461059d366004611714565b610bb9565b3480156105ae57600080fd5b5061028b6105bd366004611714565b610bc6565b3480156105ce57600080fd5b50600b5461023f9060ff1681565b3480156105e857600080fd5b506102fc600e5481565b3480156105fe57600080fd5b5061027461060d366004611714565b610c4d565b34801561061e57600080fd5b5061023f61062d366004611966565b610c5a565b34801561063e57600080fd5b5061027461064d3660046117b5565b610c88565b34801561065e57600080fd5b506102fc600d5481565b60006001600160e01b0319821663152a902d60e11b148061068d575061068d82610d03565b92915050565b61069b610d51565b600e5460015460005484919003600019016106b691906119a6565b11156106d5576040516367309b4560e11b815260040160405180910390fd5b6106df8183610dab565b5050565b6060600280546106f2906119b9565b80601f016020809104026020016040519081016040528092919081815260200182805461071e906119b9565b801561076b5780601f106107405761010080835404028352916020019161076b565b820191906000526020600020905b81548152906001019060200180831161074e57829003601f168201915b5050505050905090565b600061078082610ea9565b61079d576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b816107c381610ede565b6107cd8383610f97565b505050565b826001600160a01b03811633146107ec576107ec33610ede565b6107f7848484611037565b50505050565b60008061080984610ea9565b6108265760405163677510db60e11b815260040160405180910390fd5b6008546001600160a01b03166103e86108408560326119f3565b61084a9190611a0a565b915091509250929050565b600a8054610862906119b9565b80601f016020809104026020016040519081016040528092919081815260200182805461088e906119b9565b80156108db5780601f106108b0576101008083540402835291602001916108db565b820191906000526020600020905b8154815290600101906020018083116108be57829003601f168201915b505050505081565b826001600160a01b03811633146108fd576108fd33610ede565b6107f78484846111d0565b600061068d826111eb565b60098054610862906119b9565b60006001600160a01b038216610949576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b031660009081526005602052604090205467ffffffffffffffff1690565b610977610d51565b610981600061125a565b565b61098b610d51565b600b805460ff19811660ff90911615179055565b6109a7610d51565b600a6106df8282611a72565b6109bb610d51565b47806109da57604051632c1d501360e11b815260040160405180910390fd5b6109e433476112ac565b50565b6109ef610d51565b600f55565b6060600380546106f2906119b9565b600b54819060ff16610a2857604051630aea1c5d60e01b815260040160405180910390fd5b600d54821115610a4b576040516317497d3b60e21b815260040160405180910390fd5b600c5433600090815260116020526040902054610a699084906119a6565b1115610a8857604051630d63b57b60e11b815260040160405180910390fd5b3360009081526011602052604090205460011115610aae57610aab600183611b32565b90505b600f54610abb90826119f3565b341015610adb57604051632c1d501360e11b815260040160405180910390fd5b600e546001546000548491900360001901610af691906119a6565b1115610b15576040516367309b4560e11b815260040160405180910390fd5b333214610b355760405163875fdad760e01b815260040160405180910390fd5b3360009081526011602052604081208054849290610b549084906119a6565b909155506106df90503383610dab565b610b6c610d51565b60096106df8282611a72565b81610b8281610ede565b6107cd8383611320565b836001600160a01b0381163314610ba657610ba633610ede565b610bb28585858561138c565b5050505050565b610bc1610d51565b600d55565b6060610bd182610ea9565b610bee5760405163677510db60e11b815260040160405180910390fd5b6000610bf86113d0565b90506000815111610c185760405180602001604052806000815250610c46565b80610c22846113df565b600a604051602001610c3693929190611b45565b6040516020818303038152906040525b9392505050565b610c55610d51565b600c55565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b610c90610d51565b6001600160a01b038116610cfa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6109e48161125a565b60006301ffc9a760e01b6001600160e01b031983161480610d3457506380ac58cd60e01b6001600160e01b03198316145b8061068d5750506001600160e01b031916635b5e139f60e01b1490565b6008546001600160a01b031633146109815760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cf1565b6000805490829003610dd05760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b818114610e7f57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101610e47565b5081600003610ea057604051622e076360e81b815260040160405180910390fd5b60005550505050565b600081600111158015610ebd575060005482105b801561068d575050600090815260046020526040902054600160e01b161590565b6daaeb6d7670e522a718067333cd4e3b156109e457604051633185c44d60e21b81523060048201526001600160a01b03821660248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015610f4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6f9190611be5565b6109e457604051633b79c77360e21b81526001600160a01b0382166004820152602401610cf1565b6000610fa282610908565b9050336001600160a01b03821614610fdb57610fbe8133610c5a565b610fdb576040516367d9dca160e11b815260040160405180910390fd5b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000611042826111eb565b9050836001600160a01b0316816001600160a01b0316146110755760405162a1148160e81b815260040160405180910390fd5b60008281526006602052604090208054338082146001600160a01b038816909114176110c2576110a58633610c5a565b6110c257604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b0385166110e957604051633a954ecd60e21b815260040160405180910390fd5b80156110f457600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260046020526040812091909155600160e11b84169003611186576001840160008181526004602052604081205490036111845760005481146111845760008181526004602052604090208490555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b6107cd83838360405180602001604052806000815250610b8c565b60008180600111611241576000548110156112415760008181526004602052604081205490600160e01b8216900361123f575b80600003610c4657506000190160008181526004602052604090205461121e565b505b604051636f96cda160e11b815260040160405180910390fd5b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146112f9576040519150601f19603f3d011682016040523d82523d6000602084013e6112fe565b606091505b50509050806107cd576040516327fcd9d160e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6113978484846107d2565b6001600160a01b0383163b156107f7576113b384848484611472565b6107f7576040516368d2bf6b60e11b815260040160405180910390fd5b6060600980546106f2906119b9565b606060006113ec8361155e565b600101905060008167ffffffffffffffff81111561140c5761140c6117d0565b6040519080825280601f01601f191660200182016040528015611436576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461144057509392505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a02906114a7903390899088908890600401611c02565b6020604051808303816000875af19250505080156114e2575060408051601f3d908101601f191682019092526114df91810190611c3f565b60015b611540573d808015611510576040519150601f19603f3d011682016040523d82523d6000602084013e611515565b606091505b508051600003611538576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061159d5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106115c9576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106115e757662386f26fc10000830492506010015b6305f5e10083106115ff576305f5e100830492506008015b612710831061161357612710830492506004015b60648310611625576064830492506002015b600a831061068d5760010192915050565b6001600160e01b0319811681146109e457600080fd5b60006020828403121561165e57600080fd5b8135610c4681611636565b80356001600160a01b038116811461168057600080fd5b919050565b6000806040838503121561169857600080fd5b823591506116a860208401611669565b90509250929050565b60005b838110156116cc5781810151838201526020016116b4565b50506000910152565b600081518084526116ed8160208601602086016116b1565b601f01601f19169290920160200192915050565b602081526000610c4660208301846116d5565b60006020828403121561172657600080fd5b5035919050565b6000806040838503121561174057600080fd5b61174983611669565b946020939093013593505050565b60008060006060848603121561176c57600080fd5b61177584611669565b925061178360208501611669565b9150604084013590509250925092565b600080604083850312156117a657600080fd5b50508035926020909101359150565b6000602082840312156117c757600080fd5b610c4682611669565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611801576118016117d0565b604051601f8501601f19908116603f01168101908282118183101715611829576118296117d0565b8160405280935085815286868601111561184257600080fd5b858560208301376000602087830101525050509392505050565b60006020828403121561186e57600080fd5b813567ffffffffffffffff81111561188557600080fd5b8201601f8101841361189657600080fd5b611556848235602084016117e6565b80151581146109e457600080fd5b600080604083850312156118c657600080fd5b6118cf83611669565b915060208301356118df816118a5565b809150509250929050565b6000806000806080858703121561190057600080fd5b61190985611669565b935061191760208601611669565b925060408501359150606085013567ffffffffffffffff81111561193a57600080fd5b8501601f8101871361194b57600080fd5b61195a878235602084016117e6565b91505092959194509250565b6000806040838503121561197957600080fd5b61198283611669565b91506116a860208401611669565b634e487b7160e01b600052601160045260246000fd5b8082018082111561068d5761068d611990565b600181811c908216806119cd57607f821691505b6020821081036119ed57634e487b7160e01b600052602260045260246000fd5b50919050565b808202811582820484141761068d5761068d611990565b600082611a2757634e487b7160e01b600052601260045260246000fd5b500490565b601f8211156107cd57600081815260208120601f850160051c81016020861015611a535750805b601f850160051c820191505b818110156111c857828155600101611a5f565b815167ffffffffffffffff811115611a8c57611a8c6117d0565b611aa081611a9a84546119b9565b84611a2c565b602080601f831160018114611ad55760008415611abd5750858301515b600019600386901b1c1916600185901b1785556111c8565b600085815260208120601f198616915b82811015611b0457888601518255948401946001909101908401611ae5565b5085821015611b225787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8181038181111561068d5761068d611990565b600084516020611b588285838a016116b1565b855191840191611b6b8184848a016116b1565b8554920191600090611b7c816119b9565b60018281168015611b945760018114611ba957611bd5565b60ff1984168752821515830287019450611bd5565b896000528560002060005b84811015611bcd57815489820152908301908701611bb4565b505082870194505b50929a9950505050505050505050565b600060208284031215611bf757600080fd5b8151610c46816118a5565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611c35908301846116d5565b9695505050505050565b600060208284031215611c5157600080fd5b8151610c468161163656fea26469706673582212209b3cce46d0a65016de06c51d97c91598f15a6189f666b0e2eddff2c141496d1064736f6c63430008130033
Deployed Bytecode
0x60806040526004361061021a5760003560e01c80637e2285aa11610123578063b85cecd3116100ab578063d5abeb011161006f578063d5abeb01146105dc578063e268e4d3146105f2578063e985e9c514610612578063f2fde38b14610632578063f968adbe1461065257600080fd5b8063b85cecd314610542578063b88d4fde1461056f578063c6f6f21614610582578063c87b56dd146105a2578063d1239730146105c257600080fd5b806395d89b41116100f257806395d89b41146104c4578063a035b1fe146104d9578063a0712d68146104ef578063a0bcfc7f14610502578063a22cb4651461052257600080fd5b80637e2285aa14610451578063853828b6146104715780638da5cb5b1461048657806391b7f5ed146104a457600080fd5b806341f43434116101a65780636352211e116101755780636352211e146103d25780636c0360eb146103f257806370a0823114610407578063715018a6146104275780637d55094d1461043c57600080fd5b806341f434341461037157806342842e0e14610393578063453c2310146103a6578063485a68a3146103bc57600080fd5b8063095ea7b3116101ed578063095ea7b3146102d057806318160ddd146102e357806323b872dd1461030a5780632a55205a1461031d5780632d5537b01461035c57600080fd5b806301ffc9a71461021f57806303339bcb1461025457806306fdde0314610276578063081812fc14610298575b600080fd5b34801561022b57600080fd5b5061023f61023a36600461164c565b610668565b60405190151581526020015b60405180910390f35b34801561026057600080fd5b5061027461026f366004611685565b610693565b005b34801561028257600080fd5b5061028b6106e3565b60405161024b9190611701565b3480156102a457600080fd5b506102b86102b3366004611714565b610775565b6040516001600160a01b03909116815260200161024b565b6102746102de36600461172d565b6107b9565b3480156102ef57600080fd5b5060015460005403600019015b60405190815260200161024b565b610274610318366004611757565b6107d2565b34801561032957600080fd5b5061033d610338366004611793565b6107fd565b604080516001600160a01b03909316835260208301919091520161024b565b34801561036857600080fd5b5061028b610855565b34801561037d57600080fd5b506102b86daaeb6d7670e522a718067333cd4e81565b6102746103a1366004611757565b6108e3565b3480156103b257600080fd5b506102fc600c5481565b3480156103c857600080fd5b506102fc60105481565b3480156103de57600080fd5b506102b86103ed366004611714565b610908565b3480156103fe57600080fd5b5061028b610913565b34801561041357600080fd5b506102fc6104223660046117b5565b610920565b34801561043357600080fd5b5061027461096f565b34801561044857600080fd5b50610274610983565b34801561045d57600080fd5b5061027461046c36600461185c565b61099f565b34801561047d57600080fd5b506102746109b3565b34801561049257600080fd5b506008546001600160a01b03166102b8565b3480156104b057600080fd5b506102746104bf366004611714565b6109e7565b3480156104d057600080fd5b5061028b6109f4565b3480156104e557600080fd5b506102fc600f5481565b6102746104fd366004611714565b610a03565b34801561050e57600080fd5b5061027461051d36600461185c565b610b64565b34801561052e57600080fd5b5061027461053d3660046118b3565b610b78565b34801561054e57600080fd5b506102fc61055d3660046117b5565b60116020526000908152604090205481565b61027461057d3660046118ea565b610b8c565b34801561058e57600080fd5b5061027461059d366004611714565b610bb9565b3480156105ae57600080fd5b5061028b6105bd366004611714565b610bc6565b3480156105ce57600080fd5b50600b5461023f9060ff1681565b3480156105e857600080fd5b506102fc600e5481565b3480156105fe57600080fd5b5061027461060d366004611714565b610c4d565b34801561061e57600080fd5b5061023f61062d366004611966565b610c5a565b34801561063e57600080fd5b5061027461064d3660046117b5565b610c88565b34801561065e57600080fd5b506102fc600d5481565b60006001600160e01b0319821663152a902d60e11b148061068d575061068d82610d03565b92915050565b61069b610d51565b600e5460015460005484919003600019016106b691906119a6565b11156106d5576040516367309b4560e11b815260040160405180910390fd5b6106df8183610dab565b5050565b6060600280546106f2906119b9565b80601f016020809104026020016040519081016040528092919081815260200182805461071e906119b9565b801561076b5780601f106107405761010080835404028352916020019161076b565b820191906000526020600020905b81548152906001019060200180831161074e57829003601f168201915b5050505050905090565b600061078082610ea9565b61079d576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b816107c381610ede565b6107cd8383610f97565b505050565b826001600160a01b03811633146107ec576107ec33610ede565b6107f7848484611037565b50505050565b60008061080984610ea9565b6108265760405163677510db60e11b815260040160405180910390fd5b6008546001600160a01b03166103e86108408560326119f3565b61084a9190611a0a565b915091509250929050565b600a8054610862906119b9565b80601f016020809104026020016040519081016040528092919081815260200182805461088e906119b9565b80156108db5780601f106108b0576101008083540402835291602001916108db565b820191906000526020600020905b8154815290600101906020018083116108be57829003601f168201915b505050505081565b826001600160a01b03811633146108fd576108fd33610ede565b6107f78484846111d0565b600061068d826111eb565b60098054610862906119b9565b60006001600160a01b038216610949576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b031660009081526005602052604090205467ffffffffffffffff1690565b610977610d51565b610981600061125a565b565b61098b610d51565b600b805460ff19811660ff90911615179055565b6109a7610d51565b600a6106df8282611a72565b6109bb610d51565b47806109da57604051632c1d501360e11b815260040160405180910390fd5b6109e433476112ac565b50565b6109ef610d51565b600f55565b6060600380546106f2906119b9565b600b54819060ff16610a2857604051630aea1c5d60e01b815260040160405180910390fd5b600d54821115610a4b576040516317497d3b60e21b815260040160405180910390fd5b600c5433600090815260116020526040902054610a699084906119a6565b1115610a8857604051630d63b57b60e11b815260040160405180910390fd5b3360009081526011602052604090205460011115610aae57610aab600183611b32565b90505b600f54610abb90826119f3565b341015610adb57604051632c1d501360e11b815260040160405180910390fd5b600e546001546000548491900360001901610af691906119a6565b1115610b15576040516367309b4560e11b815260040160405180910390fd5b333214610b355760405163875fdad760e01b815260040160405180910390fd5b3360009081526011602052604081208054849290610b549084906119a6565b909155506106df90503383610dab565b610b6c610d51565b60096106df8282611a72565b81610b8281610ede565b6107cd8383611320565b836001600160a01b0381163314610ba657610ba633610ede565b610bb28585858561138c565b5050505050565b610bc1610d51565b600d55565b6060610bd182610ea9565b610bee5760405163677510db60e11b815260040160405180910390fd5b6000610bf86113d0565b90506000815111610c185760405180602001604052806000815250610c46565b80610c22846113df565b600a604051602001610c3693929190611b45565b6040516020818303038152906040525b9392505050565b610c55610d51565b600c55565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b610c90610d51565b6001600160a01b038116610cfa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6109e48161125a565b60006301ffc9a760e01b6001600160e01b031983161480610d3457506380ac58cd60e01b6001600160e01b03198316145b8061068d5750506001600160e01b031916635b5e139f60e01b1490565b6008546001600160a01b031633146109815760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cf1565b6000805490829003610dd05760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b818114610e7f57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101610e47565b5081600003610ea057604051622e076360e81b815260040160405180910390fd5b60005550505050565b600081600111158015610ebd575060005482105b801561068d575050600090815260046020526040902054600160e01b161590565b6daaeb6d7670e522a718067333cd4e3b156109e457604051633185c44d60e21b81523060048201526001600160a01b03821660248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015610f4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6f9190611be5565b6109e457604051633b79c77360e21b81526001600160a01b0382166004820152602401610cf1565b6000610fa282610908565b9050336001600160a01b03821614610fdb57610fbe8133610c5a565b610fdb576040516367d9dca160e11b815260040160405180910390fd5b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000611042826111eb565b9050836001600160a01b0316816001600160a01b0316146110755760405162a1148160e81b815260040160405180910390fd5b60008281526006602052604090208054338082146001600160a01b038816909114176110c2576110a58633610c5a565b6110c257604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b0385166110e957604051633a954ecd60e21b815260040160405180910390fd5b80156110f457600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260046020526040812091909155600160e11b84169003611186576001840160008181526004602052604081205490036111845760005481146111845760008181526004602052604090208490555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b6107cd83838360405180602001604052806000815250610b8c565b60008180600111611241576000548110156112415760008181526004602052604081205490600160e01b8216900361123f575b80600003610c4657506000190160008181526004602052604090205461121e565b505b604051636f96cda160e11b815260040160405180910390fd5b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146112f9576040519150601f19603f3d011682016040523d82523d6000602084013e6112fe565b606091505b50509050806107cd576040516327fcd9d160e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6113978484846107d2565b6001600160a01b0383163b156107f7576113b384848484611472565b6107f7576040516368d2bf6b60e11b815260040160405180910390fd5b6060600980546106f2906119b9565b606060006113ec8361155e565b600101905060008167ffffffffffffffff81111561140c5761140c6117d0565b6040519080825280601f01601f191660200182016040528015611436576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461144057509392505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a02906114a7903390899088908890600401611c02565b6020604051808303816000875af19250505080156114e2575060408051601f3d908101601f191682019092526114df91810190611c3f565b60015b611540573d808015611510576040519150601f19603f3d011682016040523d82523d6000602084013e611515565b606091505b508051600003611538576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061159d5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106115c9576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106115e757662386f26fc10000830492506010015b6305f5e10083106115ff576305f5e100830492506008015b612710831061161357612710830492506004015b60648310611625576064830492506002015b600a831061068d5760010192915050565b6001600160e01b0319811681146109e457600080fd5b60006020828403121561165e57600080fd5b8135610c4681611636565b80356001600160a01b038116811461168057600080fd5b919050565b6000806040838503121561169857600080fd5b823591506116a860208401611669565b90509250929050565b60005b838110156116cc5781810151838201526020016116b4565b50506000910152565b600081518084526116ed8160208601602086016116b1565b601f01601f19169290920160200192915050565b602081526000610c4660208301846116d5565b60006020828403121561172657600080fd5b5035919050565b6000806040838503121561174057600080fd5b61174983611669565b946020939093013593505050565b60008060006060848603121561176c57600080fd5b61177584611669565b925061178360208501611669565b9150604084013590509250925092565b600080604083850312156117a657600080fd5b50508035926020909101359150565b6000602082840312156117c757600080fd5b610c4682611669565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611801576118016117d0565b604051601f8501601f19908116603f01168101908282118183101715611829576118296117d0565b8160405280935085815286868601111561184257600080fd5b858560208301376000602087830101525050509392505050565b60006020828403121561186e57600080fd5b813567ffffffffffffffff81111561188557600080fd5b8201601f8101841361189657600080fd5b611556848235602084016117e6565b80151581146109e457600080fd5b600080604083850312156118c657600080fd5b6118cf83611669565b915060208301356118df816118a5565b809150509250929050565b6000806000806080858703121561190057600080fd5b61190985611669565b935061191760208601611669565b925060408501359150606085013567ffffffffffffffff81111561193a57600080fd5b8501601f8101871361194b57600080fd5b61195a878235602084016117e6565b91505092959194509250565b6000806040838503121561197957600080fd5b61198283611669565b91506116a860208401611669565b634e487b7160e01b600052601160045260246000fd5b8082018082111561068d5761068d611990565b600181811c908216806119cd57607f821691505b6020821081036119ed57634e487b7160e01b600052602260045260246000fd5b50919050565b808202811582820484141761068d5761068d611990565b600082611a2757634e487b7160e01b600052601260045260246000fd5b500490565b601f8211156107cd57600081815260208120601f850160051c81016020861015611a535750805b601f850160051c820191505b818110156111c857828155600101611a5f565b815167ffffffffffffffff811115611a8c57611a8c6117d0565b611aa081611a9a84546119b9565b84611a2c565b602080601f831160018114611ad55760008415611abd5750858301515b600019600386901b1c1916600185901b1785556111c8565b600085815260208120601f198616915b82811015611b0457888601518255948401946001909101908401611ae5565b5085821015611b225787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8181038181111561068d5761068d611990565b600084516020611b588285838a016116b1565b855191840191611b6b8184848a016116b1565b8554920191600090611b7c816119b9565b60018281168015611b945760018114611ba957611bd5565b60ff1984168752821515830287019450611bd5565b896000528560002060005b84811015611bcd57815489820152908301908701611bb4565b505082870194505b50929a9950505050505050505050565b600060208284031215611bf757600080fd5b8151610c46816118a5565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611c35908301846116d5565b9695505050505050565b600060208284031215611c5157600080fd5b8151610c468161163656fea26469706673582212209b3cce46d0a65016de06c51d97c91598f15a6189f666b0e2eddff2c141496d1064736f6c63430008130033
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.