Overview
ETH Balance
0.396 ETH
Eth Value
$1,343.40 (@ $3,392.44/ETH)More Info
Private Name Tags
Latest 25 from a total of 2,584 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Genesis Sale | 14767100 | 960 days ago | IN | 0.198 ETH | 0.00612399 | ||||
Genesis Claim | 14767091 | 960 days ago | IN | 0 ETH | 0.00533886 | ||||
Genesis Sale | 14604382 | 986 days ago | IN | 0.198 ETH | 0.00574382 | ||||
Withdraw | 14578044 | 990 days ago | IN | 0 ETH | 0.00160683 | ||||
Genesis Claim | 14568616 | 991 days ago | IN | 0 ETH | 0.00118202 | ||||
Genesis Claim | 14568590 | 991 days ago | IN | 0 ETH | 0.00069121 | ||||
Genesis Claim | 14568447 | 991 days ago | IN | 0 ETH | 0.00515272 | ||||
Private Sales Cl... | 14568333 | 991 days ago | IN | 0 ETH | 0.0011954 | ||||
Genesis Claim | 14568331 | 991 days ago | IN | 0 ETH | 0.00101455 | ||||
Genesis Claim | 14568314 | 991 days ago | IN | 0 ETH | 0.00735224 | ||||
Genesis Sale | 14549638 | 994 days ago | IN | 0.198 ETH | 0.00659182 | ||||
Genesis Claim | 14512518 | 1000 days ago | IN | 0 ETH | 0.00609994 | ||||
Genesis Claim | 14512515 | 1000 days ago | IN | 0 ETH | 0.00456128 | ||||
Genesis Claim | 14512507 | 1000 days ago | IN | 0 ETH | 0.00463017 | ||||
Genesis Claim | 14512504 | 1000 days ago | IN | 0 ETH | 0.00453277 | ||||
Genesis Sale | 14510602 | 1000 days ago | IN | 0.198 ETH | 0.00971039 | ||||
Genesis Sale | 14507919 | 1001 days ago | IN | 0.198 ETH | 0.00832795 | ||||
Genesis Claim | 14500420 | 1002 days ago | IN | 0 ETH | 0.00417903 | ||||
Genesis Claim | 14500376 | 1002 days ago | IN | 0 ETH | 0.00437023 | ||||
Genesis Sale | 14497312 | 1002 days ago | IN | 0.198 ETH | 0.00499824 | ||||
Genesis Sale | 14496889 | 1003 days ago | IN | 0.198 ETH | 0.00637904 | ||||
Genesis Claim | 14479682 | 1005 days ago | IN | 0 ETH | 0.00479304 | ||||
Withdraw | 14474985 | 1006 days ago | IN | 0 ETH | 0.00158875 | ||||
Genesis Sale | 14443010 | 1011 days ago | IN | 0.198 ETH | 0.00780746 | ||||
Genesis Sale | 14442982 | 1011 days ago | IN | 0.198 ETH | 0.00614448 |
Loading...
Loading
Contract Name:
Gen2Sales
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-03-09 */ // File: @openzeppelin/contracts/utils/Strings.sol // OpenZeppelin Contracts v4.4.1 (utils/Strings.sol) pragma solidity ^0.8.0; /** * @dev String operations. */ library Strings { bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef"; /** * @dev Converts a `uint256` to its ASCII `string` decimal representation. */ function toString(uint256 value) internal pure returns (string memory) { // Inspired by OraclizeAPI's implementation - MIT licence // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol if (value == 0) { return "0"; } uint256 temp = value; uint256 digits; while (temp != 0) { digits++; temp /= 10; } bytes memory buffer = new bytes(digits); while (value != 0) { digits -= 1; buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); value /= 10; } return string(buffer); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation. */ function toHexString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0x00"; } uint256 temp = value; uint256 length = 0; while (temp != 0) { length++; temp >>= 8; } return toHexString(value, length); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length. */ function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { bytes memory buffer = new bytes(2 * length + 2); buffer[0] = "0"; buffer[1] = "x"; for (uint256 i = 2 * length + 1; i > 1; --i) { buffer[i] = _HEX_SYMBOLS[value & 0xf]; value >>= 4; } require(value == 0, "Strings: hex length insufficient"); return string(buffer); } } // File: @openzeppelin/contracts/utils/cryptography/ECDSA.sol // OpenZeppelin Contracts (last updated v4.5.0) (utils/cryptography/ECDSA.sol) pragma solidity ^0.8.0; /** * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations. * * These functions can be used to verify that a message was signed by the holder * of the private keys of a given address. */ library ECDSA { enum RecoverError { NoError, InvalidSignature, InvalidSignatureLength, InvalidSignatureS, InvalidSignatureV } function _throwError(RecoverError error) private pure { if (error == RecoverError.NoError) { return; // no error: do nothing } else if (error == RecoverError.InvalidSignature) { revert("ECDSA: invalid signature"); } else if (error == RecoverError.InvalidSignatureLength) { revert("ECDSA: invalid signature length"); } else if (error == RecoverError.InvalidSignatureS) { revert("ECDSA: invalid signature 's' value"); } else if (error == RecoverError.InvalidSignatureV) { revert("ECDSA: invalid signature 'v' value"); } } /** * @dev Returns the address that signed a hashed message (`hash`) with * `signature` or error string. This address can then be used for verification purposes. * * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures: * this function rejects them by requiring the `s` value to be in the lower * half order, and the `v` value to be either 27 or 28. * * IMPORTANT: `hash` _must_ be the result of a hash operation for the * verification to be secure: it is possible to craft signatures that * recover to arbitrary addresses for non-hashed data. A safe way to ensure * this is by receiving a hash of the original message (which may otherwise * be too long), and then calling {toEthSignedMessageHash} on it. * * Documentation for signature generation: * - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js] * - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers] * * _Available since v4.3._ */ function tryRecover(bytes32 hash, bytes memory signature) internal pure returns (address, RecoverError) { // Check the signature length // - case 65: r,s,v signature (standard) // - case 64: r,vs signature (cf https://eips.ethereum.org/EIPS/eip-2098) _Available since v4.1._ if (signature.length == 65) { bytes32 r; bytes32 s; uint8 v; // ecrecover takes the signature parameters, and the only way to get them // currently is to use assembly. assembly { r := mload(add(signature, 0x20)) s := mload(add(signature, 0x40)) v := byte(0, mload(add(signature, 0x60))) } return tryRecover(hash, v, r, s); } else if (signature.length == 64) { bytes32 r; bytes32 vs; // ecrecover takes the signature parameters, and the only way to get them // currently is to use assembly. assembly { r := mload(add(signature, 0x20)) vs := mload(add(signature, 0x40)) } return tryRecover(hash, r, vs); } else { return (address(0), RecoverError.InvalidSignatureLength); } } /** * @dev Returns the address that signed a hashed message (`hash`) with * `signature`. This address can then be used for verification purposes. * * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures: * this function rejects them by requiring the `s` value to be in the lower * half order, and the `v` value to be either 27 or 28. * * IMPORTANT: `hash` _must_ be the result of a hash operation for the * verification to be secure: it is possible to craft signatures that * recover to arbitrary addresses for non-hashed data. A safe way to ensure * this is by receiving a hash of the original message (which may otherwise * be too long), and then calling {toEthSignedMessageHash} on it. */ function recover(bytes32 hash, bytes memory signature) internal pure returns (address) { (address recovered, RecoverError error) = tryRecover(hash, signature); _throwError(error); return recovered; } /** * @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately. * * See https://eips.ethereum.org/EIPS/eip-2098[EIP-2098 short signatures] * * _Available since v4.3._ */ function tryRecover( bytes32 hash, bytes32 r, bytes32 vs ) internal pure returns (address, RecoverError) { bytes32 s = vs & bytes32(0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); uint8 v = uint8((uint256(vs) >> 255) + 27); return tryRecover(hash, v, r, s); } /** * @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately. * * _Available since v4.2._ */ function recover( bytes32 hash, bytes32 r, bytes32 vs ) internal pure returns (address) { (address recovered, RecoverError error) = tryRecover(hash, r, vs); _throwError(error); return recovered; } /** * @dev Overload of {ECDSA-tryRecover} that receives the `v`, * `r` and `s` signature fields separately. * * _Available since v4.3._ */ function tryRecover( bytes32 hash, uint8 v, bytes32 r, bytes32 s ) internal pure returns (address, RecoverError) { // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines // the valid range for s in (301): 0 < s < secp256k1n ÷ 2 + 1, and for v in (302): v ∈ {27, 28}. Most // signatures from current libraries generate a unique signature with an s-value in the lower half order. // // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept // these malleable signatures as well. if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) { return (address(0), RecoverError.InvalidSignatureS); } if (v != 27 && v != 28) { return (address(0), RecoverError.InvalidSignatureV); } // If the signature is valid (and not malleable), return the signer address address signer = ecrecover(hash, v, r, s); if (signer == address(0)) { return (address(0), RecoverError.InvalidSignature); } return (signer, RecoverError.NoError); } /** * @dev Overload of {ECDSA-recover} that receives the `v`, * `r` and `s` signature fields separately. */ function recover( bytes32 hash, uint8 v, bytes32 r, bytes32 s ) internal pure returns (address) { (address recovered, RecoverError error) = tryRecover(hash, v, r, s); _throwError(error); return recovered; } /** * @dev Returns an Ethereum Signed Message, created from a `hash`. This * produces hash corresponding to the one signed with the * https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] * JSON-RPC method as part of EIP-191. * * See {recover}. */ function toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32) { // 32 is the length in bytes of hash, // enforced by the type signature above return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", hash)); } /** * @dev Returns an Ethereum Signed Message, created from `s`. This * produces hash corresponding to the one signed with the * https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] * JSON-RPC method as part of EIP-191. * * See {recover}. */ function toEthSignedMessageHash(bytes memory s) internal pure returns (bytes32) { return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n", Strings.toString(s.length), s)); } /** * @dev Returns an Ethereum Signed Typed Data, created from a * `domainSeparator` and a `structHash`. This produces hash corresponding * to the one signed with the * https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`] * JSON-RPC method as part of EIP-712. * * See {recover}. */ function toTypedDataHash(bytes32 domainSeparator, bytes32 structHash) internal pure returns (bytes32) { return keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash)); } } // File: @openzeppelin/contracts/utils/cryptography/draft-EIP712.sol // OpenZeppelin Contracts v4.4.1 (utils/cryptography/draft-EIP712.sol) pragma solidity ^0.8.0; /** * @dev https://eips.ethereum.org/EIPS/eip-712[EIP 712] is a standard for hashing and signing of typed structured data. * * The encoding specified in the EIP is very generic, and such a generic implementation in Solidity is not feasible, * thus this contract does not implement the encoding itself. Protocols need to implement the type-specific encoding * they need in their contracts using a combination of `abi.encode` and `keccak256`. * * This contract implements the EIP 712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding * scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA * ({_hashTypedDataV4}). * * The implementation of the domain separator was designed to be as efficient as possible while still properly updating * the chain id to protect against replay attacks on an eventual fork of the chain. * * NOTE: This contract implements the version of the encoding known as "v4", as implemented by the JSON RPC method * https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask]. * * _Available since v3.4._ */ abstract contract EIP712 { /* solhint-disable var-name-mixedcase */ // Cache the domain separator as an immutable value, but also store the chain id that it corresponds to, in order to // invalidate the cached domain separator if the chain id changes. bytes32 private immutable _CACHED_DOMAIN_SEPARATOR; uint256 private immutable _CACHED_CHAIN_ID; address private immutable _CACHED_THIS; bytes32 private immutable _HASHED_NAME; bytes32 private immutable _HASHED_VERSION; bytes32 private immutable _TYPE_HASH; /* solhint-enable var-name-mixedcase */ /** * @dev Initializes the domain separator and parameter caches. * * The meaning of `name` and `version` is specified in * https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator[EIP 712]: * * - `name`: the user readable name of the signing domain, i.e. the name of the DApp or the protocol. * - `version`: the current major version of the signing domain. * * NOTE: These parameters cannot be changed except through a xref:learn::upgrading-smart-contracts.adoc[smart * contract upgrade]. */ constructor(string memory name, string memory version) { bytes32 hashedName = keccak256(bytes(name)); bytes32 hashedVersion = keccak256(bytes(version)); bytes32 typeHash = keccak256( "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)" ); _HASHED_NAME = hashedName; _HASHED_VERSION = hashedVersion; _CACHED_CHAIN_ID = block.chainid; _CACHED_DOMAIN_SEPARATOR = _buildDomainSeparator(typeHash, hashedName, hashedVersion); _CACHED_THIS = address(this); _TYPE_HASH = typeHash; } /** * @dev Returns the domain separator for the current chain. */ function _domainSeparatorV4() internal view returns (bytes32) { if (address(this) == _CACHED_THIS && block.chainid == _CACHED_CHAIN_ID) { return _CACHED_DOMAIN_SEPARATOR; } else { return _buildDomainSeparator(_TYPE_HASH, _HASHED_NAME, _HASHED_VERSION); } } function _buildDomainSeparator( bytes32 typeHash, bytes32 nameHash, bytes32 versionHash ) private view returns (bytes32) { return keccak256(abi.encode(typeHash, nameHash, versionHash, block.chainid, address(this))); } /** * @dev Given an already https://eips.ethereum.org/EIPS/eip-712#definition-of-hashstruct[hashed struct], this * function returns the hash of the fully encoded EIP712 message for this domain. * * This hash can be used together with {ECDSA-recover} to obtain the signer of a message. For example: * * ```solidity * bytes32 digest = _hashTypedDataV4(keccak256(abi.encode( * keccak256("Mail(address to,string contents)"), * mailTo, * keccak256(bytes(mailContents)) * ))); * address signer = ECDSA.recover(digest, signature); * ``` */ function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) { return ECDSA.toTypedDataHash(_domainSeparatorV4(), structHash); } } // File: whitelist.sol pragma solidity ^0.8.0; contract whitelistChecker is EIP712{ string private constant SIGNING_DOMAIN = "Godjira"; string private constant SIGNATURE_VERSION = "1"; struct whitelisted{ address whiteListAddress; bool isPrivateListed; bytes signature; } constructor() EIP712(SIGNING_DOMAIN, SIGNATURE_VERSION){} function getSigner(whitelisted memory list) internal view returns(address){ return _verify(list); } /// @notice Returns a hash of the given rarity, prepared using EIP712 typed data hashing rules. function _hash(whitelisted memory list) internal view returns (bytes32) { return _hashTypedDataV4( keccak256( abi.encode( keccak256("whitelisted(address whiteListAddress,bool isPrivateListed)"), list.whiteListAddress, list.isPrivateListed ) ) ); } function _verify(whitelisted memory list) internal view returns (address) { bytes32 digest = _hash(list); return ECDSA.recover(digest, list.signature); } function getChainID() external view returns (uint256) { uint256 id; assembly { id := chainid() } return id; } } // File: @openzeppelin/contracts/utils/Context.sol // 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; } } // File: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) pragma solidity ^0.8.0; /** * @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. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: @openzeppelin/contracts/utils/introspection/IERC165.sol // 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); } // File: @openzeppelin/contracts/token/ERC721/IERC721.sol // OpenZeppelin Contracts v4.4.1 (token/ERC721/IERC721.sol) pragma solidity ^0.8.0; /** * @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); /** * @dev Returns the number of tokens in ``owner``'s account. */ function balanceOf(address owner) external view returns (uint256 balance); /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) external view returns (address owner); /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC721 protocol to prevent tokens from being forever locked. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Transfers `tokenId` token from `from` to `to`. * * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Gives permission to `to` to transfer `tokenId` token to another account. * The approval is cleared when the token is transferred. * * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * * Requirements: * * - The caller must own the token or be an approved operator. * - `tokenId` must exist. * * Emits an {Approval} event. */ function approve(address to, uint256 tokenId) external; /** * @dev Returns the account approved for `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function getApproved(uint256 tokenId) external view returns (address operator); /** * @dev Approve or remove `operator` as an operator for the caller. * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * * Requirements: * * - The `operator` cannot be the caller. * * Emits an {ApprovalForAll} event. */ function setApprovalForAll(address operator, bool _approved) external; /** * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. * * See {setApprovalForAll} */ function isApprovedForAll(address owner, address operator) external view returns (bool); /** * @dev Safely transfers `tokenId` token from `from` to `to`. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; } // File: Gen2Sales.sol //SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.0; contract Gen2Sales is Ownable, whitelistChecker { IERC721 Godjira2; IERC721 Godjira1; address CORE_TEAM_ADDRESS = 0xC79b099E83f6ECc8242f93d35782562b42c459F3; address designatedSigner = 0x2141fc90F4d8114e8778447d7c19b5992F6A0611; uint PRICE = 0.099 ether; //TIMES uint public PRIVATE_TIME = 1646787600; uint public HOLDERS_TIME = 1646794800; uint public WHITELIST_TIME = 1646881200; uint public CLAIM_TIME = 1646967600; //TOKEN TRACKERS uint16 public privateSaleTracker = 340; //340-439 uint16 public genesisSaleTracker = 440; //440-1105 uint16 public whitelistSaleTracker = 1106; //1106-2852 uint16 public claimTracker = 2853; //2853-3332 //SALE MAPPINGS mapping(address=>bool) public privateBought; //privatelisted > has bought mapping(uint=>bool) public genesisBought; //genesis token > has bought mapping(address=>bool) public whitelistBought; //whitelisted > has bought //CLAIM MAPPINGS mapping(uint=>bool) public genesisClaimed; //genesis token > has claimed mapping(uint=>bool) public gen2Claimed; //gen 2 token > has claimed bool public isPaused; constructor(address _godjira2, address _godjira1) { Godjira2 = IERC721(_godjira2); Godjira1 = IERC721(_godjira1); } modifier isNotPaused{ require(!isPaused,"Execution paused"); _; } //Region 1 - Sales function privateSale(whitelisted memory whitelist) external payable isNotPaused { require(getSigner(whitelist) == designatedSigner, "Invalid signature"); require(msg.sender == whitelist.whiteListAddress, "not same user"); require(whitelist.isPrivateListed, "is not private listed"); require(!privateBought[msg.sender], "Already bought"); require(block.timestamp > PRIVATE_TIME, "Sale not started"); require(msg.value >= PRICE, "Paying too low"); privateBought[msg.sender] = true; Godjira2.safeTransferFrom(CORE_TEAM_ADDRESS, msg.sender, privateSaleTracker); privateSaleTracker++; } function whitelistSale(whitelisted memory whitelist) external payable isNotPaused{ require(getSigner(whitelist) == designatedSigner,"Invalid signature"); require(msg.sender == whitelist.whiteListAddress,"not same user"); require(!whitelist.isPrivateListed,"is private listed"); require(!whitelistBought[msg.sender],"Already bought"); require(block.timestamp > WHITELIST_TIME && block.timestamp < WHITELIST_TIME + 1 days,"Sale not started or has ended"); require(msg.value >= PRICE,"Paying too low"); whitelistBought[msg.sender] = true; Godjira2.safeTransferFrom(CORE_TEAM_ADDRESS,msg.sender,whitelistSaleTracker); whitelistSaleTracker++; } function genesisSale(uint[] memory tokenId) external payable isNotPaused{ require(block.timestamp > HOLDERS_TIME,"Sale not started"); require(msg.value >= 2*PRICE*tokenId.length,"Paying too low"); for(uint i=0;i<tokenId.length;i++){ require(Godjira1.ownerOf(tokenId[i]) == msg.sender,"Sender not owner"); require(!genesisBought[tokenId[i]],"Already bought"); genesisBought[tokenId[i]] = true; Godjira2.safeTransferFrom(CORE_TEAM_ADDRESS,msg.sender,genesisSaleTracker); Godjira2.safeTransferFrom(CORE_TEAM_ADDRESS,msg.sender,genesisSaleTracker+1); genesisSaleTracker += 2; } } // Region 2 - Claims function genesisClaim(uint[] memory tokenId) external isNotPaused{ require(block.timestamp > CLAIM_TIME,"Claims not started"); for(uint i=0;i<tokenId.length;i++){ require(Godjira1.ownerOf(tokenId[i])==msg.sender,"Sender not owner"); require(!genesisClaimed[tokenId[i]],"Already claimed"); genesisClaimed[tokenId[i]] = true; Godjira2.safeTransferFrom(CORE_TEAM_ADDRESS,msg.sender,claimTracker); claimTracker++; } } function privateSalesClaim(uint[] memory tokenId) external isNotPaused{ require(block.timestamp > CLAIM_TIME,"Claims not started"); for(uint i=0;i<tokenId.length;i++){ require(tokenId[i] >= 340 && tokenId[i] <= 439,"not valid token"); require(Godjira2.ownerOf(tokenId[i])==msg.sender,"Sender not owner"); require(!gen2Claimed[tokenId[i]],"Already claimed"); gen2Claimed[tokenId[i]] = true; Godjira2.safeTransferFrom(CORE_TEAM_ADDRESS,msg.sender,claimTracker); claimTracker++; } } function withdraw() external onlyOwner{ payable(msg.sender).transfer(address(this).balance); } function pauseContract(bool _paused) external onlyOwner{ isPaused = _paused; } function modifyGodjira2(address _godjira) external onlyOwner{ Godjira2 = IERC721(_godjira); } function modifyGodjira1(address _godjira) external onlyOwner { Godjira1 = IERC721(_godjira); } function modifySigner(address _signer) external onlyOwner { designatedSigner = _signer; } function modifyCoreTeamAddress(address _core) external onlyOwner { CORE_TEAM_ADDRESS = _core; } function modifyPrice(uint _price) external onlyOwner { PRICE = _price; } function modifyPrivateTime(uint _time) external onlyOwner { PRIVATE_TIME = _time; } function modifyWhitelistTime(uint _time) external onlyOwner { WHITELIST_TIME = _time; } function modifyHolderTime(uint _time) external onlyOwner { HOLDERS_TIME = _time; } function modifyClaimTime(uint _time) external onlyOwner { CLAIM_TIME = _time; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_godjira2","type":"address"},{"internalType":"address","name":"_godjira1","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"CLAIM_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"HOLDERS_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PRIVATE_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WHITELIST_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimTracker","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"gen2Claimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"genesisBought","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenId","type":"uint256[]"}],"name":"genesisClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"genesisClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenId","type":"uint256[]"}],"name":"genesisSale","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"genesisSaleTracker","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getChainID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_time","type":"uint256"}],"name":"modifyClaimTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_core","type":"address"}],"name":"modifyCoreTeamAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_godjira","type":"address"}],"name":"modifyGodjira1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_godjira","type":"address"}],"name":"modifyGodjira2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_time","type":"uint256"}],"name":"modifyHolderTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_price","type":"uint256"}],"name":"modifyPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_time","type":"uint256"}],"name":"modifyPrivateTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_signer","type":"address"}],"name":"modifySigner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_time","type":"uint256"}],"name":"modifyWhitelistTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"pauseContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"privateBought","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"whiteListAddress","type":"address"},{"internalType":"bool","name":"isPrivateListed","type":"bool"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct whitelistChecker.whitelisted","name":"whitelist","type":"tuple"}],"name":"privateSale","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"privateSaleTracker","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenId","type":"uint256[]"}],"name":"privateSalesClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelistBought","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"whiteListAddress","type":"address"},{"internalType":"bool","name":"isPrivateListed","type":"bool"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct whitelistChecker.whitelisted","name":"whitelist","type":"tuple"}],"name":"whitelistSale","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"whitelistSaleTracker","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
610140604052600380546001600160a01b031990811673c79b099e83f6ecc8242f93d35782562b42c459f31790915560048054909116732141fc90f4d8114e8778447d7c19b5992f6a061117905567015fb7f9b8c38000600555636227fc10600655636228183060075563622969b060085563622abb30600955600a8054670b25045201b801546001600160401b0319909116179055348015620000a257600080fd5b506040516200257638038062002576833981016040819052620000c59162000255565b60405180604001604052806007815260200166476f646a69726160c81b815250604051806040016040528060018152602001603160f81b8152506200011962000113620001e460201b60201c565b620001e8565b815160208084019190912082518383012060e08290526101008190524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81880181905281830187905260608201869052608082019490945230818401528151808203909301835260c00190528051940193909320919290916080523060601b60c052610120525050600180546001600160a01b039586166001600160a01b0319918216179091556002805494909516931692909217909255506200028d9050565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200025057600080fd5b919050565b600080604083850312156200026957600080fd5b620002748362000238565b9150620002846020840162000238565b90509250929050565b60805160a05160c05160601c60e0516101005161012051612296620002e06000396000611c2701526000611c7601526000611c5101526000611baa01526000611bd401526000611bfe01526122966000f3fe6080604052600436106101f95760003560e01c806373b0f1191161010d578063b81b34fa116100a0578063dbb76a7a1161006f578063dbb76a7a146105a4578063e272b892146105d4578063e5fa6b2f146105f4578063f1355db614610624578063f2fde38b1461063757600080fd5b8063b81b34fa14610529578063bbe6b70114610544578063bd5090d214610564578063c8c43ccc1461058457600080fd5b80639a78d3ba116100dc5780639a78d3ba146104c6578063a7ea4129146104e6578063ad26ae61146104fc578063b187bd261461050f57600080fd5b806373b0f119146104385780637b2c865d146104685780637fa5fcfb1461047e5780638da5cb5b1461049e57600080fd5b80633bcaba8b116101905780634e376b4c1161015f5780634e376b4c1461039d578063564b81ef146103bd57806357dbff33146103d05780636a62e9a014610400578063715018a61461042357600080fd5b80633bcaba8b1461033f5780633ccfd60b1461035557806344c6b3a51461036a5780634a5ea15e1461038a57600080fd5b80631053eff4116101cc5780631053eff41461029d578063222abc11146102bd5780632af7fd6a146102df5780633294cdb0146102ff57600080fd5b806306c553ef146101fe57806309e88b85146102205780630d485d5d146102495780630e1ad4b41461027d575b600080fd5b34801561020a57600080fd5b5061021e610219366004611fe6565b610657565b005b34801561022c57600080fd5b5061023660065481565b6040519081526020015b60405180910390f35b34801561025557600080fd5b50600a5461026a9062010000900461ffff1681565b60405161ffff9091168152602001610240565b34801561028957600080fd5b5061021e610298366004611dff565b61068f565b3480156102a957600080fd5b5061021e6102b8366004611e39565b6106db565b3480156102c957600080fd5b50600a5461026a90600160301b900461ffff1681565b3480156102eb57600080fd5b5061021e6102fa366004611dff565b61098f565b34801561030b57600080fd5b5061032f61031a366004611dff565b600b6020526000908152604090205460ff1681565b6040519015158152602001610240565b34801561034b57600080fd5b5061023660095481565b34801561036157600080fd5b5061021e6109db565b34801561037657600080fd5b5061021e610385366004611fe6565b610a34565b61021e610398366004611f01565b610a63565b3480156103a957600080fd5b5061021e6103b8366004611fe6565b610cd0565b3480156103c957600080fd5b5046610236565b3480156103dc57600080fd5b5061032f6103eb366004611fe6565b600f6020526000908152604090205460ff1681565b34801561040c57600080fd5b50600a5461026a90640100000000900461ffff1681565b34801561042f57600080fd5b5061021e610cff565b34801561044457600080fd5b5061032f610453366004611fe6565b600e6020526000908152604090205460ff1681565b34801561047457600080fd5b5061023660085481565b34801561048a57600080fd5b5061021e610499366004611dff565b610d35565b3480156104aa57600080fd5b506000546040516001600160a01b039091168152602001610240565b3480156104d257600080fd5b5061021e6104e1366004611dff565b610d81565b3480156104f257600080fd5b5061023660075481565b61021e61050a366004611f01565b610dcd565b34801561051b57600080fd5b5060105461032f9060ff1681565b34801561053557600080fd5b50600a5461026a9061ffff1681565b34801561055057600080fd5b5061021e61055f366004611fe6565b61104f565b34801561057057600080fd5b5061021e61057f366004611fe6565b61107e565b34801561059057600080fd5b5061021e61059f366004611e39565b6110ad565b3480156105b057600080fd5b5061032f6105bf366004611fe6565b600c6020526000908152604090205460ff1681565b3480156105e057600080fd5b5061021e6105ef366004611ee6565b6113e1565b34801561060057600080fd5b5061032f61060f366004611dff565b600d6020526000908152604090205460ff1681565b61021e610632366004611e39565b61141e565b34801561064357600080fd5b5061021e610652366004611dff565b61176b565b6000546001600160a01b0316331461068a5760405162461bcd60e51b8152600401610681906120ca565b60405180910390fd5b600855565b6000546001600160a01b031633146106b95760405162461bcd60e51b8152600401610681906120ca565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b60105460ff16156106fe5760405162461bcd60e51b8152600401610681906120a0565b60095442116107445760405162461bcd60e51b815260206004820152601260248201527110db185a5b5cc81b9bdd081cdd185c9d195960721b6044820152606401610681565b60005b815181101561098b57600254825133916001600160a01b031690636352211e908590859081106107795761077961221f565b60200260200101516040518263ffffffff1660e01b815260040161079f91815260200190565b60206040518083038186803b1580156107b757600080fd5b505afa1580156107cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ef9190611e1c565b6001600160a01b0316146108155760405162461bcd60e51b81526004016106819061204e565b600e600083838151811061082b5761082b61221f565b60209081029190910181015182528101919091526040016000205460ff16156108885760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e4818db185a5b5959608a1b6044820152606401610681565b6001600e60008484815181106108a0576108a061221f565b60209081029190910181015182528101919091526040908101600020805460ff191692151592909217909155600154600354600a549251632142170760e11b81526001600160a01b03928316936342842e0e9361090f9316913391600160301b900461ffff1690600401611fff565b600060405180830381600087803b15801561092957600080fd5b505af115801561093d573d6000803e3d6000fd5b5050600a8054600160301b900461ffff1692509050600661095d836121b6565b91906101000a81548161ffff021916908361ffff160217905550508080610983906121d8565b915050610747565b5050565b6000546001600160a01b031633146109b95760405162461bcd60e51b8152600401610681906120ca565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610a055760405162461bcd60e51b8152600401610681906120ca565b60405133904780156108fc02916000818181858888f19350505050158015610a31573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610a5e5760405162461bcd60e51b8152600401610681906120ca565b600755565b60105460ff1615610a865760405162461bcd60e51b8152600401610681906120a0565b6004546001600160a01b0316610a9b82611803565b6001600160a01b031614610ae55760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b6044820152606401610681565b80516001600160a01b03163314610b2e5760405162461bcd60e51b815260206004820152600d60248201526c3737ba1039b0b6b2903ab9b2b960991b6044820152606401610681565b8060200151610b775760405162461bcd60e51b81526020600482015260156024820152741a5cc81b9bdd081c1c9a5d985d19481b1a5cdd1959605a1b6044820152606401610681565b336000908152600b602052604090205460ff1615610ba75760405162461bcd60e51b815260040161068190612026565b6006544211610beb5760405162461bcd60e51b815260206004820152601060248201526f14d85b19481b9bdd081cdd185c9d195960821b6044820152606401610681565b600554341015610c0d5760405162461bcd60e51b815260040161068190612078565b336000818152600b602052604090819020805460ff1916600190811790915554600354600a549251632142170760e11b81526001600160a01b03928316946342842e0e94610c6b949390931692909161ffff90911690600401611fff565b600060405180830381600087803b158015610c8557600080fd5b505af1158015610c99573d6000803e3d6000fd5b5050600a805461ffff16925090506000610cb2836121b6565b91906101000a81548161ffff021916908361ffff1602179055505050565b6000546001600160a01b03163314610cfa5760405162461bcd60e51b8152600401610681906120ca565b600655565b6000546001600160a01b03163314610d295760405162461bcd60e51b8152600401610681906120ca565b610d336000611814565b565b6000546001600160a01b03163314610d5f5760405162461bcd60e51b8152600401610681906120ca565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610dab5760405162461bcd60e51b8152600401610681906120ca565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60105460ff1615610df05760405162461bcd60e51b8152600401610681906120a0565b6004546001600160a01b0316610e0582611803565b6001600160a01b031614610e4f5760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b6044820152606401610681565b80516001600160a01b03163314610e985760405162461bcd60e51b815260206004820152600d60248201526c3737ba1039b0b6b2903ab9b2b960991b6044820152606401610681565b806020015115610ede5760405162461bcd60e51b81526020600482015260116024820152701a5cc81c1c9a5d985d19481b1a5cdd1959607a1b6044820152606401610681565b336000908152600d602052604090205460ff1615610f0e5760405162461bcd60e51b815260040161068190612026565b60085442118015610f2d5750600854610f2a906201518061217f565b42105b610f795760405162461bcd60e51b815260206004820152601d60248201527f53616c65206e6f742073746172746564206f722068617320656e6465640000006044820152606401610681565b600554341015610f9b5760405162461bcd60e51b815260040161068190612078565b336000818152600d6020526040908190208054600160ff19909116811790915554600354600a549251632142170760e11b81526001600160a01b03928316946342842e0e946110009490931692909164010000000090910461ffff1690600401611fff565b600060405180830381600087803b15801561101a57600080fd5b505af115801561102e573d6000803e3d6000fd5b5050600a8054640100000000900461ffff16925090506004610cb2836121b6565b6000546001600160a01b031633146110795760405162461bcd60e51b8152600401610681906120ca565b600555565b6000546001600160a01b031633146110a85760405162461bcd60e51b8152600401610681906120ca565b600955565b60105460ff16156110d05760405162461bcd60e51b8152600401610681906120a0565b60095442116111165760405162461bcd60e51b815260206004820152601260248201527110db185a5b5cc81b9bdd081cdd185c9d195960721b6044820152606401610681565b60005b815181101561098b576101548282815181106111375761113761221f565b60200260200101511015801561116857506101b782828151811061115d5761115d61221f565b602002602001015111155b6111a65760405162461bcd60e51b815260206004820152600f60248201526e3737ba103b30b634b2103a37b5b2b760891b6044820152606401610681565b600154825133916001600160a01b031690636352211e908590859081106111cf576111cf61221f565b60200260200101516040518263ffffffff1660e01b81526004016111f591815260200190565b60206040518083038186803b15801561120d57600080fd5b505afa158015611221573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112459190611e1c565b6001600160a01b03161461126b5760405162461bcd60e51b81526004016106819061204e565b600f60008383815181106112815761128161221f565b60209081029190910181015182528101919091526040016000205460ff16156112de5760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e4818db185a5b5959608a1b6044820152606401610681565b6001600f60008484815181106112f6576112f661221f565b60209081029190910181015182528101919091526040908101600020805460ff191692151592909217909155600154600354600a549251632142170760e11b81526001600160a01b03928316936342842e0e936113659316913391600160301b900461ffff1690600401611fff565b600060405180830381600087803b15801561137f57600080fd5b505af1158015611393573d6000803e3d6000fd5b5050600a8054600160301b900461ffff169250905060066113b3836121b6565b91906101000a81548161ffff021916908361ffff1602179055505080806113d9906121d8565b915050611119565b6000546001600160a01b0316331461140b5760405162461bcd60e51b8152600401610681906120ca565b6010805460ff1916911515919091179055565b60105460ff16156114415760405162461bcd60e51b8152600401610681906120a0565b60075442116114855760405162461bcd60e51b815260206004820152601060248201526f14d85b19481b9bdd081cdd185c9d195960821b6044820152606401610681565b8051600554611495906002612197565b61149f9190612197565b3410156114be5760405162461bcd60e51b815260040161068190612078565b60005b815181101561098b57600254825133916001600160a01b031690636352211e908590859081106114f3576114f361221f565b60200260200101516040518263ffffffff1660e01b815260040161151991815260200190565b60206040518083038186803b15801561153157600080fd5b505afa158015611545573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115699190611e1c565b6001600160a01b03161461158f5760405162461bcd60e51b81526004016106819061204e565b600c60008383815181106115a5576115a561221f565b60209081029190910181015182528101919091526040016000205460ff16156115e05760405162461bcd60e51b815260040161068190612026565b6001600c60008484815181106115f8576115f861221f565b60209081029190910181015182528101919091526040908101600020805460ff191692151592909217909155600154600354600a549251632142170760e11b81526001600160a01b03928316936342842e0e93611666931691339162010000900461ffff1690600401611fff565b600060405180830381600087803b15801561168057600080fd5b505af1158015611694573d6000803e3d6000fd5b505060018054600354600a546001600160a01b0392831695506342842e0e945091169133916116ce916201000090910461ffff1690612159565b6040518463ffffffff1660e01b81526004016116ec93929190611fff565b600060405180830381600087803b15801561170657600080fd5b505af115801561171a573d6000803e3d6000fd5b505050506002600a60028282829054906101000a900461ffff1661173e9190612159565b92506101000a81548161ffff021916908361ffff1602179055508080611763906121d8565b9150506114c1565b6000546001600160a01b031633146117955760405162461bcd60e51b8152600401610681906120ca565b6001600160a01b0381166117fa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610681565b610a3181611814565b600061180e82611864565b92915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008061187083611887565b9050611880818460400151611900565b9392505050565b600061180e7fbf89b55973aa6c7d8764b50ae0530e8f0520eb546041ed59a6846d25d143fd8e836000015184602001516040516020016118e5939291909283526001600160a01b039190911660208301521515604082015260600190565b60405160208183030381529060405280519060200120611924565b600080600061190f8585611972565b9150915061191c816119e2565b509392505050565b600061180e611931611b9d565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000808251604114156119a95760208301516040840151606085015160001a61199d87828585611cc4565b945094505050506119db565b8251604014156119d357602083015160408401516119c8868383611db1565b9350935050506119db565b506000905060025b9250929050565b60008160048111156119f6576119f6612209565b14156119ff5750565b6001816004811115611a1357611a13612209565b1415611a615760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610681565b6002816004811115611a7557611a75612209565b1415611ac35760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610681565b6003816004811115611ad757611ad7612209565b1415611b305760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610681565b6004816004811115611b4457611b44612209565b1415610a315760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610681565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611bf657507f000000000000000000000000000000000000000000000000000000000000000046145b15611c2057507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611cfb5750600090506003611da8565b8460ff16601b14158015611d1357508460ff16601c14155b15611d245750600090506004611da8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611d78573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611da157600060019250925050611da8565b9150600090505b94509492505050565b6000806001600160ff1b03831681611dce60ff86901c601b61217f565b9050611ddc87828885611cc4565b935093505050935093915050565b80358015158114611dfa57600080fd5b919050565b600060208284031215611e1157600080fd5b81356118808161224b565b600060208284031215611e2e57600080fd5b81516118808161224b565b60006020808385031215611e4c57600080fd5b823567ffffffffffffffff80821115611e6457600080fd5b818501915085601f830112611e7857600080fd5b813581811115611e8a57611e8a612235565b8060051b9150611e9b848301612128565b8181528481019084860184860187018a1015611eb657600080fd5b600095505b83861015611ed9578035835260019590950194918601918601611ebb565b5098975050505050505050565b600060208284031215611ef857600080fd5b61188082611dea565b60006020808385031215611f1457600080fd5b823567ffffffffffffffff80821115611f2c57600080fd5b9084019060608287031215611f4057600080fd5b611f486120ff565b8235611f538161224b565b8152611f60838501611dea565b84820152604083013582811115611f7657600080fd5b80840193505086601f840112611f8b57600080fd5b823582811115611f9d57611f9d612235565b611faf601f8201601f19168601612128565b92508083528785828601011115611fc557600080fd5b80858501868501376000908301909401939093526040830152509392505050565b600060208284031215611ff857600080fd5b5035919050565b6001600160a01b03938416815291909216602082015261ffff909116604082015260600190565b6020808252600e908201526d105b1c9958591e48189bdd59da1d60921b604082015260600190565b60208082526010908201526f29b2b73232b9103737ba1037bbb732b960811b604082015260600190565b6020808252600e908201526d506179696e6720746f6f206c6f7760901b604082015260600190565b60208082526010908201526f115e1958dd5d1a5bdb881c185d5cd95960821b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6040516060810167ffffffffffffffff8111828210171561212257612122612235565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561215157612151612235565b604052919050565b600061ffff808316818516808303821115612176576121766121f3565b01949350505050565b60008219821115612192576121926121f3565b500190565b60008160001904831182151516156121b1576121b16121f3565b500290565b600061ffff808316818114156121ce576121ce6121f3565b6001019392505050565b60006000198214156121ec576121ec6121f3565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610a3157600080fdfea2646970667358221220ddc4766344057dd6c91994402b051725a7b58ce6e69f08908766eba023932c9a64736f6c63430008070033000000000000000000000000edc3ad89f7b0963fe23d714b34185713706b815b0000000000000000000000009ada21a8bc6c33b49a089cfc1c24545d2a27cd81
Deployed Bytecode
0x6080604052600436106101f95760003560e01c806373b0f1191161010d578063b81b34fa116100a0578063dbb76a7a1161006f578063dbb76a7a146105a4578063e272b892146105d4578063e5fa6b2f146105f4578063f1355db614610624578063f2fde38b1461063757600080fd5b8063b81b34fa14610529578063bbe6b70114610544578063bd5090d214610564578063c8c43ccc1461058457600080fd5b80639a78d3ba116100dc5780639a78d3ba146104c6578063a7ea4129146104e6578063ad26ae61146104fc578063b187bd261461050f57600080fd5b806373b0f119146104385780637b2c865d146104685780637fa5fcfb1461047e5780638da5cb5b1461049e57600080fd5b80633bcaba8b116101905780634e376b4c1161015f5780634e376b4c1461039d578063564b81ef146103bd57806357dbff33146103d05780636a62e9a014610400578063715018a61461042357600080fd5b80633bcaba8b1461033f5780633ccfd60b1461035557806344c6b3a51461036a5780634a5ea15e1461038a57600080fd5b80631053eff4116101cc5780631053eff41461029d578063222abc11146102bd5780632af7fd6a146102df5780633294cdb0146102ff57600080fd5b806306c553ef146101fe57806309e88b85146102205780630d485d5d146102495780630e1ad4b41461027d575b600080fd5b34801561020a57600080fd5b5061021e610219366004611fe6565b610657565b005b34801561022c57600080fd5b5061023660065481565b6040519081526020015b60405180910390f35b34801561025557600080fd5b50600a5461026a9062010000900461ffff1681565b60405161ffff9091168152602001610240565b34801561028957600080fd5b5061021e610298366004611dff565b61068f565b3480156102a957600080fd5b5061021e6102b8366004611e39565b6106db565b3480156102c957600080fd5b50600a5461026a90600160301b900461ffff1681565b3480156102eb57600080fd5b5061021e6102fa366004611dff565b61098f565b34801561030b57600080fd5b5061032f61031a366004611dff565b600b6020526000908152604090205460ff1681565b6040519015158152602001610240565b34801561034b57600080fd5b5061023660095481565b34801561036157600080fd5b5061021e6109db565b34801561037657600080fd5b5061021e610385366004611fe6565b610a34565b61021e610398366004611f01565b610a63565b3480156103a957600080fd5b5061021e6103b8366004611fe6565b610cd0565b3480156103c957600080fd5b5046610236565b3480156103dc57600080fd5b5061032f6103eb366004611fe6565b600f6020526000908152604090205460ff1681565b34801561040c57600080fd5b50600a5461026a90640100000000900461ffff1681565b34801561042f57600080fd5b5061021e610cff565b34801561044457600080fd5b5061032f610453366004611fe6565b600e6020526000908152604090205460ff1681565b34801561047457600080fd5b5061023660085481565b34801561048a57600080fd5b5061021e610499366004611dff565b610d35565b3480156104aa57600080fd5b506000546040516001600160a01b039091168152602001610240565b3480156104d257600080fd5b5061021e6104e1366004611dff565b610d81565b3480156104f257600080fd5b5061023660075481565b61021e61050a366004611f01565b610dcd565b34801561051b57600080fd5b5060105461032f9060ff1681565b34801561053557600080fd5b50600a5461026a9061ffff1681565b34801561055057600080fd5b5061021e61055f366004611fe6565b61104f565b34801561057057600080fd5b5061021e61057f366004611fe6565b61107e565b34801561059057600080fd5b5061021e61059f366004611e39565b6110ad565b3480156105b057600080fd5b5061032f6105bf366004611fe6565b600c6020526000908152604090205460ff1681565b3480156105e057600080fd5b5061021e6105ef366004611ee6565b6113e1565b34801561060057600080fd5b5061032f61060f366004611dff565b600d6020526000908152604090205460ff1681565b61021e610632366004611e39565b61141e565b34801561064357600080fd5b5061021e610652366004611dff565b61176b565b6000546001600160a01b0316331461068a5760405162461bcd60e51b8152600401610681906120ca565b60405180910390fd5b600855565b6000546001600160a01b031633146106b95760405162461bcd60e51b8152600401610681906120ca565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b60105460ff16156106fe5760405162461bcd60e51b8152600401610681906120a0565b60095442116107445760405162461bcd60e51b815260206004820152601260248201527110db185a5b5cc81b9bdd081cdd185c9d195960721b6044820152606401610681565b60005b815181101561098b57600254825133916001600160a01b031690636352211e908590859081106107795761077961221f565b60200260200101516040518263ffffffff1660e01b815260040161079f91815260200190565b60206040518083038186803b1580156107b757600080fd5b505afa1580156107cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ef9190611e1c565b6001600160a01b0316146108155760405162461bcd60e51b81526004016106819061204e565b600e600083838151811061082b5761082b61221f565b60209081029190910181015182528101919091526040016000205460ff16156108885760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e4818db185a5b5959608a1b6044820152606401610681565b6001600e60008484815181106108a0576108a061221f565b60209081029190910181015182528101919091526040908101600020805460ff191692151592909217909155600154600354600a549251632142170760e11b81526001600160a01b03928316936342842e0e9361090f9316913391600160301b900461ffff1690600401611fff565b600060405180830381600087803b15801561092957600080fd5b505af115801561093d573d6000803e3d6000fd5b5050600a8054600160301b900461ffff1692509050600661095d836121b6565b91906101000a81548161ffff021916908361ffff160217905550508080610983906121d8565b915050610747565b5050565b6000546001600160a01b031633146109b95760405162461bcd60e51b8152600401610681906120ca565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610a055760405162461bcd60e51b8152600401610681906120ca565b60405133904780156108fc02916000818181858888f19350505050158015610a31573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610a5e5760405162461bcd60e51b8152600401610681906120ca565b600755565b60105460ff1615610a865760405162461bcd60e51b8152600401610681906120a0565b6004546001600160a01b0316610a9b82611803565b6001600160a01b031614610ae55760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b6044820152606401610681565b80516001600160a01b03163314610b2e5760405162461bcd60e51b815260206004820152600d60248201526c3737ba1039b0b6b2903ab9b2b960991b6044820152606401610681565b8060200151610b775760405162461bcd60e51b81526020600482015260156024820152741a5cc81b9bdd081c1c9a5d985d19481b1a5cdd1959605a1b6044820152606401610681565b336000908152600b602052604090205460ff1615610ba75760405162461bcd60e51b815260040161068190612026565b6006544211610beb5760405162461bcd60e51b815260206004820152601060248201526f14d85b19481b9bdd081cdd185c9d195960821b6044820152606401610681565b600554341015610c0d5760405162461bcd60e51b815260040161068190612078565b336000818152600b602052604090819020805460ff1916600190811790915554600354600a549251632142170760e11b81526001600160a01b03928316946342842e0e94610c6b949390931692909161ffff90911690600401611fff565b600060405180830381600087803b158015610c8557600080fd5b505af1158015610c99573d6000803e3d6000fd5b5050600a805461ffff16925090506000610cb2836121b6565b91906101000a81548161ffff021916908361ffff1602179055505050565b6000546001600160a01b03163314610cfa5760405162461bcd60e51b8152600401610681906120ca565b600655565b6000546001600160a01b03163314610d295760405162461bcd60e51b8152600401610681906120ca565b610d336000611814565b565b6000546001600160a01b03163314610d5f5760405162461bcd60e51b8152600401610681906120ca565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610dab5760405162461bcd60e51b8152600401610681906120ca565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60105460ff1615610df05760405162461bcd60e51b8152600401610681906120a0565b6004546001600160a01b0316610e0582611803565b6001600160a01b031614610e4f5760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b6044820152606401610681565b80516001600160a01b03163314610e985760405162461bcd60e51b815260206004820152600d60248201526c3737ba1039b0b6b2903ab9b2b960991b6044820152606401610681565b806020015115610ede5760405162461bcd60e51b81526020600482015260116024820152701a5cc81c1c9a5d985d19481b1a5cdd1959607a1b6044820152606401610681565b336000908152600d602052604090205460ff1615610f0e5760405162461bcd60e51b815260040161068190612026565b60085442118015610f2d5750600854610f2a906201518061217f565b42105b610f795760405162461bcd60e51b815260206004820152601d60248201527f53616c65206e6f742073746172746564206f722068617320656e6465640000006044820152606401610681565b600554341015610f9b5760405162461bcd60e51b815260040161068190612078565b336000818152600d6020526040908190208054600160ff19909116811790915554600354600a549251632142170760e11b81526001600160a01b03928316946342842e0e946110009490931692909164010000000090910461ffff1690600401611fff565b600060405180830381600087803b15801561101a57600080fd5b505af115801561102e573d6000803e3d6000fd5b5050600a8054640100000000900461ffff16925090506004610cb2836121b6565b6000546001600160a01b031633146110795760405162461bcd60e51b8152600401610681906120ca565b600555565b6000546001600160a01b031633146110a85760405162461bcd60e51b8152600401610681906120ca565b600955565b60105460ff16156110d05760405162461bcd60e51b8152600401610681906120a0565b60095442116111165760405162461bcd60e51b815260206004820152601260248201527110db185a5b5cc81b9bdd081cdd185c9d195960721b6044820152606401610681565b60005b815181101561098b576101548282815181106111375761113761221f565b60200260200101511015801561116857506101b782828151811061115d5761115d61221f565b602002602001015111155b6111a65760405162461bcd60e51b815260206004820152600f60248201526e3737ba103b30b634b2103a37b5b2b760891b6044820152606401610681565b600154825133916001600160a01b031690636352211e908590859081106111cf576111cf61221f565b60200260200101516040518263ffffffff1660e01b81526004016111f591815260200190565b60206040518083038186803b15801561120d57600080fd5b505afa158015611221573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112459190611e1c565b6001600160a01b03161461126b5760405162461bcd60e51b81526004016106819061204e565b600f60008383815181106112815761128161221f565b60209081029190910181015182528101919091526040016000205460ff16156112de5760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e4818db185a5b5959608a1b6044820152606401610681565b6001600f60008484815181106112f6576112f661221f565b60209081029190910181015182528101919091526040908101600020805460ff191692151592909217909155600154600354600a549251632142170760e11b81526001600160a01b03928316936342842e0e936113659316913391600160301b900461ffff1690600401611fff565b600060405180830381600087803b15801561137f57600080fd5b505af1158015611393573d6000803e3d6000fd5b5050600a8054600160301b900461ffff169250905060066113b3836121b6565b91906101000a81548161ffff021916908361ffff1602179055505080806113d9906121d8565b915050611119565b6000546001600160a01b0316331461140b5760405162461bcd60e51b8152600401610681906120ca565b6010805460ff1916911515919091179055565b60105460ff16156114415760405162461bcd60e51b8152600401610681906120a0565b60075442116114855760405162461bcd60e51b815260206004820152601060248201526f14d85b19481b9bdd081cdd185c9d195960821b6044820152606401610681565b8051600554611495906002612197565b61149f9190612197565b3410156114be5760405162461bcd60e51b815260040161068190612078565b60005b815181101561098b57600254825133916001600160a01b031690636352211e908590859081106114f3576114f361221f565b60200260200101516040518263ffffffff1660e01b815260040161151991815260200190565b60206040518083038186803b15801561153157600080fd5b505afa158015611545573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115699190611e1c565b6001600160a01b03161461158f5760405162461bcd60e51b81526004016106819061204e565b600c60008383815181106115a5576115a561221f565b60209081029190910181015182528101919091526040016000205460ff16156115e05760405162461bcd60e51b815260040161068190612026565b6001600c60008484815181106115f8576115f861221f565b60209081029190910181015182528101919091526040908101600020805460ff191692151592909217909155600154600354600a549251632142170760e11b81526001600160a01b03928316936342842e0e93611666931691339162010000900461ffff1690600401611fff565b600060405180830381600087803b15801561168057600080fd5b505af1158015611694573d6000803e3d6000fd5b505060018054600354600a546001600160a01b0392831695506342842e0e945091169133916116ce916201000090910461ffff1690612159565b6040518463ffffffff1660e01b81526004016116ec93929190611fff565b600060405180830381600087803b15801561170657600080fd5b505af115801561171a573d6000803e3d6000fd5b505050506002600a60028282829054906101000a900461ffff1661173e9190612159565b92506101000a81548161ffff021916908361ffff1602179055508080611763906121d8565b9150506114c1565b6000546001600160a01b031633146117955760405162461bcd60e51b8152600401610681906120ca565b6001600160a01b0381166117fa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610681565b610a3181611814565b600061180e82611864565b92915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008061187083611887565b9050611880818460400151611900565b9392505050565b600061180e7fbf89b55973aa6c7d8764b50ae0530e8f0520eb546041ed59a6846d25d143fd8e836000015184602001516040516020016118e5939291909283526001600160a01b039190911660208301521515604082015260600190565b60405160208183030381529060405280519060200120611924565b600080600061190f8585611972565b9150915061191c816119e2565b509392505050565b600061180e611931611b9d565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000808251604114156119a95760208301516040840151606085015160001a61199d87828585611cc4565b945094505050506119db565b8251604014156119d357602083015160408401516119c8868383611db1565b9350935050506119db565b506000905060025b9250929050565b60008160048111156119f6576119f6612209565b14156119ff5750565b6001816004811115611a1357611a13612209565b1415611a615760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610681565b6002816004811115611a7557611a75612209565b1415611ac35760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610681565b6003816004811115611ad757611ad7612209565b1415611b305760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610681565b6004816004811115611b4457611b44612209565b1415610a315760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610681565b6000306001600160a01b037f00000000000000000000000017cbabee420494ad46bb53618793aad0a7fdcdd516148015611bf657507f000000000000000000000000000000000000000000000000000000000000000146145b15611c2057507feb8a21555084281fbeb154d52008c4082a57e9cdaa842d0e7202277a5d9f8d3090565b50604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091527fbbc3b0c944ce8c3a3a81eafcfe5b20ee94e62c260666cb2d8cdb775d09dc107a828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611cfb5750600090506003611da8565b8460ff16601b14158015611d1357508460ff16601c14155b15611d245750600090506004611da8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611d78573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611da157600060019250925050611da8565b9150600090505b94509492505050565b6000806001600160ff1b03831681611dce60ff86901c601b61217f565b9050611ddc87828885611cc4565b935093505050935093915050565b80358015158114611dfa57600080fd5b919050565b600060208284031215611e1157600080fd5b81356118808161224b565b600060208284031215611e2e57600080fd5b81516118808161224b565b60006020808385031215611e4c57600080fd5b823567ffffffffffffffff80821115611e6457600080fd5b818501915085601f830112611e7857600080fd5b813581811115611e8a57611e8a612235565b8060051b9150611e9b848301612128565b8181528481019084860184860187018a1015611eb657600080fd5b600095505b83861015611ed9578035835260019590950194918601918601611ebb565b5098975050505050505050565b600060208284031215611ef857600080fd5b61188082611dea565b60006020808385031215611f1457600080fd5b823567ffffffffffffffff80821115611f2c57600080fd5b9084019060608287031215611f4057600080fd5b611f486120ff565b8235611f538161224b565b8152611f60838501611dea565b84820152604083013582811115611f7657600080fd5b80840193505086601f840112611f8b57600080fd5b823582811115611f9d57611f9d612235565b611faf601f8201601f19168601612128565b92508083528785828601011115611fc557600080fd5b80858501868501376000908301909401939093526040830152509392505050565b600060208284031215611ff857600080fd5b5035919050565b6001600160a01b03938416815291909216602082015261ffff909116604082015260600190565b6020808252600e908201526d105b1c9958591e48189bdd59da1d60921b604082015260600190565b60208082526010908201526f29b2b73232b9103737ba1037bbb732b960811b604082015260600190565b6020808252600e908201526d506179696e6720746f6f206c6f7760901b604082015260600190565b60208082526010908201526f115e1958dd5d1a5bdb881c185d5cd95960821b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6040516060810167ffffffffffffffff8111828210171561212257612122612235565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561215157612151612235565b604052919050565b600061ffff808316818516808303821115612176576121766121f3565b01949350505050565b60008219821115612192576121926121f3565b500190565b60008160001904831182151516156121b1576121b16121f3565b500290565b600061ffff808316818114156121ce576121ce6121f3565b6001019392505050565b60006000198214156121ec576121ec6121f3565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610a3157600080fdfea2646970667358221220ddc4766344057dd6c91994402b051725a7b58ce6e69f08908766eba023932c9a64736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000edc3ad89f7b0963fe23d714b34185713706b815b0000000000000000000000009ada21a8bc6c33b49a089cfc1c24545d2a27cd81
-----Decoded View---------------
Arg [0] : _godjira2 (address): 0xEDc3AD89f7b0963fe23D714B34185713706B815b
Arg [1] : _godjira1 (address): 0x9ada21A8bc6c33B49a089CFC1c24545d2a27cD81
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000edc3ad89f7b0963fe23d714b34185713706b815b
Arg [1] : 0000000000000000000000009ada21a8bc6c33b49a089cfc1c24545d2a27cd81
Deployed Bytecode Sourcemap
26985:5907:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;32581:101;;;;;;;;;;-1:-1:-1;32581:101:0;;;;;:::i;:::-;;:::i;:::-;;27292:37;;;;;;;;;;;;;;;;;;;12819:25:1;;;12807:2;12792:18;27292:37:0;;;;;;;;27547:38;;;;;;;;;;-1:-1:-1;27547:38:0;;;;;;;;;;;;;;12654:6:1;12642:19;;;12624:38;;12612:2;12597:18;27547:38:0;12480:188:1;32038:108:0;;;;;;;;;;-1:-1:-1;32038:108:0;;;;;:::i;:::-;;:::i;30590:512::-;;;;;;;;;;-1:-1:-1;30590:512:0;;;;;:::i;:::-;;:::i;27663:33::-;;;;;;;;;;-1:-1:-1;27663:33:0;;;;-1:-1:-1;;;27663:33:0;;;;;;31923:107;;;;;;;;;;-1:-1:-1;31923:107:0;;;;;:::i;:::-;;:::i;27738:43::-;;;;;;;;;;-1:-1:-1;27738:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4411:14:1;;4404:22;4386:41;;4374:2;4359:18;27738:43:0;4246:187:1;27426:35:0;;;;;;;;;;;;;;;;31707:108;;;;;;;;;;;;;:::i;32690:96::-;;;;;;;;;;-1:-1:-1;32690:96:0;;;;;:::i;:::-;;:::i;28444:669::-;;;;;;:::i;:::-;;:::i;32476:97::-;;;;;;;;;;-1:-1:-1;32476:97:0;;;;;:::i;:::-;;:::i;17515:163::-;;;;;;;;;;-1:-1:-1;17631:9:0;17515:163;;28074:38;;;;;;;;;;-1:-1:-1;28074:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;27603:41;;;;;;;;;;-1:-1:-1;27603:41:0;;;;;;;;;;;20289:103;;;;;;;;;;;;;:::i;27996:41::-;;;;;;;;;;-1:-1:-1;27996:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;27380:39;;;;;;;;;;;;;;;;32154:103;;;;;;;;;;-1:-1:-1;32154:103:0;;;;;:::i;:::-;;:::i;19638:87::-;;;;;;;;;;-1:-1:-1;19684:7:0;19711:6;19638:87;;-1:-1:-1;;;;;19711:6:0;;;3792:51:1;;3780:2;3765:18;19638:87:0;3646:203:1;32265:109:0;;;;;;;;;;-1:-1:-1;32265:109:0;;;;;:::i;:::-;;:::i;27336:37::-;;;;;;;;;;;;;;;;29121:727;;;;;;:::i;:::-;;:::i;28149:20::-;;;;;;;;;;-1:-1:-1;28149:20:0;;;;;;;;27492:38;;;;;;;;;;-1:-1:-1;27492:38:0;;;;;;;;32382:86;;;;;;;;;;-1:-1:-1;32382:86:0;;;;;:::i;:::-;;:::i;32794:93::-;;;;;;;;;;-1:-1:-1;32794:93:0;;;;;:::i;:::-;;:::i;31110:589::-;;;;;;;;;;-1:-1:-1;31110:589:0;;;;;:::i;:::-;;:::i;27817:40::-;;;;;;;;;;-1:-1:-1;27817:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;31823:92;;;;;;;;;;-1:-1:-1;31823:92:0;;;;;:::i;:::-;;:::i;27893:45::-;;;;;;;;;;-1:-1:-1;27893:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;29858:696;;;;;;:::i;:::-;;:::i;20547:201::-;;;;;;;;;;-1:-1:-1;20547:201:0;;;;;:::i;:::-;;:::i;32581:101::-;19684:7;19711:6;-1:-1:-1;;;;;19711:6:0;18442:10;19858:23;19850:68;;;;-1:-1:-1;;;19850:68:0;;;;;;;:::i;:::-;;;;;;;;;32652:14:::1;:22:::0;32581:101::o;32038:108::-;19684:7;19711:6;-1:-1:-1;;;;;19711:6:0;18442:10;19858:23;19850:68;;;;-1:-1:-1;;;19850:68:0;;;;;;;:::i;:::-;32110:8:::1;:28:::0;;-1:-1:-1;;;;;;32110:28:0::1;-1:-1:-1::0;;;;;32110:28:0;;;::::1;::::0;;;::::1;::::0;;32038:108::o;30590:512::-;28364:8;;;;28363:9;28355:37;;;;-1:-1:-1;;;28355:37:0;;;;;;;:::i;:::-;30692:10:::1;;30674:15;:28;30666:58;;;::::0;-1:-1:-1;;;30666:58:0;;6953:2:1;30666:58:0::1;::::0;::::1;6935:21:1::0;6992:2;6972:18;;;6965:30;-1:-1:-1;;;7011:18:1;;;7004:48;7069:18;;30666:58:0::1;6751:342:1::0;30666:58:0::1;30739:6;30735:360;30750:7;:14;30748:1;:16;30735:360;;;30792:8;::::0;30809:10;;30822::::1;::::0;-1:-1:-1;;;;;30792:8:0::1;::::0;:16:::1;::::0;30809:7;;30817:1;;30809:10;::::1;;;;;:::i;:::-;;;;;;;30792:28;;;;;;;;;;;;;12819:25:1::0;;12807:2;12792:18;;12673:177;30792:28:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;30792:40:0::1;;30784:68;;;;-1:-1:-1::0;;;30784:68:0::1;;;;;;;:::i;:::-;30876:14;:26;30891:7;30899:1;30891:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;30876:26;;;::::1;::::0;;;;;;-1:-1:-1;30876:26:0;;::::1;;30875:27;30867:54;;;::::0;-1:-1:-1;;;30867:54:0;;11290:2:1;30867:54:0::1;::::0;::::1;11272:21:1::0;11329:2;11309:18;;;11302:30;-1:-1:-1;;;11348:18:1;;;11341:45;11403:18;;30867:54:0::1;11088:339:1::0;30867:54:0::1;30967:4;30938:14;:26;30953:7;30961:1;30953:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;30938:26;;;::::1;::::0;;;;;;;;-1:-1:-1;30938:26:0;:33;;-1:-1:-1;;30938:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;-1:-1:-1;30986:8:0;31012:17:::1;::::0;31041:12:::1;::::0;30986:68;;-1:-1:-1;;;30986:68:0;;-1:-1:-1;;;;;30986:8:0;;::::1;::::0;:25:::1;::::0;:68:::1;::::0;31012:17:::1;::::0;31030:10:::1;::::0;-1:-1:-1;;;31041:12:0;::::1;;;::::0;30986:68:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;31069:12:0::1;:14:::0;;-1:-1:-1;;;31069:14:0;::::1;;;::::0;-1:-1:-1;31069:12:0;-1:-1:-1;31069:12:0::1;:14;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;30765:3;;;;;:::i;:::-;;;;30735:360;;;;30590:512:::0;:::o;31923:107::-;19684:7;19711:6;-1:-1:-1;;;;;19711:6:0;18442:10;19858:23;19850:68;;;;-1:-1:-1;;;19850:68:0;;;;;;;:::i;:::-;31994:8:::1;:28:::0;;-1:-1:-1;;;;;;31994:28:0::1;-1:-1:-1::0;;;;;31994:28:0;;;::::1;::::0;;;::::1;::::0;;31923:107::o;31707:108::-;19684:7;19711:6;-1:-1:-1;;;;;19711:6:0;18442:10;19858:23;19850:68;;;;-1:-1:-1;;;19850:68:0;;;;;;;:::i;:::-;31756:51:::1;::::0;31764:10:::1;::::0;31785:21:::1;31756:51:::0;::::1;;;::::0;::::1;::::0;;;31785:21;31764:10;31756:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;31707:108::o:0;32690:96::-;19684:7;19711:6;-1:-1:-1;;;;;19711:6:0;18442:10;19858:23;19850:68;;;;-1:-1:-1;;;19850:68:0;;;;;;;:::i;:::-;32758:12:::1;:20:::0;32690:96::o;28444:669::-;28364:8;;;;28363:9;28355:37;;;;-1:-1:-1;;;28355:37:0;;;;;;;:::i;:::-;28567:16:::1;::::0;-1:-1:-1;;;;;28567:16:0::1;28543:20;28553:9:::0;28543::::1;:20::i;:::-;-1:-1:-1::0;;;;;28543:40:0::1;;28535:70;;;::::0;-1:-1:-1;;;28535:70:0;;8395:2:1;28535:70:0::1;::::0;::::1;8377:21:1::0;8434:2;8414:18;;;8407:30;-1:-1:-1;;;8453:18:1;;;8446:47;8510:18;;28535:70:0::1;8193:341:1::0;28535:70:0::1;28638:26:::0;;-1:-1:-1;;;;;28624:40:0::1;:10;:40;28616:66;;;::::0;-1:-1:-1;;;28616:66:0;;12340:2:1;28616:66:0::1;::::0;::::1;12322:21:1::0;12379:2;12359:18;;;12352:30;-1:-1:-1;;;12398:18:1;;;12391:43;12451:18;;28616:66:0::1;12138:337:1::0;28616:66:0::1;28701:9;:25;;;28693:59;;;::::0;-1:-1:-1;;;28693:59:0;;10940:2:1;28693:59:0::1;::::0;::::1;10922:21:1::0;10979:2;10959:18;;;10952:30;-1:-1:-1;;;10998:18:1;;;10991:51;11059:18;;28693:59:0::1;10738:345:1::0;28693:59:0::1;28786:10;28772:25;::::0;;;:13:::1;:25;::::0;;;;;::::1;;28771:26;28763:53;;;;-1:-1:-1::0;;;28763:53:0::1;;;;;;;:::i;:::-;28853:12;;28835:15;:30;28827:59;;;::::0;-1:-1:-1;;;28827:59:0;;9834:2:1;28827:59:0::1;::::0;::::1;9816:21:1::0;9873:2;9853:18;;;9846:30;-1:-1:-1;;;9892:18:1;;;9885:46;9948:18;;28827:59:0::1;9632:340:1::0;28827:59:0::1;28918:5;;28905:9;:18;;28897:45;;;;-1:-1:-1::0;;;28897:45:0::1;;;;;;;:::i;:::-;28969:10;28955:25;::::0;;;:13:::1;:25;::::0;;;;;;:32;;-1:-1:-1;;28955:32:0::1;28983:4;28955:32:::0;;::::1;::::0;;;28998:8;29024:17:::1;::::0;29055:18:::1;::::0;28998:76;;-1:-1:-1;;;28998:76:0;;-1:-1:-1;;;;;28998:8:0;;::::1;::::0;:25:::1;::::0;:76:::1;::::0;29024:17;;;::::1;::::0;28969:10;;29055:18:::1;::::0;;::::1;::::0;28998:76:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;29085:18:0::1;:20:::0;;::::1;;::::0;-1:-1:-1;29085:18:0;-1:-1:-1;29085:18:0::1;:20;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;28444:669:::0;:::o;32476:97::-;19684:7;19711:6;-1:-1:-1;;;;;19711:6:0;18442:10;19858:23;19850:68;;;;-1:-1:-1;;;19850:68:0;;;;;;;:::i;:::-;32545:12:::1;:20:::0;32476:97::o;20289:103::-;19684:7;19711:6;-1:-1:-1;;;;;19711:6:0;18442:10;19858:23;19850:68;;;;-1:-1:-1;;;19850:68:0;;;;;;;:::i;:::-;20354:30:::1;20381:1;20354:18;:30::i;:::-;20289:103::o:0;32154:::-;19684:7;19711:6;-1:-1:-1;;;;;19711:6:0;18442:10;19858:23;19850:68;;;;-1:-1:-1;;;19850:68:0;;;;;;;:::i;:::-;32223:16:::1;:26:::0;;-1:-1:-1;;;;;;32223:26:0::1;-1:-1:-1::0;;;;;32223:26:0;;;::::1;::::0;;;::::1;::::0;;32154:103::o;32265:109::-;19684:7;19711:6;-1:-1:-1;;;;;19711:6:0;18442:10;19858:23;19850:68;;;;-1:-1:-1;;;19850:68:0;;;;;;;:::i;:::-;32341:17:::1;:25:::0;;-1:-1:-1;;;;;;32341:25:0::1;-1:-1:-1::0;;;;;32341:25:0;;;::::1;::::0;;;::::1;::::0;;32265:109::o;29121:727::-;28364:8;;;;28363:9;28355:37;;;;-1:-1:-1;;;28355:37:0;;;;;;;:::i;:::-;29245:16:::1;::::0;-1:-1:-1;;;;;29245:16:0::1;29221:20;29231:9:::0;29221::::1;:20::i;:::-;-1:-1:-1::0;;;;;29221:40:0::1;;29213:69;;;::::0;-1:-1:-1;;;29213:69:0;;8395:2:1;29213:69:0::1;::::0;::::1;8377:21:1::0;8434:2;8414:18;;;8407:30;-1:-1:-1;;;8453:18:1;;;8446:47;8510:18;;29213:69:0::1;8193:341:1::0;29213:69:0::1;29315:26:::0;;-1:-1:-1;;;;;29301:40:0::1;:10;:40;29293:65;;;::::0;-1:-1:-1;;;29293:65:0;;12340:2:1;29293:65:0::1;::::0;::::1;12322:21:1::0;12379:2;12359:18;;;12352:30;-1:-1:-1;;;12398:18:1;;;12391:43;12451:18;;29293:65:0::1;12138:337:1::0;29293:65:0::1;29378:9;:25;;;29377:26;29369:55;;;::::0;-1:-1:-1;;;29369:55:0;;9144:2:1;29369:55:0::1;::::0;::::1;9126:21:1::0;9183:2;9163:18;;;9156:30;-1:-1:-1;;;9202:18:1;;;9195:47;9259:18;;29369:55:0::1;8942:341:1::0;29369:55:0::1;29460:10;29444:27;::::0;;;:15:::1;:27;::::0;;;;;::::1;;29443:28;29435:54;;;;-1:-1:-1::0;;;29435:54:0::1;;;;;;;:::i;:::-;29526:14;;29508:15;:32;:77;;;;-1:-1:-1::0;29562:14:0::1;::::0;:23:::1;::::0;29579:6:::1;29562:23;:::i;:::-;29544:15;:41;29508:77;29500:118;;;::::0;-1:-1:-1;;;29500:118:0;;10179:2:1;29500:118:0::1;::::0;::::1;10161:21:1::0;10218:2;10198:18;;;10191:30;10257:31;10237:18;;;10230:59;10306:18;;29500:118:0::1;9977:353:1::0;29500:118:0::1;29650:5;;29637:9;:18;;29629:44;;;;-1:-1:-1::0;;;29629:44:0::1;;;;;;;:::i;:::-;29702:10;29686:27;::::0;;;:15:::1;:27;::::0;;;;;;:34;;29716:4:::1;-1:-1:-1::0;;29686:34:0;;::::1;::::0;::::1;::::0;;;29731:8;29757:17:::1;::::0;29786:20:::1;::::0;29731:76;;-1:-1:-1;;;29731:76:0;;-1:-1:-1;;;;;29731:8:0;;::::1;::::0;:25:::1;::::0;:76:::1;::::0;29757:17;;::::1;::::0;29702:10;;29786:20;;;::::1;;;::::0;::::1;29731:76;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;29818:20:0::1;:22:::0;;;;::::1;;;::::0;-1:-1:-1;29818:20:0;-1:-1:-1;29818:20:0::1;:22;::::0;::::1;:::i;32382:86::-:0;19684:7;19711:6;-1:-1:-1;;;;;19711:6:0;18442:10;19858:23;19850:68;;;;-1:-1:-1;;;19850:68:0;;;;;;;:::i;:::-;32446:5:::1;:14:::0;32382:86::o;32794:93::-;19684:7;19711:6;-1:-1:-1;;;;;19711:6:0;18442:10;19858:23;19850:68;;;;-1:-1:-1;;;19850:68:0;;;;;;;:::i;:::-;32861:10:::1;:18:::0;32794:93::o;31110:589::-;28364:8;;;;28363:9;28355:37;;;;-1:-1:-1;;;28355:37:0;;;;;;;:::i;:::-;31217:10:::1;;31199:15;:28;31191:58;;;::::0;-1:-1:-1;;;31191:58:0;;6953:2:1;31191:58:0::1;::::0;::::1;6935:21:1::0;6992:2;6972:18;;;6965:30;-1:-1:-1;;;7011:18:1;;;7004:48;7069:18;;31191:58:0::1;6751:342:1::0;31191:58:0::1;31264:6;31260:432;31275:7;:14;31273:1;:16;31260:432;;;31331:3;31317:7;31325:1;31317:10;;;;;;;;:::i;:::-;;;;;;;:17;;:38;;;;;31352:3;31338:7;31346:1;31338:10;;;;;;;;:::i;:::-;;;;;;;:17;;31317:38;31309:65;;;::::0;-1:-1:-1;;;31309:65:0;;9490:2:1;31309:65:0::1;::::0;::::1;9472:21:1::0;9529:2;9509:18;;;9502:30;-1:-1:-1;;;9548:18:1;;;9541:45;9603:18;;31309:65:0::1;9288:339:1::0;31309:65:0::1;31397:8;::::0;31414:10;;31427::::1;::::0;-1:-1:-1;;;;;31397:8:0::1;::::0;:16:::1;::::0;31414:7;;31422:1;;31414:10;::::1;;;;;:::i;:::-;;;;;;;31397:28;;;;;;;;;;;;;12819:25:1::0;;12807:2;12792:18;;12673:177;31397:28:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;31397:40:0::1;;31389:68;;;;-1:-1:-1::0;;;31389:68:0::1;;;;;;;:::i;:::-;31481:11;:23;31493:7;31501:1;31493:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;31481:23;;;::::1;::::0;;;;;;-1:-1:-1;31481:23:0;;::::1;;31480:24;31472:51;;;::::0;-1:-1:-1;;;31472:51:0;;11290:2:1;31472:51:0::1;::::0;::::1;11272:21:1::0;11329:2;11309:18;;;11302:30;-1:-1:-1;;;11348:18:1;;;11341:45;11403:18;;31472:51:0::1;11088:339:1::0;31472:51:0::1;31564:4;31538:11;:23;31550:7;31558:1;31550:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;31538:23;;;::::1;::::0;;;;;;;;-1:-1:-1;31538:23:0;:30;;-1:-1:-1;;31538:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;-1:-1:-1;31583:8:0;31609:17:::1;::::0;31638:12:::1;::::0;31583:68;;-1:-1:-1;;;31583:68:0;;-1:-1:-1;;;;;31583:8:0;;::::1;::::0;:25:::1;::::0;:68:::1;::::0;31609:17:::1;::::0;31627:10:::1;::::0;-1:-1:-1;;;31638:12:0;::::1;;;::::0;31583:68:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;31666:12:0::1;:14:::0;;-1:-1:-1;;;31666:14:0;::::1;;;::::0;-1:-1:-1;31666:12:0;-1:-1:-1;31666:12:0::1;:14;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;31290:3;;;;;:::i;:::-;;;;31260:432;;31823:92:::0;19684:7;19711:6;-1:-1:-1;;;;;19711:6:0;18442:10;19858:23;19850:68;;;;-1:-1:-1;;;19850:68:0;;;;;;;:::i;:::-;31889:8:::1;:18:::0;;-1:-1:-1;;31889:18:0::1;::::0;::::1;;::::0;;;::::1;::::0;;31823:92::o;29858:696::-;28364:8;;;;28363:9;28355:37;;;;-1:-1:-1;;;28355:37:0;;;;;;;:::i;:::-;29967:12:::1;;29949:15;:30;29941:58;;;::::0;-1:-1:-1;;;29941:58:0;;9834:2:1;29941:58:0::1;::::0;::::1;9816:21:1::0;9873:2;9853:18;;;9846:30;-1:-1:-1;;;9892:18:1;;;9885:46;9948:18;;29941:58:0::1;9632:340:1::0;29941:58:0::1;30039:14:::0;;30033:5:::1;::::0;30031:7:::1;::::0;:1:::1;:7;:::i;:::-;:22;;;;:::i;:::-;30018:9;:35;;30010:61;;;;-1:-1:-1::0;;;30010:61:0::1;;;;;;;:::i;:::-;30086:6;30082:465;30097:7;:14;30095:1;:16;30082:465;;;30139:8;::::0;30156:10;;30171::::1;::::0;-1:-1:-1;;;;;30139:8:0::1;::::0;:16:::1;::::0;30156:7;;30164:1;;30156:10;::::1;;;;;:::i;:::-;;;;;;;30139:28;;;;;;;;;;;;;12819:25:1::0;;12807:2;12792:18;;12673:177;30139:28:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;30139:42:0::1;;30131:70;;;;-1:-1:-1::0;;;30131:70:0::1;;;;;;;:::i;:::-;30225:13;:25;30239:7;30247:1;30239:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;30225:25;;;::::1;::::0;;;;;;-1:-1:-1;30225:25:0;;::::1;;30224:26;30216:52;;;;-1:-1:-1::0;;;30216:52:0::1;;;;;;;:::i;:::-;30313:4;30285:13;:25;30299:7;30307:1;30299:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;30285:25;;;::::1;::::0;;;;;;;;-1:-1:-1;30285:25:0;:32;;-1:-1:-1;;30285:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;-1:-1:-1;30332:8:0;30358:17:::1;::::0;30387:18:::1;::::0;30332:74;;-1:-1:-1;;;30332:74:0;;-1:-1:-1;;;;;30332:8:0;;::::1;::::0;:25:::1;::::0;:74:::1;::::0;30358:17:::1;::::0;30376:10:::1;::::0;30387:18;;::::1;;;::::0;30332:74:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;30421:8:0::1;::::0;;30447:17:::1;::::0;30476:18:::1;::::0;-1:-1:-1;;;;;30421:8:0;;::::1;::::0;-1:-1:-1;30421:25:0::1;::::0;-1:-1:-1;30447:17:0;::::1;::::0;30465:10:::1;::::0;30476:20:::1;::::0;:18;;;::::1;;;::::0;:20:::1;:::i;:::-;30421:76;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;30534:1;30512:18;;:23;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;30112:3;;;;;:::i;:::-;;;;30082:465;;20547:201:::0;19684:7;19711:6;-1:-1:-1;;;;;19711:6:0;18442:10;19858:23;19850:68;;;;-1:-1:-1;;;19850:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20636:22:0;::::1;20628:73;;;::::0;-1:-1:-1;;;20628:73:0;;7300:2:1;20628:73:0::1;::::0;::::1;7282:21:1::0;7339:2;7319:18;;;7312:30;7378:34;7358:18;;;7351:62;-1:-1:-1;;;7429:18:1;;;7422:36;7475:19;;20628:73:0::1;7098:402:1::0;20628:73:0::1;20712:28;20731:8;20712:18;:28::i;16698:113::-:0;16764:7;16790:13;16798:4;16790:7;:13::i;:::-;16783:20;16698:113;-1:-1:-1;;16698:113:0:o;20908:191::-;20982:16;21001:6;;-1:-1:-1;;;;;21018:17:0;;;-1:-1:-1;;;;;;21018:17:0;;;;;;21051:40;;21001:6;;;;;;;21051:40;;20982:16;21051:40;20971:128;20908:191;:::o;17331:176::-;17396:7;17416:14;17433:11;17439:4;17433:5;:11::i;:::-;17416:28;;17462:37;17476:6;17484:4;:14;;;17462:13;:37::i;:::-;17455:44;17331:176;-1:-1:-1;;;17331:176:0:o;16930:393::-;16993:7;17020:295;17112:71;17206:4;:21;;;17250:4;:20;;;17079:210;;;;;;;;;4634:25:1;;;-1:-1:-1;;;;;4695:32:1;;;;4690:2;4675:18;;4668:60;4771:14;4764:22;4759:2;4744:18;;4737:50;4622:2;4607:18;;4438:355;17079:210:0;;;;;;;;;;;;;17051:253;;;;;;17020:16;:295::i;6541:231::-;6619:7;6640:17;6659:18;6681:27;6692:4;6698:9;6681:10;:27::i;:::-;6639:69;;;;6719:18;6731:5;6719:11;:18::i;:::-;-1:-1:-1;6755:9:0;6541:231;-1:-1:-1;;;6541:231:0:o;16115:167::-;16192:7;16219:55;16241:20;:18;:20::i;:::-;16263:10;11585:57;;-1:-1:-1;;;11585:57:0;;;3507:27:1;3550:11;;;3543:27;;;3586:12;;;3579:28;;;11548:7:0;;3623:12:1;;11585:57:0;;;;;;;;;;;;11575:68;;;;;;11568:75;;11455:196;;;;;4431:1308;4512:7;4521:12;4746:9;:16;4766:2;4746:22;4742:990;;;5042:4;5027:20;;5021:27;5092:4;5077:20;;5071:27;5150:4;5135:20;;5129:27;4785:9;5121:36;5193:25;5204:4;5121:36;5021:27;5071;5193:10;:25::i;:::-;5186:32;;;;;;;;;4742:990;5240:9;:16;5260:2;5240:22;5236:496;;;5515:4;5500:20;;5494:27;5566:4;5551:20;;5545:27;5608:23;5619:4;5494:27;5545;5608:10;:23::i;:::-;5601:30;;;;;;;;5236:496;-1:-1:-1;5680:1:0;;-1:-1:-1;5684:35:0;5236:496;4431:1308;;;;;:::o;2702:643::-;2780:20;2771:5;:29;;;;;;;;:::i;:::-;;2767:571;;;2702:643;:::o;2767:571::-;2878:29;2869:5;:38;;;;;;;;:::i;:::-;;2865:473;;;2924:34;;-1:-1:-1;;;2924:34:0;;5897:2:1;2924:34:0;;;5879:21:1;5936:2;5916:18;;;5909:30;5975:26;5955:18;;;5948:54;6019:18;;2924:34:0;5695:348:1;2865:473:0;2989:35;2980:5;:44;;;;;;;;:::i;:::-;;2976:362;;;3041:41;;-1:-1:-1;;;3041:41:0;;6593:2:1;3041:41:0;;;6575:21:1;6632:2;6612:18;;;6605:30;6671:33;6651:18;;;6644:61;6722:18;;3041:41:0;6391:355:1;2976:362:0;3113:30;3104:5;:39;;;;;;;;:::i;:::-;;3100:238;;;3160:44;;-1:-1:-1;;;3160:44:0;;8741:2:1;3160:44:0;;;8723:21:1;8780:2;8760:18;;;8753:30;8819:34;8799:18;;;8792:62;-1:-1:-1;;;8870:18:1;;;8863:32;8912:19;;3160:44:0;8539:398:1;3100:238:0;3235:30;3226:5;:39;;;;;;;;:::i;:::-;;3222:116;;;3282:44;;-1:-1:-1;;;3282:44:0;;10537:2:1;3282:44:0;;;10519:21:1;10576:2;10556:18;;;10549:30;10615:34;10595:18;;;10588:62;-1:-1:-1;;;10666:18:1;;;10659:32;10708:19;;3282:44:0;10335:398:1;14888:314:0;14941:7;14973:4;-1:-1:-1;;;;;14982:12:0;14965:29;;:66;;;;;15015:16;14998:13;:33;14965:66;14961:234;;;-1:-1:-1;15055:24:0;;14888:314::o;14961:234::-;-1:-1:-1;15391:73:0;;;15141:10;15391:73;;;;5057:25:1;;;;15153:12:0;5098:18:1;;;5091:34;15167:15:0;5141:18:1;;;5134:34;15435:13:0;5184:18:1;;;5177:34;15458:4:0;5227:19:1;;;;5220:61;;;;15391:73:0;;;;;;;;;;5029:19:1;;;;15391:73:0;;;15381:84;;;;;;14888:314::o;7993:1632::-;8124:7;;9058:66;9045:79;;9041:163;;;-1:-1:-1;9157:1:0;;-1:-1:-1;9161:30:0;9141:51;;9041:163;9218:1;:7;;9223:2;9218:7;;:18;;;;;9229:1;:7;;9234:2;9229:7;;9218:18;9214:102;;;-1:-1:-1;9269:1:0;;-1:-1:-1;9273:30:0;9253:51;;9214:102;9430:24;;;9413:14;9430:24;;;;;;;;;5519:25:1;;;5592:4;5580:17;;5560:18;;;5553:45;;;;5614:18;;;5607:34;;;5657:18;;;5650:34;;;9430:24:0;;5491:19:1;;9430:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9430:24:0;;-1:-1:-1;;9430:24:0;;;-1:-1:-1;;;;;;;9469:20:0;;9465:103;;9522:1;9526:29;9506:50;;;;;;;9465:103;9588:6;-1:-1:-1;9596:20:0;;-1:-1:-1;7993:1632:0;;;;;;;;:::o;7035:344::-;7149:7;;-1:-1:-1;;;;;7195:80:0;;7149:7;7302:25;7318:3;7303:18;;;7325:2;7302:25;:::i;:::-;7286:42;;7346:25;7357:4;7363:1;7366;7369;7346:10;:25::i;:::-;7339:32;;;;;;7035:344;;;;;;:::o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:247::-;238:6;291:2;279:9;270:7;266:23;262:32;259:52;;;307:1;304;297:12;259:52;346:9;333:23;365:31;390:5;365:31;:::i;431:251::-;501:6;554:2;542:9;533:7;529:23;525:32;522:52;;;570:1;567;560:12;522:52;602:9;596:16;621:31;646:5;621:31;:::i;687:957::-;771:6;802:2;845;833:9;824:7;820:23;816:32;813:52;;;861:1;858;851:12;813:52;901:9;888:23;930:18;971:2;963:6;960:14;957:34;;;987:1;984;977:12;957:34;1025:6;1014:9;1010:22;1000:32;;1070:7;1063:4;1059:2;1055:13;1051:27;1041:55;;1092:1;1089;1082:12;1041:55;1128:2;1115:16;1150:2;1146;1143:10;1140:36;;;1156:18;;:::i;:::-;1202:2;1199:1;1195:10;1185:20;;1225:28;1249:2;1245;1241:11;1225:28;:::i;:::-;1287:15;;;1318:12;;;;1350:11;;;1380;;;1376:20;;1373:33;-1:-1:-1;1370:53:1;;;1419:1;1416;1409:12;1370:53;1441:1;1432:10;;1451:163;1465:2;1462:1;1459:9;1451:163;;;1522:17;;1510:30;;1483:1;1476:9;;;;;1560:12;;;;1592;;1451:163;;;-1:-1:-1;1633:5:1;687:957;-1:-1:-1;;;;;;;;687:957:1:o;1649:180::-;1705:6;1758:2;1746:9;1737:7;1733:23;1729:32;1726:52;;;1774:1;1771;1764:12;1726:52;1797:26;1813:9;1797:26;:::i;1834:1225::-;1921:6;1952:2;1995;1983:9;1974:7;1970:23;1966:32;1963:52;;;2011:1;2008;2001:12;1963:52;2051:9;2038:23;2080:18;2121:2;2113:6;2110:14;2107:34;;;2137:1;2134;2127:12;2107:34;2160:22;;;;2216:4;2198:16;;;2194:27;2191:47;;;2234:1;2231;2224:12;2191:47;2260:22;;:::i;:::-;2319:2;2306:16;2331:33;2356:7;2331:33;:::i;:::-;2373:22;;2427:28;2443:11;;;2427:28;:::i;:::-;2422:2;2415:5;2411:14;2404:52;2502:2;2498;2494:11;2481:25;2531:2;2521:8;2518:16;2515:36;;;2547:1;2544;2537:12;2515:36;2578:8;2574:2;2570:17;2560:27;;;2625:7;2618:4;2614:2;2610:13;2606:27;2596:55;;2647:1;2644;2637:12;2596:55;2683:2;2670:16;2705:2;2701;2698:10;2695:36;;;2711:18;;:::i;:::-;2753:53;2796:2;2777:13;;-1:-1:-1;;2773:27:1;2769:36;;2753:53;:::i;:::-;2740:66;;2829:2;2822:5;2815:17;2869:7;2864:2;2859;2855;2851:11;2847:20;2844:33;2841:53;;;2890:1;2887;2880:12;2841:53;2945:2;2940;2936;2932:11;2927:2;2920:5;2916:14;2903:45;2989:1;2968:14;;;2964:23;;;2957:34;;;;3018:2;3007:14;;3000:29;-1:-1:-1;3011:5:1;1834:1225;-1:-1:-1;;;1834:1225:1:o;3064:180::-;3123:6;3176:2;3164:9;3155:7;3151:23;3147:32;3144:52;;;3192:1;3189;3182:12;3144:52;-1:-1:-1;3215:23:1;;3064:180;-1:-1:-1;3064:180:1:o;3854:387::-;-1:-1:-1;;;;;4111:15:1;;;4093:34;;4163:15;;;;4158:2;4143:18;;4136:43;4227:6;4215:19;;;4210:2;4195:18;;4188:47;4043:2;4028:18;;3854:387::o;6048:338::-;6250:2;6232:21;;;6289:2;6269:18;;;6262:30;-1:-1:-1;;;6323:2:1;6308:18;;6301:44;6377:2;6362:18;;6048:338::o;7505:340::-;7707:2;7689:21;;;7746:2;7726:18;;;7719:30;-1:-1:-1;;;7780:2:1;7765:18;;7758:46;7836:2;7821:18;;7505:340::o;7850:338::-;8052:2;8034:21;;;8091:2;8071:18;;;8064:30;-1:-1:-1;;;8125:2:1;8110:18;;8103:44;8179:2;8164:18;;7850:338::o;11432:340::-;11634:2;11616:21;;;11673:2;11653:18;;;11646:30;-1:-1:-1;;;11707:2:1;11692:18;;11685:46;11763:2;11748:18;;11432:340::o;11777:356::-;11979:2;11961:21;;;11998:18;;;11991:30;12057:34;12052:2;12037:18;;12030:62;12124:2;12109:18;;11777:356::o;12855:253::-;12927:2;12921:9;12969:4;12957:17;;13004:18;12989:34;;13025:22;;;12986:62;12983:88;;;13051:18;;:::i;:::-;13087:2;13080:22;12855:253;:::o;13113:275::-;13184:2;13178:9;13249:2;13230:13;;-1:-1:-1;;13226:27:1;13214:40;;13284:18;13269:34;;13305:22;;;13266:62;13263:88;;;13331:18;;:::i;:::-;13367:2;13360:22;13113:275;;-1:-1:-1;13113:275:1:o;13393:224::-;13432:3;13460:6;13493:2;13490:1;13486:10;13523:2;13520:1;13516:10;13554:3;13550:2;13546:12;13541:3;13538:21;13535:47;;;13562:18;;:::i;:::-;13598:13;;13393:224;-1:-1:-1;;;;13393:224:1:o;13622:128::-;13662:3;13693:1;13689:6;13686:1;13683:13;13680:39;;;13699:18;;:::i;:::-;-1:-1:-1;13735:9:1;;13622:128::o;13755:168::-;13795:7;13861:1;13857;13853:6;13849:14;13846:1;13843:21;13838:1;13831:9;13824:17;13820:45;13817:71;;;13868:18;;:::i;:::-;-1:-1:-1;13908:9:1;;13755:168::o;13928:197::-;13966:3;13994:6;14035:2;14028:5;14024:14;14062:2;14053:7;14050:15;14047:41;;;14068:18;;:::i;:::-;14117:1;14104:15;;13928:197;-1:-1:-1;;;13928:197:1:o;14130:135::-;14169:3;-1:-1:-1;;14190:17:1;;14187:43;;;14210:18;;:::i;:::-;-1:-1:-1;14257:1:1;14246:13;;14130:135::o;14270:127::-;14331:10;14326:3;14322:20;14319:1;14312:31;14362:4;14359:1;14352:15;14386:4;14383:1;14376:15;14402:127;14463:10;14458:3;14454:20;14451:1;14444:31;14494:4;14491:1;14484:15;14518:4;14515:1;14508:15;14534:127;14595:10;14590:3;14586:20;14583:1;14576:31;14626:4;14623:1;14616:15;14650:4;14647:1;14640:15;14666:127;14727:10;14722:3;14718:20;14715:1;14708:31;14758:4;14755:1;14748:15;14782:4;14779:1;14772:15;14798:131;-1:-1:-1;;;;;14873:31:1;;14863:42;;14853:70;;14919:1;14916;14909:12
Swarm Source
ipfs://ddc4766344057dd6c91994402b051725a7b58ce6e69f08908766eba023932c9a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,392.44 | 0.396 | $1,343.4 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.