Overview
ETH Balance
0.00276732 ETH
Eth Value
$8.58 (@ $3,099.78/ETH)More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 572 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Claim Rewards | 16888163 | 475 days ago | IN | 0 ETH | 0.00030473 | ||||
Claim Rewards | 16293095 | 558 days ago | IN | 0 ETH | 0.00058299 | ||||
Claim Rewards | 16290778 | 558 days ago | IN | 0 ETH | 0.00047827 | ||||
Claim Rewards | 16290761 | 558 days ago | IN | 0 ETH | 0.00052415 | ||||
Claim Rewards | 16286296 | 559 days ago | IN | 0 ETH | 0.00055675 | ||||
Claim Rewards | 16286286 | 559 days ago | IN | 0 ETH | 0.00053892 | ||||
Claim Rewards | 16281521 | 560 days ago | IN | 0 ETH | 0.00041523 | ||||
Set Enabled | 16280431 | 560 days ago | IN | 0 ETH | 0.00045186 | ||||
Claim Rewards | 16279677 | 560 days ago | IN | 0 ETH | 0.00062657 | ||||
Claim Rewards | 16279575 | 560 days ago | IN | 0 ETH | 0.00196547 | ||||
Claim Rewards | 16279522 | 560 days ago | IN | 0 ETH | 0.00068076 | ||||
Claim Rewards | 16279514 | 560 days ago | IN | 0 ETH | 0.00075831 | ||||
Claim Rewards | 16279482 | 560 days ago | IN | 0 ETH | 0.0014924 | ||||
Claim Rewards | 16279460 | 560 days ago | IN | 0 ETH | 0.0025936 | ||||
Claim Rewards | 16279346 | 560 days ago | IN | 0 ETH | 0.00053993 | ||||
Claim Rewards | 16279342 | 560 days ago | IN | 0 ETH | 0.00119537 | ||||
Claim Rewards | 16279234 | 560 days ago | IN | 0 ETH | 0.00154475 | ||||
Claim Rewards | 16279225 | 560 days ago | IN | 0 ETH | 0.00134553 | ||||
Claim Rewards | 16279132 | 560 days ago | IN | 0 ETH | 0.00128577 | ||||
Claim Rewards | 16279067 | 560 days ago | IN | 0 ETH | 0.00108067 | ||||
Claim Rewards | 16279065 | 560 days ago | IN | 0 ETH | 0.00108344 | ||||
Claim Rewards | 16279063 | 560 days ago | IN | 0 ETH | 0.00207848 | ||||
Claim Rewards | 16279030 | 560 days ago | IN | 0 ETH | 0.00089043 | ||||
Claim Rewards | 16279028 | 560 days ago | IN | 0 ETH | 0.002199 | ||||
Claim Rewards | 16279028 | 560 days ago | IN | 0 ETH | 0.00084071 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | Value | ||
---|---|---|---|---|---|---|
16279575 | 560 days ago | 0.017 ETH | ||||
16279482 | 560 days ago | 0.017 ETH | ||||
16279460 | 560 days ago | 0.034 ETH | ||||
16279342 | 560 days ago | 0.0085 ETH | ||||
16279234 | 560 days ago | 0.0085 ETH | ||||
16279225 | 560 days ago | 0.0085 ETH | ||||
16279132 | 560 days ago | 0.0085 ETH | ||||
16279063 | 560 days ago | 0.0085 ETH | ||||
16279028 | 560 days ago | 0.017 ETH | ||||
16279027 | 560 days ago | 0.017 ETH | ||||
16278990 | 560 days ago | 0.017 ETH | ||||
16278936 | 560 days ago | 0.0085 ETH | ||||
16278899 | 560 days ago | 0.0085 ETH | ||||
16278895 | 560 days ago | 0.0085 ETH | ||||
16278844 | 560 days ago | 0.0085 ETH | ||||
16278834 | 560 days ago | 0.017 ETH | ||||
16278829 | 560 days ago | 0.0085 ETH | ||||
16278793 | 560 days ago | 0.0425 ETH | ||||
16278784 | 560 days ago | 0.0085 ETH | ||||
16278550 | 560 days ago | 0.017 ETH | ||||
16278454 | 560 days ago | 0.0085 ETH | ||||
16278401 | 560 days ago | 0.0935 ETH | ||||
16278389 | 560 days ago | 0.017 ETH | ||||
16278378 | 560 days ago | 0.0085 ETH | ||||
16278344 | 560 days ago | 0.0085 ETH |
Loading...
Loading
Contract Name:
CubaseRewardsV2
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.9; import "./Ownable.sol"; import "./IERC721.sol"; import "./IERC721Receiver.sol"; import "./Address.sol"; import "./IERC165.sol"; import "./ReentrancyGuard.sol"; interface ICubaseV1{ function tokens(uint256) external view returns (bool); } contract CubaseRewardsV2 is Ownable, ReentrancyGuard { using Address for address; IERC721 public COLLECTION; ICubaseV1 public REWARDS1; uint256 public rewardAmount = 0.0085 ether; bool public isEnabled; mapping(uint256 => bool) public tokens; constructor() Ownable() {} receive() external payable {} event claimedToken(uint256 tokenId); function claimRewards (uint256[] memory tokenIds) external payable nonReentrant { require(isEnabled, 'Faucet is currently disabled'); require(COLLECTION.balanceOf(msg.sender) > 0, 'Sorry, you are not eligible for rewards'); require(address(this).balance > rewardAmount * tokenIds.length, 'Not enough cookies in the Jar'); require(tokenIds.length > 0, 'No Tokens found'); uint256 tokenBalance = tokenIds.length; for (uint256 index = 0; index < tokenIds.length; ++index) { uint256 tokenId = tokenIds[index]; if (tokens[tokenId] == true) { tokenBalance -= 1; } else if(REWARDS1.tokens(tokenId)) { tokenBalance -= 1; } else { require(COLLECTION.ownerOf(tokenId) == msg.sender, 'Not the token owner'); emit claimedToken(tokenId); tokens[tokenId] = true; } } uint256 rewardTotal = tokenBalance * rewardAmount; (bool hs, ) = payable(msg.sender).call{value: rewardTotal}(""); require(hs, "Failed to Process Rewards"); } // nonpayable - admin function setRewardAmount(uint256 _rewardVal) external onlyOwner{ rewardAmount = _rewardVal; } function setEnabled(bool newEnabled) external onlyOwner{ isEnabled = newEnabled; } function setCollection (IERC721 _collection) external onlyOwner { COLLECTION = _collection; } function setRewards1 (ICubaseV1 _rewards1) external onlyOwner { REWARDS1 = _rewards1; } function withdraw() external onlyOwner { uint256 totalBalance = address(this).balance; require(totalBalance > 0, "no funds available"); _sendValue(payable(owner()), totalBalance, gasleft()); } // internal function _sendValue(address payable recipient, uint256 amount, uint256 gasLimit) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{gas: gasLimit, value: amount}(""); require(success, "Address: unable to send value, recipient may have reverted"); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.8.0) (utils/Address.sol) pragma solidity ^0.8.1; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== * * [IMPORTANT] * ==== * You shouldn't rely on `isContract` to protect against flash loan attacks! * * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract * constructor. * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize/address.code.length, which returns 0 // for contracts in construction, since the code is only stored at the end // of the constructor execution. return account.code.length > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{value: amount}(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain `call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); (bool success, bytes memory returndata) = target.call{value: value}(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall( address target, bytes memory data, string memory errorMessage ) internal view returns (bytes memory) { (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } /** * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract. * * _Available since v4.8._ */ function verifyCallResultFromTarget( address target, bool success, bytes memory returndata, string memory errorMessage ) internal view returns (bytes memory) { if (success) { if (returndata.length == 0) { // only check isContract if the call was successful and the return data is empty // otherwise we already know that it was a contract require(isContract(target), "Address: call to non-contract"); } return returndata; } else { _revert(returndata, errorMessage); } } /** * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the * revert reason or using the provided one. * * _Available since v4.3._ */ function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal pure returns (bytes memory) { if (success) { return returndata; } else { _revert(returndata, errorMessage); } } function _revert(bytes memory returndata, string memory errorMessage) private pure { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly /// @solidity memory-safe-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/IERC721.sol) pragma solidity ^0.8.0; import "./IERC165.sol"; /** * @dev Required interface of an ERC721 compliant contract. */ interface IERC721 is IERC165 { /** * @dev Emitted when `tokenId` token is transferred from `from` to `to`. */ event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. */ event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets. */ event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /** * @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`. * * 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; /** * @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 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: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 * or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must * understand this adds an external call which potentially creates a reentrancy vulnerability. * * 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 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 the account approved for `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function getApproved(uint256 tokenId) external view returns (address operator); /** * @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); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/IERC721Receiver.sol) pragma solidity ^0.8.0; /** * @title ERC721 token receiver interface * @dev Interface for any contract that wants to support safeTransfers * from ERC721 asset contracts. */ interface IERC721Receiver { /** * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} * by `operator` from `from`, this function is called. * * It must return its Solidity selector to confirm the token transfer. * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. * * The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`. */ function onERC721Received( address operator, address from, uint256 tokenId, bytes calldata data ) external returns (bytes4); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) pragma solidity ^0.8.0; import "./Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { 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); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (security/ReentrancyGuard.sol) pragma solidity ^0.8.0; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { _nonReentrantBefore(); _; _nonReentrantAfter(); } function _nonReentrantBefore() private { // On the first call to nonReentrant, _notEntered will be true require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; } function _nonReentrantAfter() private { // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"claimedToken","type":"event"},{"inputs":[],"name":"COLLECTION","outputs":[{"internalType":"contract IERC721","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REWARDS1","outputs":[{"internalType":"contract ICubaseV1","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"claimRewards","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"isEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC721","name":"_collection","type":"address"}],"name":"setCollection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newEnabled","type":"bool"}],"name":"setEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rewardVal","type":"uint256"}],"name":"setRewardAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ICubaseV1","name":"_rewards1","type":"address"}],"name":"setRewards1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052661e32b47897400060045534801561001b57600080fd5b5061003861002d61004460201b60201c565b61004c60201b60201c565b60018081905550610110565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611a828061011f6000396000f3fe6080604052600436106100e15760003560e01c8063715018a61161007f578063981c1a2e11610059578063981c1a2e14610272578063a8a65a781461029b578063f2fde38b146102c4578063f7b2a7be146102ed576100e8565b8063715018a614610207578063768b5fd51461021e5780638da5cb5b14610247576100e8565b80635eac6239116100bb5780635eac62391461016a5780635eee91c014610186578063697b2365146101b15780636aa633b6146101dc576100e8565b8063328d8f72146100ed5780633ccfd60b146101165780634f64b2be1461012d576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610114600480360381019061010f9190610db2565b610318565b005b34801561012257600080fd5b5061012b61033d565b005b34801561013957600080fd5b50610154600480360381019061014f9190610e15565b6103a2565b6040516101619190610e51565b60405180910390f35b610184600480360381019061017f9190610fc5565b6103c2565b005b34801561019257600080fd5b5061019b6108fe565b6040516101a8919061108d565b60405180910390f35b3480156101bd57600080fd5b506101c6610924565b6040516101d391906110c9565b60405180910390f35b3480156101e857600080fd5b506101f161094a565b6040516101fe9190610e51565b60405180910390f35b34801561021357600080fd5b5061021c61095d565b005b34801561022a57600080fd5b5061024560048036038101906102409190611134565b610971565b005b34801561025357600080fd5b5061025c6109bd565b6040516102699190611170565b60405180910390f35b34801561027e57600080fd5b50610299600480360381019061029491906111c9565b6109e6565b005b3480156102a757600080fd5b506102c260048036038101906102bd9190610e15565b610a32565b005b3480156102d057600080fd5b506102eb60048036038101906102e69190611222565b610a44565b005b3480156102f957600080fd5b50610302610ac7565b60405161030f919061125e565b60405180910390f35b610320610acd565b80600560006101000a81548160ff02191690831515021790555050565b610345610acd565b60004790506000811161038d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610384906112d6565b60405180910390fd5b61039f6103986109bd565b825a610b4b565b50565b60066020528060005260406000206000915054906101000a900460ff1681565b6103ca610c42565b600560009054906101000a900460ff16610419576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041090611342565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016104769190611170565b602060405180830381865afa158015610493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b79190611377565b116104f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ee90611416565b60405180910390fd5b80516004546105069190611465565b4711610547576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053e9061150b565b60405180910390fd5b600081511161058b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058290611577565b60405180910390fd5b60008151905060005b82518110156108315760008382815181106105b2576105b1611597565b5b60200260200101519050600115156006600083815260200190815260200160002060009054906101000a900460ff161515036105fc576001836105f591906115c6565b925061081f565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634f64b2be826040518263ffffffff1660e01b8152600401610657919061125e565b602060405180830381865afa158015610674573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610698919061160f565b156106b1576001836106aa91906115c6565b925061081e565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b8152600401610723919061125e565b602060405180830381865afa158015610740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107649190611651565b73ffffffffffffffffffffffffffffffffffffffff16146107ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b1906116ca565b60405180910390fd5b7f1aec16d761114887cf0180ed13aa34ea6e72fe8c5ce3f3987abc923c55f38219816040516107e9919061125e565b60405180910390a160016006600083815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b508061082a906116ea565b9050610594565b506000600454826108429190611465565b905060003373ffffffffffffffffffffffffffffffffffffffff168260405161086a90611763565b60006040518083038185875af1925050503d80600081146108a7576040519150601f19603f3d011682016040523d82523d6000602084013e6108ac565b606091505b50509050806108f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e7906117c4565b60405180910390fd5b5050506108fb610c91565b50565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900460ff1681565b610965610acd565b61096f6000610c9a565b565b610979610acd565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6109ee610acd565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610a3a610acd565b8060048190555050565b610a4c610acd565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab290611856565b60405180910390fd5b610ac481610c9a565b50565b60045481565b610ad5610d5e565b73ffffffffffffffffffffffffffffffffffffffff16610af36109bd565b73ffffffffffffffffffffffffffffffffffffffff1614610b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b40906118c2565b60405180910390fd5b565b81471015610b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b859061192e565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff168284604051610bb590611763565b600060405180830381858888f193505050503d8060008114610bf3576040519150601f19603f3d011682016040523d82523d6000602084013e610bf8565b606091505b5050905080610c3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c33906119c0565b60405180910390fd5b50505050565b600260015403610c87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7e90611a2c565b60405180910390fd5b6002600181905550565b60018081905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000604051905090565b600080fd5b600080fd5b60008115159050919050565b610d8f81610d7a565b8114610d9a57600080fd5b50565b600081359050610dac81610d86565b92915050565b600060208284031215610dc857610dc7610d70565b5b6000610dd684828501610d9d565b91505092915050565b6000819050919050565b610df281610ddf565b8114610dfd57600080fd5b50565b600081359050610e0f81610de9565b92915050565b600060208284031215610e2b57610e2a610d70565b5b6000610e3984828501610e00565b91505092915050565b610e4b81610d7a565b82525050565b6000602082019050610e666000830184610e42565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610eba82610e71565b810181811067ffffffffffffffff82111715610ed957610ed8610e82565b5b80604052505050565b6000610eec610d66565b9050610ef88282610eb1565b919050565b600067ffffffffffffffff821115610f1857610f17610e82565b5b602082029050602081019050919050565b600080fd5b6000610f41610f3c84610efd565b610ee2565b90508083825260208201905060208402830185811115610f6457610f63610f29565b5b835b81811015610f8d5780610f798882610e00565b845260208401935050602081019050610f66565b5050509392505050565b600082601f830112610fac57610fab610e6c565b5b8135610fbc848260208601610f2e565b91505092915050565b600060208284031215610fdb57610fda610d70565b5b600082013567ffffffffffffffff811115610ff957610ff8610d75565b5b61100584828501610f97565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061105361104e6110498461100e565b61102e565b61100e565b9050919050565b600061106582611038565b9050919050565b60006110778261105a565b9050919050565b6110878161106c565b82525050565b60006020820190506110a2600083018461107e565b92915050565b60006110b38261105a565b9050919050565b6110c3816110a8565b82525050565b60006020820190506110de60008301846110ba565b92915050565b60006110ef8261100e565b9050919050565b6000611101826110e4565b9050919050565b611111816110f6565b811461111c57600080fd5b50565b60008135905061112e81611108565b92915050565b60006020828403121561114a57611149610d70565b5b60006111588482850161111f565b91505092915050565b61116a816110e4565b82525050565b60006020820190506111856000830184611161565b92915050565b6000611196826110e4565b9050919050565b6111a68161118b565b81146111b157600080fd5b50565b6000813590506111c38161119d565b92915050565b6000602082840312156111df576111de610d70565b5b60006111ed848285016111b4565b91505092915050565b6111ff816110e4565b811461120a57600080fd5b50565b60008135905061121c816111f6565b92915050565b60006020828403121561123857611237610d70565b5b60006112468482850161120d565b91505092915050565b61125881610ddf565b82525050565b6000602082019050611273600083018461124f565b92915050565b600082825260208201905092915050565b7f6e6f2066756e647320617661696c61626c650000000000000000000000000000600082015250565b60006112c0601283611279565b91506112cb8261128a565b602082019050919050565b600060208201905081810360008301526112ef816112b3565b9050919050565b7f4661756365742069732063757272656e746c792064697361626c656400000000600082015250565b600061132c601c83611279565b9150611337826112f6565b602082019050919050565b6000602082019050818103600083015261135b8161131f565b9050919050565b60008151905061137181610de9565b92915050565b60006020828403121561138d5761138c610d70565b5b600061139b84828501611362565b91505092915050565b7f536f7272792c20796f7520617265206e6f7420656c696769626c6520666f722060008201527f7265776172647300000000000000000000000000000000000000000000000000602082015250565b6000611400602783611279565b915061140b826113a4565b604082019050919050565b6000602082019050818103600083015261142f816113f3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061147082610ddf565b915061147b83610ddf565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156114b4576114b3611436565b5b828202905092915050565b7f4e6f7420656e6f75676820636f6f6b69657320696e20746865204a6172000000600082015250565b60006114f5601d83611279565b9150611500826114bf565b602082019050919050565b60006020820190508181036000830152611524816114e8565b9050919050565b7f4e6f20546f6b656e7320666f756e640000000000000000000000000000000000600082015250565b6000611561600f83611279565b915061156c8261152b565b602082019050919050565b6000602082019050818103600083015261159081611554565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006115d182610ddf565b91506115dc83610ddf565b92508282039050818111156115f4576115f3611436565b5b92915050565b60008151905061160981610d86565b92915050565b60006020828403121561162557611624610d70565b5b6000611633848285016115fa565b91505092915050565b60008151905061164b816111f6565b92915050565b60006020828403121561166757611666610d70565b5b60006116758482850161163c565b91505092915050565b7f4e6f742074686520746f6b656e206f776e657200000000000000000000000000600082015250565b60006116b4601383611279565b91506116bf8261167e565b602082019050919050565b600060208201905081810360008301526116e3816116a7565b9050919050565b60006116f582610ddf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361172757611726611436565b5b600182019050919050565b600081905092915050565b50565b600061174d600083611732565b91506117588261173d565b600082019050919050565b600061176e82611740565b9150819050919050565b7f4661696c656420746f2050726f63657373205265776172647300000000000000600082015250565b60006117ae601983611279565b91506117b982611778565b602082019050919050565b600060208201905081810360008301526117dd816117a1565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611840602683611279565b915061184b826117e4565b604082019050919050565b6000602082019050818103600083015261186f81611833565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006118ac602083611279565b91506118b782611876565b602082019050919050565b600060208201905081810360008301526118db8161189f565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000611918601d83611279565b9150611923826118e2565b602082019050919050565b600060208201905081810360008301526119478161190b565b9050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b60006119aa603a83611279565b91506119b58261194e565b604082019050919050565b600060208201905081810360008301526119d98161199d565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000611a16601f83611279565b9150611a21826119e0565b602082019050919050565b60006020820190508181036000830152611a4581611a09565b905091905056fea26469706673582212204ea4074df89673e26e4b9913a0ceb0151e817f37cef992785dac3e03d88e0b0e64736f6c63430008100033
Deployed Bytecode
0x6080604052600436106100e15760003560e01c8063715018a61161007f578063981c1a2e11610059578063981c1a2e14610272578063a8a65a781461029b578063f2fde38b146102c4578063f7b2a7be146102ed576100e8565b8063715018a614610207578063768b5fd51461021e5780638da5cb5b14610247576100e8565b80635eac6239116100bb5780635eac62391461016a5780635eee91c014610186578063697b2365146101b15780636aa633b6146101dc576100e8565b8063328d8f72146100ed5780633ccfd60b146101165780634f64b2be1461012d576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610114600480360381019061010f9190610db2565b610318565b005b34801561012257600080fd5b5061012b61033d565b005b34801561013957600080fd5b50610154600480360381019061014f9190610e15565b6103a2565b6040516101619190610e51565b60405180910390f35b610184600480360381019061017f9190610fc5565b6103c2565b005b34801561019257600080fd5b5061019b6108fe565b6040516101a8919061108d565b60405180910390f35b3480156101bd57600080fd5b506101c6610924565b6040516101d391906110c9565b60405180910390f35b3480156101e857600080fd5b506101f161094a565b6040516101fe9190610e51565b60405180910390f35b34801561021357600080fd5b5061021c61095d565b005b34801561022a57600080fd5b5061024560048036038101906102409190611134565b610971565b005b34801561025357600080fd5b5061025c6109bd565b6040516102699190611170565b60405180910390f35b34801561027e57600080fd5b50610299600480360381019061029491906111c9565b6109e6565b005b3480156102a757600080fd5b506102c260048036038101906102bd9190610e15565b610a32565b005b3480156102d057600080fd5b506102eb60048036038101906102e69190611222565b610a44565b005b3480156102f957600080fd5b50610302610ac7565b60405161030f919061125e565b60405180910390f35b610320610acd565b80600560006101000a81548160ff02191690831515021790555050565b610345610acd565b60004790506000811161038d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610384906112d6565b60405180910390fd5b61039f6103986109bd565b825a610b4b565b50565b60066020528060005260406000206000915054906101000a900460ff1681565b6103ca610c42565b600560009054906101000a900460ff16610419576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041090611342565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016104769190611170565b602060405180830381865afa158015610493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b79190611377565b116104f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ee90611416565b60405180910390fd5b80516004546105069190611465565b4711610547576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053e9061150b565b60405180910390fd5b600081511161058b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058290611577565b60405180910390fd5b60008151905060005b82518110156108315760008382815181106105b2576105b1611597565b5b60200260200101519050600115156006600083815260200190815260200160002060009054906101000a900460ff161515036105fc576001836105f591906115c6565b925061081f565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634f64b2be826040518263ffffffff1660e01b8152600401610657919061125e565b602060405180830381865afa158015610674573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610698919061160f565b156106b1576001836106aa91906115c6565b925061081e565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b8152600401610723919061125e565b602060405180830381865afa158015610740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107649190611651565b73ffffffffffffffffffffffffffffffffffffffff16146107ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b1906116ca565b60405180910390fd5b7f1aec16d761114887cf0180ed13aa34ea6e72fe8c5ce3f3987abc923c55f38219816040516107e9919061125e565b60405180910390a160016006600083815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b508061082a906116ea565b9050610594565b506000600454826108429190611465565b905060003373ffffffffffffffffffffffffffffffffffffffff168260405161086a90611763565b60006040518083038185875af1925050503d80600081146108a7576040519150601f19603f3d011682016040523d82523d6000602084013e6108ac565b606091505b50509050806108f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e7906117c4565b60405180910390fd5b5050506108fb610c91565b50565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900460ff1681565b610965610acd565b61096f6000610c9a565b565b610979610acd565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6109ee610acd565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610a3a610acd565b8060048190555050565b610a4c610acd565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab290611856565b60405180910390fd5b610ac481610c9a565b50565b60045481565b610ad5610d5e565b73ffffffffffffffffffffffffffffffffffffffff16610af36109bd565b73ffffffffffffffffffffffffffffffffffffffff1614610b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b40906118c2565b60405180910390fd5b565b81471015610b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b859061192e565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff168284604051610bb590611763565b600060405180830381858888f193505050503d8060008114610bf3576040519150601f19603f3d011682016040523d82523d6000602084013e610bf8565b606091505b5050905080610c3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c33906119c0565b60405180910390fd5b50505050565b600260015403610c87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7e90611a2c565b60405180910390fd5b6002600181905550565b60018081905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000604051905090565b600080fd5b600080fd5b60008115159050919050565b610d8f81610d7a565b8114610d9a57600080fd5b50565b600081359050610dac81610d86565b92915050565b600060208284031215610dc857610dc7610d70565b5b6000610dd684828501610d9d565b91505092915050565b6000819050919050565b610df281610ddf565b8114610dfd57600080fd5b50565b600081359050610e0f81610de9565b92915050565b600060208284031215610e2b57610e2a610d70565b5b6000610e3984828501610e00565b91505092915050565b610e4b81610d7a565b82525050565b6000602082019050610e666000830184610e42565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610eba82610e71565b810181811067ffffffffffffffff82111715610ed957610ed8610e82565b5b80604052505050565b6000610eec610d66565b9050610ef88282610eb1565b919050565b600067ffffffffffffffff821115610f1857610f17610e82565b5b602082029050602081019050919050565b600080fd5b6000610f41610f3c84610efd565b610ee2565b90508083825260208201905060208402830185811115610f6457610f63610f29565b5b835b81811015610f8d5780610f798882610e00565b845260208401935050602081019050610f66565b5050509392505050565b600082601f830112610fac57610fab610e6c565b5b8135610fbc848260208601610f2e565b91505092915050565b600060208284031215610fdb57610fda610d70565b5b600082013567ffffffffffffffff811115610ff957610ff8610d75565b5b61100584828501610f97565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061105361104e6110498461100e565b61102e565b61100e565b9050919050565b600061106582611038565b9050919050565b60006110778261105a565b9050919050565b6110878161106c565b82525050565b60006020820190506110a2600083018461107e565b92915050565b60006110b38261105a565b9050919050565b6110c3816110a8565b82525050565b60006020820190506110de60008301846110ba565b92915050565b60006110ef8261100e565b9050919050565b6000611101826110e4565b9050919050565b611111816110f6565b811461111c57600080fd5b50565b60008135905061112e81611108565b92915050565b60006020828403121561114a57611149610d70565b5b60006111588482850161111f565b91505092915050565b61116a816110e4565b82525050565b60006020820190506111856000830184611161565b92915050565b6000611196826110e4565b9050919050565b6111a68161118b565b81146111b157600080fd5b50565b6000813590506111c38161119d565b92915050565b6000602082840312156111df576111de610d70565b5b60006111ed848285016111b4565b91505092915050565b6111ff816110e4565b811461120a57600080fd5b50565b60008135905061121c816111f6565b92915050565b60006020828403121561123857611237610d70565b5b60006112468482850161120d565b91505092915050565b61125881610ddf565b82525050565b6000602082019050611273600083018461124f565b92915050565b600082825260208201905092915050565b7f6e6f2066756e647320617661696c61626c650000000000000000000000000000600082015250565b60006112c0601283611279565b91506112cb8261128a565b602082019050919050565b600060208201905081810360008301526112ef816112b3565b9050919050565b7f4661756365742069732063757272656e746c792064697361626c656400000000600082015250565b600061132c601c83611279565b9150611337826112f6565b602082019050919050565b6000602082019050818103600083015261135b8161131f565b9050919050565b60008151905061137181610de9565b92915050565b60006020828403121561138d5761138c610d70565b5b600061139b84828501611362565b91505092915050565b7f536f7272792c20796f7520617265206e6f7420656c696769626c6520666f722060008201527f7265776172647300000000000000000000000000000000000000000000000000602082015250565b6000611400602783611279565b915061140b826113a4565b604082019050919050565b6000602082019050818103600083015261142f816113f3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061147082610ddf565b915061147b83610ddf565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156114b4576114b3611436565b5b828202905092915050565b7f4e6f7420656e6f75676820636f6f6b69657320696e20746865204a6172000000600082015250565b60006114f5601d83611279565b9150611500826114bf565b602082019050919050565b60006020820190508181036000830152611524816114e8565b9050919050565b7f4e6f20546f6b656e7320666f756e640000000000000000000000000000000000600082015250565b6000611561600f83611279565b915061156c8261152b565b602082019050919050565b6000602082019050818103600083015261159081611554565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006115d182610ddf565b91506115dc83610ddf565b92508282039050818111156115f4576115f3611436565b5b92915050565b60008151905061160981610d86565b92915050565b60006020828403121561162557611624610d70565b5b6000611633848285016115fa565b91505092915050565b60008151905061164b816111f6565b92915050565b60006020828403121561166757611666610d70565b5b60006116758482850161163c565b91505092915050565b7f4e6f742074686520746f6b656e206f776e657200000000000000000000000000600082015250565b60006116b4601383611279565b91506116bf8261167e565b602082019050919050565b600060208201905081810360008301526116e3816116a7565b9050919050565b60006116f582610ddf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361172757611726611436565b5b600182019050919050565b600081905092915050565b50565b600061174d600083611732565b91506117588261173d565b600082019050919050565b600061176e82611740565b9150819050919050565b7f4661696c656420746f2050726f63657373205265776172647300000000000000600082015250565b60006117ae601983611279565b91506117b982611778565b602082019050919050565b600060208201905081810360008301526117dd816117a1565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611840602683611279565b915061184b826117e4565b604082019050919050565b6000602082019050818103600083015261186f81611833565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006118ac602083611279565b91506118b782611876565b602082019050919050565b600060208201905081810360008301526118db8161189f565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000611918601d83611279565b9150611923826118e2565b602082019050919050565b600060208201905081810360008301526119478161190b565b9050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b60006119aa603a83611279565b91506119b58261194e565b604082019050919050565b600060208201905081810360008301526119d98161199d565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000611a16601f83611279565b9150611a21826119e0565b602082019050919050565b60006020820190508181036000830152611a4581611a09565b905091905056fea26469706673582212204ea4074df89673e26e4b9913a0ceb0151e817f37cef992785dac3e03d88e0b0e64736f6c63430008100033
Deployed Bytecode Sourcemap
315:2545:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1981:90;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2287:210;;;;;;;;;;;;;:::i;:::-;;540:38;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;696:1143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;435:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;405;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;514:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1884:103:6;;;;;;;;;;;;;:::i;:::-;;2077:101:2;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1236:87:6;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2184:95:2;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1874:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2142:201:6;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;467:42:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1981:90;1122:13:6;:11;:13::i;:::-;2055:10:2::1;2043:9;;:22;;;;;;;;;;;;;;;;;;1981:90:::0;:::o;2287:210::-;1122:13:6;:11;:13::i;:::-;2333:20:2::1;2356:21;2333:44;;2407:1;2392:12;:16;2384:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;2438:53;2457:7;:5;:7::i;:::-;2467:12;2481:9;2438:10;:53::i;:::-;2326:171;2287:210::o:0;540:38::-;;;;;;;;;;;;;;;;;;;;;;:::o;696:1143::-;2296:21:7;:19;:21::i;:::-;793:9:2::1;;;;;;;;;;;785:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;887:1;852:10;;;;;;;;;;;:20;;;873:10;852:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:36;844:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;988:8;:15;973:12;;:30;;;;:::i;:::-;949:21;:54;941:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;1072:1;1054:8;:15;:19;1046:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;1104:20;1127:8;:15;1104:38;;1164:13;1159:493;1191:8;:15;1183:5;:23;1159:493;;;1230:15;1248:8;1257:5;1248:15;;;;;;;;:::i;:::-;;;;;;;;1230:33;;1299:4;1280:23;;:6;:15;1287:7;1280:15;;;;;;;;;;;;;;;;;;;;;:23;;::::0;1276:367:::1;;1336:1;1320:17;;;;;:::i;:::-;;;1276:367;;;1374:8;;;;;;;;;;;:15;;;1390:7;1374:24;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1371:272;;;1431:1;1415:17;;;;;:::i;:::-;;;1371:272;;;1517:10;1486:41;;:10;;;;;;;;;;;:18;;;1505:7;1486:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:41;;;1478:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1571:21;1584:7;1571:21;;;;;;:::i;:::-;;;;;;;;1625:4;1607:6;:15;1614:7;1607:15;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;1371:272;1276:367;1217:435;1208:7;;;;:::i;:::-;;;1159:493;;;;1660:19;1697:12;;1682;:27;;;;:::i;:::-;1660:49;;1723:7;1744:10;1736:24;;1768:11;1736:48;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1722:62;;;1801:2;1793:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;776:1063;;;2340:20:7::0;:18;:20::i;:::-;696:1143:2;:::o;435:25::-;;;;;;;;;;;;;:::o;405:::-;;;;;;;;;;;;;:::o;514:21::-;;;;;;;;;;;;;:::o;1884:103:6:-;1122:13;:11;:13::i;:::-;1949:30:::1;1976:1;1949:18;:30::i;:::-;1884:103::o:0;2077:101:2:-;1122:13:6;:11;:13::i;:::-;2161:11:2::1;2148:10;;:24;;;;;;;;;;;;;;;;;;2077:101:::0;:::o;1236:87:6:-;1282:7;1309:6;;;;;;;;;;;1302:13;;1236:87;:::o;2184:95:2:-;1122:13:6;:11;:13::i;:::-;2264:9:2::1;2253:8;;:20;;;;;;;;;;;;;;;;;;2184:95:::0;:::o;1874:101::-;1122:13:6;:11;:13::i;:::-;1959:10:2::1;1944:12;:25;;;;1874:101:::0;:::o;2142:201:6:-;1122:13;:11;:13::i;:::-;2251:1:::1;2231:22;;:8;:22;;::::0;2223:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2307:28;2326:8;2307:18;:28::i;:::-;2142:201:::0;:::o;467:42:2:-;;;;:::o;1401:132:6:-;1476:12;:10;:12::i;:::-;1465:23;;:7;:5;:7::i;:::-;:23;;;1457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1401:132::o;2520:337:2:-;2650:6;2625:21;:31;;2617:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2700:12;2718:9;:14;;2738:8;2755:6;2718:48;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2699:67;;;2781:7;2773:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;2610:247;2520:337;;;:::o;2376:289:7:-;1778:1;2506:7;;:19;2498:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1778:1;2639:7;:18;;;;2376:289::o;2673:213::-;1734:1;2856:7;:22;;;;2673:213::o;2503:191:6:-;2577:16;2596:6;;;;;;;;;;;2577:25;;2622:8;2613:6;;:17;;;;;;;;;;;;;;;;;;2677:8;2646:40;;2667:8;2646:40;;;;;;;;;;;;2566:128;2503:191;:::o;656:98:1:-;709:7;736:10;729:17;;656:98;:::o;7:75:8:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:90;368:7;411:5;404:13;397:21;386:32;;334:90;;;:::o;430:116::-;500:21;515:5;500:21;:::i;:::-;493:5;490:32;480:60;;536:1;533;526:12;480:60;430:116;:::o;552:133::-;595:5;633:6;620:20;611:29;;649:30;673:5;649:30;:::i;:::-;552:133;;;;:::o;691:323::-;747:6;796:2;784:9;775:7;771:23;767:32;764:119;;;802:79;;:::i;:::-;764:119;922:1;947:50;989:7;980:6;969:9;965:22;947:50;:::i;:::-;937:60;;893:114;691:323;;;;:::o;1020:77::-;1057:7;1086:5;1075:16;;1020:77;;;:::o;1103:122::-;1176:24;1194:5;1176:24;:::i;:::-;1169:5;1166:35;1156:63;;1215:1;1212;1205:12;1156:63;1103:122;:::o;1231:139::-;1277:5;1315:6;1302:20;1293:29;;1331:33;1358:5;1331:33;:::i;:::-;1231:139;;;;:::o;1376:329::-;1435:6;1484:2;1472:9;1463:7;1459:23;1455:32;1452:119;;;1490:79;;:::i;:::-;1452:119;1610:1;1635:53;1680:7;1671:6;1660:9;1656:22;1635:53;:::i;:::-;1625:63;;1581:117;1376:329;;;;:::o;1711:109::-;1792:21;1807:5;1792:21;:::i;:::-;1787:3;1780:34;1711:109;;:::o;1826:210::-;1913:4;1951:2;1940:9;1936:18;1928:26;;1964:65;2026:1;2015:9;2011:17;2002:6;1964:65;:::i;:::-;1826:210;;;;:::o;2042:117::-;2151:1;2148;2141:12;2165:102;2206:6;2257:2;2253:7;2248:2;2241:5;2237:14;2233:28;2223:38;;2165:102;;;:::o;2273:180::-;2321:77;2318:1;2311:88;2418:4;2415:1;2408:15;2442:4;2439:1;2432:15;2459:281;2542:27;2564:4;2542:27;:::i;:::-;2534:6;2530:40;2672:6;2660:10;2657:22;2636:18;2624:10;2621:34;2618:62;2615:88;;;2683:18;;:::i;:::-;2615:88;2723:10;2719:2;2712:22;2502:238;2459:281;;:::o;2746:129::-;2780:6;2807:20;;:::i;:::-;2797:30;;2836:33;2864:4;2856:6;2836:33;:::i;:::-;2746:129;;;:::o;2881:311::-;2958:4;3048:18;3040:6;3037:30;3034:56;;;3070:18;;:::i;:::-;3034:56;3120:4;3112:6;3108:17;3100:25;;3180:4;3174;3170:15;3162:23;;2881:311;;;:::o;3198:117::-;3307:1;3304;3297:12;3338:710;3434:5;3459:81;3475:64;3532:6;3475:64;:::i;:::-;3459:81;:::i;:::-;3450:90;;3560:5;3589:6;3582:5;3575:21;3623:4;3616:5;3612:16;3605:23;;3676:4;3668:6;3664:17;3656:6;3652:30;3705:3;3697:6;3694:15;3691:122;;;3724:79;;:::i;:::-;3691:122;3839:6;3822:220;3856:6;3851:3;3848:15;3822:220;;;3931:3;3960:37;3993:3;3981:10;3960:37;:::i;:::-;3955:3;3948:50;4027:4;4022:3;4018:14;4011:21;;3898:144;3882:4;3877:3;3873:14;3866:21;;3822:220;;;3826:21;3440:608;;3338:710;;;;;:::o;4071:370::-;4142:5;4191:3;4184:4;4176:6;4172:17;4168:27;4158:122;;4199:79;;:::i;:::-;4158:122;4316:6;4303:20;4341:94;4431:3;4423:6;4416:4;4408:6;4404:17;4341:94;:::i;:::-;4332:103;;4148:293;4071:370;;;;:::o;4447:539::-;4531:6;4580:2;4568:9;4559:7;4555:23;4551:32;4548:119;;;4586:79;;:::i;:::-;4548:119;4734:1;4723:9;4719:17;4706:31;4764:18;4756:6;4753:30;4750:117;;;4786:79;;:::i;:::-;4750:117;4891:78;4961:7;4952:6;4941:9;4937:22;4891:78;:::i;:::-;4881:88;;4677:302;4447:539;;;;:::o;4992:126::-;5029:7;5069:42;5062:5;5058:54;5047:65;;4992:126;;;:::o;5124:60::-;5152:3;5173:5;5166:12;;5124:60;;;:::o;5190:142::-;5240:9;5273:53;5291:34;5300:24;5318:5;5300:24;:::i;:::-;5291:34;:::i;:::-;5273:53;:::i;:::-;5260:66;;5190:142;;;:::o;5338:126::-;5388:9;5421:37;5452:5;5421:37;:::i;:::-;5408:50;;5338:126;;;:::o;5470:143::-;5537:9;5570:37;5601:5;5570:37;:::i;:::-;5557:50;;5470:143;;;:::o;5619:165::-;5723:54;5771:5;5723:54;:::i;:::-;5718:3;5711:67;5619:165;;:::o;5790:256::-;5900:4;5938:2;5927:9;5923:18;5915:26;;5951:88;6036:1;6025:9;6021:17;6012:6;5951:88;:::i;:::-;5790:256;;;;:::o;6052:141::-;6117:9;6150:37;6181:5;6150:37;:::i;:::-;6137:50;;6052:141;;;:::o;6199:161::-;6301:52;6347:5;6301:52;:::i;:::-;6296:3;6289:65;6199:161;;:::o;6366:252::-;6474:4;6512:2;6501:9;6497:18;6489:26;;6525:86;6608:1;6597:9;6593:17;6584:6;6525:86;:::i;:::-;6366:252;;;;:::o;6624:96::-;6661:7;6690:24;6708:5;6690:24;:::i;:::-;6679:35;;6624:96;;;:::o;6726:111::-;6778:7;6807:24;6825:5;6807:24;:::i;:::-;6796:35;;6726:111;;;:::o;6843:152::-;6931:39;6964:5;6931:39;:::i;:::-;6924:5;6921:50;6911:78;;6985:1;6982;6975:12;6911:78;6843:152;:::o;7001:169::-;7062:5;7100:6;7087:20;7078:29;;7116:48;7158:5;7116:48;:::i;:::-;7001:169;;;;:::o;7176:359::-;7250:6;7299:2;7287:9;7278:7;7274:23;7270:32;7267:119;;;7305:79;;:::i;:::-;7267:119;7425:1;7450:68;7510:7;7501:6;7490:9;7486:22;7450:68;:::i;:::-;7440:78;;7396:132;7176:359;;;;:::o;7541:118::-;7628:24;7646:5;7628:24;:::i;:::-;7623:3;7616:37;7541:118;;:::o;7665:222::-;7758:4;7796:2;7785:9;7781:18;7773:26;;7809:71;7877:1;7866:9;7862:17;7853:6;7809:71;:::i;:::-;7665:222;;;;:::o;7893:113::-;7947:7;7976:24;7994:5;7976:24;:::i;:::-;7965:35;;7893:113;;;:::o;8012:156::-;8102:41;8137:5;8102:41;:::i;:::-;8095:5;8092:52;8082:80;;8158:1;8155;8148:12;8082:80;8012:156;:::o;8174:173::-;8237:5;8275:6;8262:20;8253:29;;8291:50;8335:5;8291:50;:::i;:::-;8174:173;;;;:::o;8353:363::-;8429:6;8478:2;8466:9;8457:7;8453:23;8449:32;8446:119;;;8484:79;;:::i;:::-;8446:119;8604:1;8629:70;8691:7;8682:6;8671:9;8667:22;8629:70;:::i;:::-;8619:80;;8575:134;8353:363;;;;:::o;8722:122::-;8795:24;8813:5;8795:24;:::i;:::-;8788:5;8785:35;8775:63;;8834:1;8831;8824:12;8775:63;8722:122;:::o;8850:139::-;8896:5;8934:6;8921:20;8912:29;;8950:33;8977:5;8950:33;:::i;:::-;8850:139;;;;:::o;8995:329::-;9054:6;9103:2;9091:9;9082:7;9078:23;9074:32;9071:119;;;9109:79;;:::i;:::-;9071:119;9229:1;9254:53;9299:7;9290:6;9279:9;9275:22;9254:53;:::i;:::-;9244:63;;9200:117;8995:329;;;;:::o;9330:118::-;9417:24;9435:5;9417:24;:::i;:::-;9412:3;9405:37;9330:118;;:::o;9454:222::-;9547:4;9585:2;9574:9;9570:18;9562:26;;9598:71;9666:1;9655:9;9651:17;9642:6;9598:71;:::i;:::-;9454:222;;;;:::o;9682:169::-;9766:11;9800:6;9795:3;9788:19;9840:4;9835:3;9831:14;9816:29;;9682:169;;;;:::o;9857:168::-;9997:20;9993:1;9985:6;9981:14;9974:44;9857:168;:::o;10031:366::-;10173:3;10194:67;10258:2;10253:3;10194:67;:::i;:::-;10187:74;;10270:93;10359:3;10270:93;:::i;:::-;10388:2;10383:3;10379:12;10372:19;;10031:366;;;:::o;10403:419::-;10569:4;10607:2;10596:9;10592:18;10584:26;;10656:9;10650:4;10646:20;10642:1;10631:9;10627:17;10620:47;10684:131;10810:4;10684:131;:::i;:::-;10676:139;;10403:419;;;:::o;10828:178::-;10968:30;10964:1;10956:6;10952:14;10945:54;10828:178;:::o;11012:366::-;11154:3;11175:67;11239:2;11234:3;11175:67;:::i;:::-;11168:74;;11251:93;11340:3;11251:93;:::i;:::-;11369:2;11364:3;11360:12;11353:19;;11012:366;;;:::o;11384:419::-;11550:4;11588:2;11577:9;11573:18;11565:26;;11637:9;11631:4;11627:20;11623:1;11612:9;11608:17;11601:47;11665:131;11791:4;11665:131;:::i;:::-;11657:139;;11384:419;;;:::o;11809:143::-;11866:5;11897:6;11891:13;11882:22;;11913:33;11940:5;11913:33;:::i;:::-;11809:143;;;;:::o;11958:351::-;12028:6;12077:2;12065:9;12056:7;12052:23;12048:32;12045:119;;;12083:79;;:::i;:::-;12045:119;12203:1;12228:64;12284:7;12275:6;12264:9;12260:22;12228:64;:::i;:::-;12218:74;;12174:128;11958:351;;;;:::o;12315:226::-;12455:34;12451:1;12443:6;12439:14;12432:58;12524:9;12519:2;12511:6;12507:15;12500:34;12315:226;:::o;12547:366::-;12689:3;12710:67;12774:2;12769:3;12710:67;:::i;:::-;12703:74;;12786:93;12875:3;12786:93;:::i;:::-;12904:2;12899:3;12895:12;12888:19;;12547:366;;;:::o;12919:419::-;13085:4;13123:2;13112:9;13108:18;13100:26;;13172:9;13166:4;13162:20;13158:1;13147:9;13143:17;13136:47;13200:131;13326:4;13200:131;:::i;:::-;13192:139;;12919:419;;;:::o;13344:180::-;13392:77;13389:1;13382:88;13489:4;13486:1;13479:15;13513:4;13510:1;13503:15;13530:348;13570:7;13593:20;13611:1;13593:20;:::i;:::-;13588:25;;13627:20;13645:1;13627:20;:::i;:::-;13622:25;;13815:1;13747:66;13743:74;13740:1;13737:81;13732:1;13725:9;13718:17;13714:105;13711:131;;;13822:18;;:::i;:::-;13711:131;13870:1;13867;13863:9;13852:20;;13530:348;;;;:::o;13884:179::-;14024:31;14020:1;14012:6;14008:14;14001:55;13884:179;:::o;14069:366::-;14211:3;14232:67;14296:2;14291:3;14232:67;:::i;:::-;14225:74;;14308:93;14397:3;14308:93;:::i;:::-;14426:2;14421:3;14417:12;14410:19;;14069:366;;;:::o;14441:419::-;14607:4;14645:2;14634:9;14630:18;14622:26;;14694:9;14688:4;14684:20;14680:1;14669:9;14665:17;14658:47;14722:131;14848:4;14722:131;:::i;:::-;14714:139;;14441:419;;;:::o;14866:165::-;15006:17;15002:1;14994:6;14990:14;14983:41;14866:165;:::o;15037:366::-;15179:3;15200:67;15264:2;15259:3;15200:67;:::i;:::-;15193:74;;15276:93;15365:3;15276:93;:::i;:::-;15394:2;15389:3;15385:12;15378:19;;15037:366;;;:::o;15409:419::-;15575:4;15613:2;15602:9;15598:18;15590:26;;15662:9;15656:4;15652:20;15648:1;15637:9;15633:17;15626:47;15690:131;15816:4;15690:131;:::i;:::-;15682:139;;15409:419;;;:::o;15834:180::-;15882:77;15879:1;15872:88;15979:4;15976:1;15969:15;16003:4;16000:1;15993:15;16020:194;16060:4;16080:20;16098:1;16080:20;:::i;:::-;16075:25;;16114:20;16132:1;16114:20;:::i;:::-;16109:25;;16158:1;16155;16151:9;16143:17;;16182:1;16176:4;16173:11;16170:37;;;16187:18;;:::i;:::-;16170:37;16020:194;;;;:::o;16220:137::-;16274:5;16305:6;16299:13;16290:22;;16321:30;16345:5;16321:30;:::i;:::-;16220:137;;;;:::o;16363:345::-;16430:6;16479:2;16467:9;16458:7;16454:23;16450:32;16447:119;;;16485:79;;:::i;:::-;16447:119;16605:1;16630:61;16683:7;16674:6;16663:9;16659:22;16630:61;:::i;:::-;16620:71;;16576:125;16363:345;;;;:::o;16714:143::-;16771:5;16802:6;16796:13;16787:22;;16818:33;16845:5;16818:33;:::i;:::-;16714:143;;;;:::o;16863:351::-;16933:6;16982:2;16970:9;16961:7;16957:23;16953:32;16950:119;;;16988:79;;:::i;:::-;16950:119;17108:1;17133:64;17189:7;17180:6;17169:9;17165:22;17133:64;:::i;:::-;17123:74;;17079:128;16863:351;;;;:::o;17220:169::-;17360:21;17356:1;17348:6;17344:14;17337:45;17220:169;:::o;17395:366::-;17537:3;17558:67;17622:2;17617:3;17558:67;:::i;:::-;17551:74;;17634:93;17723:3;17634:93;:::i;:::-;17752:2;17747:3;17743:12;17736:19;;17395:366;;;:::o;17767:419::-;17933:4;17971:2;17960:9;17956:18;17948:26;;18020:9;18014:4;18010:20;18006:1;17995:9;17991:17;17984:47;18048:131;18174:4;18048:131;:::i;:::-;18040:139;;17767:419;;;:::o;18192:233::-;18231:3;18254:24;18272:5;18254:24;:::i;:::-;18245:33;;18300:66;18293:5;18290:77;18287:103;;18370:18;;:::i;:::-;18287:103;18417:1;18410:5;18406:13;18399:20;;18192:233;;;:::o;18431:147::-;18532:11;18569:3;18554:18;;18431:147;;;;:::o;18584:114::-;;:::o;18704:398::-;18863:3;18884:83;18965:1;18960:3;18884:83;:::i;:::-;18877:90;;18976:93;19065:3;18976:93;:::i;:::-;19094:1;19089:3;19085:11;19078:18;;18704:398;;;:::o;19108:379::-;19292:3;19314:147;19457:3;19314:147;:::i;:::-;19307:154;;19478:3;19471:10;;19108:379;;;:::o;19493:175::-;19633:27;19629:1;19621:6;19617:14;19610:51;19493:175;:::o;19674:366::-;19816:3;19837:67;19901:2;19896:3;19837:67;:::i;:::-;19830:74;;19913:93;20002:3;19913:93;:::i;:::-;20031:2;20026:3;20022:12;20015:19;;19674:366;;;:::o;20046:419::-;20212:4;20250:2;20239:9;20235:18;20227:26;;20299:9;20293:4;20289:20;20285:1;20274:9;20270:17;20263:47;20327:131;20453:4;20327:131;:::i;:::-;20319:139;;20046:419;;;:::o;20471:225::-;20611:34;20607:1;20599:6;20595:14;20588:58;20680:8;20675:2;20667:6;20663:15;20656:33;20471:225;:::o;20702:366::-;20844:3;20865:67;20929:2;20924:3;20865:67;:::i;:::-;20858:74;;20941:93;21030:3;20941:93;:::i;:::-;21059:2;21054:3;21050:12;21043:19;;20702:366;;;:::o;21074:419::-;21240:4;21278:2;21267:9;21263:18;21255:26;;21327:9;21321:4;21317:20;21313:1;21302:9;21298:17;21291:47;21355:131;21481:4;21355:131;:::i;:::-;21347:139;;21074:419;;;:::o;21499:182::-;21639:34;21635:1;21627:6;21623:14;21616:58;21499:182;:::o;21687:366::-;21829:3;21850:67;21914:2;21909:3;21850:67;:::i;:::-;21843:74;;21926:93;22015:3;21926:93;:::i;:::-;22044:2;22039:3;22035:12;22028:19;;21687:366;;;:::o;22059:419::-;22225:4;22263:2;22252:9;22248:18;22240:26;;22312:9;22306:4;22302:20;22298:1;22287:9;22283:17;22276:47;22340:131;22466:4;22340:131;:::i;:::-;22332:139;;22059:419;;;:::o;22484:179::-;22624:31;22620:1;22612:6;22608:14;22601:55;22484:179;:::o;22669:366::-;22811:3;22832:67;22896:2;22891:3;22832:67;:::i;:::-;22825:74;;22908:93;22997:3;22908:93;:::i;:::-;23026:2;23021:3;23017:12;23010:19;;22669:366;;;:::o;23041:419::-;23207:4;23245:2;23234:9;23230:18;23222:26;;23294:9;23288:4;23284:20;23280:1;23269:9;23265:17;23258:47;23322:131;23448:4;23322:131;:::i;:::-;23314:139;;23041:419;;;:::o;23466:245::-;23606:34;23602:1;23594:6;23590:14;23583:58;23675:28;23670:2;23662:6;23658:15;23651:53;23466:245;:::o;23717:366::-;23859:3;23880:67;23944:2;23939:3;23880:67;:::i;:::-;23873:74;;23956:93;24045:3;23956:93;:::i;:::-;24074:2;24069:3;24065:12;24058:19;;23717:366;;;:::o;24089:419::-;24255:4;24293:2;24282:9;24278:18;24270:26;;24342:9;24336:4;24332:20;24328:1;24317:9;24313:17;24306:47;24370:131;24496:4;24370:131;:::i;:::-;24362:139;;24089:419;;;:::o;24514:181::-;24654:33;24650:1;24642:6;24638:14;24631:57;24514:181;:::o;24701:366::-;24843:3;24864:67;24928:2;24923:3;24864:67;:::i;:::-;24857:74;;24940:93;25029:3;24940:93;:::i;:::-;25058:2;25053:3;25049:12;25042:19;;24701:366;;;:::o;25073:419::-;25239:4;25277:2;25266:9;25262:18;25254:26;;25326:9;25320:4;25316:20;25312:1;25301:9;25297:17;25290:47;25354:131;25480:4;25354:131;:::i;:::-;25346:139;;25073:419;;;:::o
Swarm Source
ipfs://4ea4074df89673e26e4b9913a0ceb0151e817f37cef992785dac3e03d88e0b0e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $3,101.06 | 0.00276732 | $8.58 |
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.