Source Code
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 6,004 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Unstake G2 | 19160272 | 611 days ago | IN | 0 ETH | 0.00187506 | ||||
Unstake All OG | 19160144 | 611 days ago | IN | 0 ETH | 0.00138676 | ||||
Unstake G2 | 19159325 | 611 days ago | IN | 0 ETH | 0.00115447 | ||||
Unstake All OG | 19159301 | 611 days ago | IN | 0 ETH | 0.0009788 | ||||
Unstake All OG | 19159300 | 611 days ago | IN | 0 ETH | 0.00150143 | ||||
Unstake All OG | 19159126 | 611 days ago | IN | 0 ETH | 0.00121273 | ||||
Unstake G2 | 19150133 | 612 days ago | IN | 0 ETH | 0.0019025 | ||||
Unstake G2 | 19038703 | 628 days ago | IN | 0 ETH | 0.002129 | ||||
Unstake All OG | 18649138 | 683 days ago | IN | 0 ETH | 0.00289404 | ||||
Unstake All OG | 18575413 | 693 days ago | IN | 0 ETH | 0.00356597 | ||||
Unstake G2 | 18033088 | 769 days ago | IN | 0 ETH | 0.00124796 | ||||
Unstake G2 | 18033086 | 769 days ago | IN | 0 ETH | 0.00163305 | ||||
Unstake G2 | 17562596 | 835 days ago | IN | 0 ETH | 0.00156074 | ||||
Unstake All OG | 17513572 | 842 days ago | IN | 0 ETH | 0.00255231 | ||||
Unstake All OG | 17475537 | 847 days ago | IN | 0 ETH | 0.00303828 | ||||
Claim | 17456775 | 850 days ago | IN | 0 ETH | 0.00126542 | ||||
Unstake All OG | 17450454 | 850 days ago | IN | 0 ETH | 0.00269916 | ||||
Unstake G2 | 17399010 | 858 days ago | IN | 0 ETH | 0.00452489 | ||||
Unstake All OG | 17398918 | 858 days ago | IN | 0 ETH | 0.00191467 | ||||
Unstake All OG | 17386486 | 859 days ago | IN | 0 ETH | 0.00497677 | ||||
Unstake All OG | 17386462 | 860 days ago | IN | 0 ETH | 0.00309329 | ||||
Unstake All OG | 17386410 | 860 days ago | IN | 0 ETH | 0.00291414 | ||||
Unstake All OG | 17341417 | 866 days ago | IN | 0 ETH | 0.00344544 | ||||
Unstake All OG | 17340556 | 866 days ago | IN | 0 ETH | 0.00455045 | ||||
Unstake All OG | 17339903 | 866 days ago | IN | 0 ETH | 0.00352037 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
||||
---|---|---|---|---|---|---|---|---|
Transfer From | 19160272 | 611 days ago | 0 ETH | |||||
Transfer From | 19160272 | 611 days ago | 0 ETH | |||||
Transfer From | 19160272 | 611 days ago | 0 ETH | |||||
Transfer From | 19160272 | 611 days ago | 0 ETH | |||||
Transfer From | 19160272 | 611 days ago | 0 ETH | |||||
Mint | 19160272 | 611 days ago | 0 ETH | |||||
Safe Batch Trans... | 19160144 | 611 days ago | 0 ETH | |||||
Mint | 19160144 | 611 days ago | 0 ETH | |||||
Transfer From | 19159325 | 611 days ago | 0 ETH | |||||
Transfer From | 19159325 | 611 days ago | 0 ETH | |||||
Mint | 19159325 | 611 days ago | 0 ETH | |||||
Safe Batch Trans... | 19159301 | 611 days ago | 0 ETH | |||||
Safe Batch Trans... | 19159300 | 611 days ago | 0 ETH | |||||
Mint | 19159300 | 611 days ago | 0 ETH | |||||
Safe Batch Trans... | 19159126 | 611 days ago | 0 ETH | |||||
Mint | 19159126 | 611 days ago | 0 ETH | |||||
Transfer From | 19150133 | 612 days ago | 0 ETH | |||||
Transfer From | 19150133 | 612 days ago | 0 ETH | |||||
Transfer From | 19150133 | 612 days ago | 0 ETH | |||||
Transfer From | 19150133 | 612 days ago | 0 ETH | |||||
Mint | 19150133 | 612 days ago | 0 ETH | |||||
Transfer From | 19038703 | 628 days ago | 0 ETH | |||||
Mint | 19038703 | 628 days ago | 0 ETH | |||||
Safe Batch Trans... | 18649138 | 683 days ago | 0 ETH | |||||
Mint | 18649138 | 683 days ago | 0 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
AGStakeX
Compiler Version
v0.8.13+commit.abaa5c0e
Optimization Enabled:
Yes with 1000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT LICENSEpragma solidity ^0.8.0;import "@openzeppelin/contracts/access/Ownable.sol";import "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";import "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";import "./interfaces/IAGStakeFull.sol";import "./interfaces/IAlphaGangGenerative.sol";import "./interfaces/IAlphaGangOG.sol";import "./interfaces/IGangToken.sol";contract AGStakeX is IAGStake, Ownable, ERC721Holder, ERC1155Holder {// address to timestamp of last updatemapping(address => uint256) public lastUpdate;IAlphaGangOG immutable AlphaGangOG;IAlphaGangGenerative AlphaGangG2;IGangToken immutable GANG;// maps OG tokenId to mapping of address to count of staked tokensmapping(uint256 => mapping(address => uint256)) public vaultOG;// Mapping: address to token to staked timestampmapping(address => mapping(uint256 => uint256)) public override vaultG2;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)pragma solidity ^0.8.0;import "../utils/Context.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** By default, the owner account will be the one that deploys the contract. This* can later be changed with {transferOwnership}.** This module is used through inheritance. It will make available the modifier* `onlyOwner`, which can be applied to your functions to restrict their use to* the owner.*/abstract contract Ownable is Context {address private _owner;event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);/*** @dev Initializes the contract setting the deployer as the initial owner.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC1155/utils/ERC1155Holder.sol)pragma solidity ^0.8.0;import "./ERC1155Receiver.sol";/*** Simple implementation of `ERC1155Receiver` that will allow a contract to hold ERC1155 tokens.** IMPORTANT: When inheriting this contract, you must include a way to use the received tokens, otherwise they will be* stuck.** @dev _Available since v3.1._*/contract ERC1155Holder is ERC1155Receiver {function onERC1155Received(address,address,uint256,uint256,bytes memory) public virtual override returns (bytes4) {return this.onERC1155Received.selector;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (token/ERC721/utils/ERC721Holder.sol)pragma solidity ^0.8.0;import "../IERC721Receiver.sol";/*** @dev Implementation of the {IERC721Receiver} interface.** Accepts all token transfers.* Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}.*/contract ERC721Holder is IERC721Receiver {/*** @dev See {IERC721Receiver-onERC721Received}.** Always returns `IERC721Receiver.onERC721Received.selector`.*/function onERC721Received(address,address,uint256,bytes memory) public virtual override returns (bytes4) {return this.onERC721Received.selector;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT LICENSEpragma solidity ^0.8.0;interface IAGStake {event StakedG2(address owner, uint256[] tokenIds, uint256 timestamp);event UnstakedG2(address owner, uint256[] tokenIds, uint256 timestamp);event StakedOG(address owner,uint256[] tokenIds,uint256[] counts,uint256 timestamp);event StakedForMint(address owner,uint256[] tokenIds,uint256[] counts,uint256 timestamp);event UnstakedOG(address owner,uint256[] tokenIds,uint256[] counts,uint256 timestamp);event Claimed(address owner, uint256 amount, uint256 timestamp);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT LICENSEpragma solidity ^0.8.0;interface IAlphaGangGenerative {function balanceOf(address account) external view returns (uint256);function transferFrom(address from,address to,uint256 tokenId) external;function ownerOf(uint256 tokenId) external view returns (address);function setApprovalForAll(address operator, bool approved) external;function totalSupply() external view returns (uint256);function SUPPLY_MAX() external view returns (uint256);function mintActive(uint8 mintType) external view returns (bool);function tokensOfOwner(address _owner)externalview
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT LICENSEpragma solidity ^0.8.0;interface IAlphaGangOG {function balanceOf(address account, uint256 id)externalviewreturns (uint256);// change to transferfunction safeTransferFrom(address from,address to,uint256 id,uint256 amount,bytes calldata data) external;function safeBatchTransferFrom(address from,address to,uint256[] memory ids,uint256[] memory amounts,bytes memory data) external;
1234567// SPDX-License-Identifier: MIT LICENSEpragma solidity ^0.8.0;interface IGangToken {function mint(address to, uint256 amount) external;}
123456789101112131415161718192021222324// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)pragma solidity ^0.8.0;/*** @dev Provides information about the current execution context, including the* sender of the transaction and its data. While these are generally available* via msg.sender and msg.data, they should not be accessed in such a direct* manner, since when dealing with meta-transactions the account sending and* paying for execution may not be the actual sender (as far as an application* is concerned).** This contract is only required for intermediate, library-like contracts.*/abstract contract Context {function _msgSender() internal view virtual returns (address) {return msg.sender;}function _msgData() internal view virtual returns (bytes calldata) {return msg.data;}}
12345678910111213141516171819// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (token/ERC1155/utils/ERC1155Receiver.sol)pragma solidity ^0.8.0;import "../IERC1155Receiver.sol";import "../../../utils/introspection/ERC165.sol";/*** @dev _Available since v3.1._*/abstract contract ERC1155Receiver is ERC165, IERC1155Receiver {/*** @dev See {IERC165-supportsInterface}.*/function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {return interfaceId == type(IERC1155Receiver).interfaceId || super.supportsInterface(interfaceId);}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC1155/IERC1155Receiver.sol)pragma solidity ^0.8.0;import "../../utils/introspection/IERC165.sol";/*** @dev _Available since v3.1._*/interface IERC1155Receiver is IERC165 {/*** @dev Handles the receipt of a single ERC1155 token type. This function is* called at the end of a `safeTransferFrom` after the balance has been updated.** NOTE: To accept the transfer, this must return* `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))`* (i.e. 0xf23a6e61, or its own function selector).** @param operator The address which initiated the transfer (i.e. msg.sender)* @param from The address which previously owned the token* @param id The ID of the token being transferred* @param value The amount of tokens being transferred* @param data Additional data with no specified format* @return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` if transfer is allowed*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)pragma solidity ^0.8.0;import "./IERC165.sol";/*** @dev Implementation of the {IERC165} interface.** Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check* for the additional interface id that will be supported. For example:** ```solidity* function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {* return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);* }* ```** Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.*/abstract contract ERC165 is IERC165 {/*** @dev See {IERC165-supportsInterface}.*/function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
12345678910111213141516171819202122232425// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)pragma solidity ^0.8.0;/*** @dev Interface of the ERC165 standard, as defined in the* https://eips.ethereum.org/EIPS/eip-165[EIP].** Implementers can declare support of contract interfaces, which can then be* queried by others ({ERC165Checker}).** For an implementation, see {ERC165}.*/interface IERC165 {/*** @dev Returns true if this contract implements the interface defined by* `interfaceId`. See the corresponding* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]* to learn more about how these ids are created.** This function call must use less than 30 000 gas.*/function supportsInterface(bytes4 interfaceId) external view returns (bool);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.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);
12345678910111213141516171819{"optimizer": {"enabled": true,"runs": 1000},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}},"libraries": {}}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract IAlphaGangOG","name":"_og","type":"address"},{"internalType":"contract IAlphaGangGenerative","name":"_G2","type":"address"},{"internalType":"contract IGangToken","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"Claimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"counts","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"StakedForMint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"StakedG2","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"counts","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"StakedOG","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"UnstakedG2","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"counts","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"UnstakedOG","type":"event"},{"inputs":[],"name":"G2StakeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"claimForAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earningInfo","outputs":[{"internalType":"uint256","name":"earned","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastUpdate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ogAllocation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ogStakeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ownerG2StakedCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakeAllOG","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"stakeG2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakeOGForMint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"}],"name":"stakeSingleOG","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakedAtG2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"stakedG2TokensOfOwner","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"stakedOGBalanceOf","outputs":[{"internalType":"uint256[]","name":"_tokenBalance","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","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":"unstakeAllOG","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"unstakeG2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"}],"name":"unstakeSingleOG","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"unstakedOGBalanceOf","outputs":[{"internalType":"uint256[]","name":"_tokenBalance","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_count","type":"uint256"}],"name":"updateOGAllocation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"vaultG2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"vaultOG","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60c06040526601c32364050082600855652d1d239a19a76009556207a120600a55620186a0600b553480156200003457600080fd5b5060405162002c1838038062002c188339810160408190526200005791620000fb565b620000623362000092565b6001600160a01b03928316608052600280546001600160a01b031916928416929092179091551660a0526200014f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114620000f857600080fd5b50565b6000806000606084860312156200011157600080fd5b83516200011e81620000e2565b60208501519093506200013181620000e2565b60408501519092506200014481620000e2565b809150509250925092565b60805160a051612a6b620001ad60003960006121ad01526000818161086901528181610f78015281816115520152818161174e015281816117fd015281816118aa0152818161198301528181611d8901526120810152612a6b6000f3fe6080604052600436106101d85760003560e01c8063715018a611610102578063cb03fb1e11610095578063f23a6e6111610064578063f23a6e61146105fd578063f2fde38b14610642578063f6574f1b14610662578063faab492a1461066a57600080fd5b8063cb03fb1e1461057a578063d8dc7fb8146105a7578063da960185146105bd578063e20b576e146105dd57600080fd5b8063a22cb465116100d1578063a22cb465146104c8578063ab1c99fa146104e8578063acfd14b014610515578063bc197c811461053557600080fd5b8063715018a6146104335780637ef5c072146104485780638da5cb5b14610480578063941e75d1146104a857600080fd5b806319daaec01161017a5780634e71d92d116101495780634e71d92d146103bc5780635ffed1ab146103d1578063642c961e146103fe57806370bf74f21461041357600080fd5b806319daaec0146103395780631b5b7654146103595780633ccfd60b1461036f5780633e7b16d41461038457600080fd5b80630f0e9598116101b65780630f0e959814610262578063100bd9ee1461028f57806314a9919a146102af578063150b7a02146102dc57600080fd5b806301ffc9a7146101dd5780630692ccf2146102125780630ec68ff214610234575b600080fd5b3480156101e957600080fd5b506101fd6101f83660046122f5565b61067f565b60405190151581526020015b60405180910390f35b34801561021e57600080fd5b5061023261022d366004612326565b6106e8565b005b34801561024057600080fd5b5061025461024f36600461235d565b610918565b604051908152602001610209565b34801561026e57600080fd5b5061028261027d36600461235d565b610a83565b60405161020991906123b5565b34801561029b57600080fd5b506102326102aa36600461235d565b610b2a565b3480156102bb57600080fd5b506102546102ca36600461235d565b60056020526000908152604090205481565b3480156102e857600080fd5b506103206102f736600461247f565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b03199091168152602001610209565b34801561034557600080fd5b506102326103543660046124eb565b610b36565b34801561036557600080fd5b5061025460085481565b34801561037b57600080fd5b50610232610e26565b34801561039057600080fd5b5061025461039f366004612560565b600360209081526000928352604080842090915290825290205481565b3480156103c857600080fd5b50610232610eba565b3480156103dd57600080fd5b506102546103ec36600461235d565b60066020526000908152604090205481565b34801561040a57600080fd5b50610232610ec5565b34801561041f57600080fd5b5061023261042e366004612590565b6110b3565b34801561043f57600080fd5b5061023261113e565b34801561045457600080fd5b50610254610463366004612590565b600460209081526000928352604080842090915290825290205481565b34801561048c57600080fd5b506000546040516001600160a01b039091168152602001610209565b3480156104b457600080fd5b506102326104c336600461263c565b6111a2565b3480156104d457600080fd5b506102326104e3366004612687565b61146c565b3480156104f457600080fd5b5061025461050336600461235d565b600c6020526000908152604090205481565b34801561052157600080fd5b5061028261053036600461235d565b6115b4565b34801561054157600080fd5b506103206105503660046126b5565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561058657600080fd5b5061025461059536600461235d565b60016020526000908152604090205481565b3480156105b357600080fd5b5061025460095481565b3480156105c957600080fd5b506102826105d836600461235d565b611702565b3480156105e957600080fd5b506102326105f8366004612326565b611938565b34801561060957600080fd5b50610320610618366004612763565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b34801561064e57600080fd5b5061023261065d36600461235d565b611a59565b610232611b38565b34801561067657600080fd5b50610232611ee7565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806106e257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b600082815260036020908152604080832033808552925290912054610711565b60405180910390fd5b828110156107875760405162461bcd60e51b815260206004820152603e60248201527f596f7520646f206e6f7420686176652072657175657374656420746f6b656e2060448201527f616d6f756e7420617661696c61626c6520666f7220756e7374616b696e6700006064820152608401610708565b610794426203f4806127e2565b6001600160a01b038316600090815260076020526040902054106107fa5760405162461bcd60e51b815260206004820152601860248201527f546f6b656e73206c6f636b656420666f722033206461797300000000000000006044820152606401610708565b61080382612123565b60008481526003602090815260408083206001600160a01b0386811680865291909352818420805488900390559051637921219560e11b81523060048201526024810191909152604481018790526064810186905260a0608482015260a48101929092527f0000000000000000000000000000000000000000000000000000000000000000169063f242432a9060c401600060405180830381600087803b1580156108ad57600080fd5b505af11580156108c1573d6000803e3d6000fd5b505050507fff20c51538ccc085c61cf63ee5e255767d9f5eeef8ebb2ce21b38439bc4d22d5336108f086612253565b6108f986612253565b4260405161090a94939291906127fa565b60405180910390a150505050565b6001600160a01b03811660009081526001602052604081205481908190429080830361094a5750600095945050505050565b60008061095688610a83565b90506000805b60038163ffffffff1610156109c6576000838263ffffffff168151811061098557610985612840565b602002602001015111156109be57828163ffffffff16815181106109ab576109ab612840565b6020026020010151840193508160010191505b60010161095c565b506001600160a01b038916600090815260066020526040902054600954029690960195620f42408315610a3e57600a5460085498890198600019860102979097019660005b858163ffffffff161015610a2b5791810191600282049150600101610a0b565b5082600303610a3c57600b54820191505b505b610a488587612856565b87620f4240610a57848c61286d565b610a61919061288c565b610a6b91906127e2565b610a75919061286d565b9a9950505050505050505050565b604080516003808252608082019092526060916000919060208201848036833701905050905060015b60048163ffffffff161015610b235763ffffffff811660009081526003602090815260408083206001600160a01b03881684529091529020548015610b1a5780836001840363ffffffff1681518110610b0757610b07612840565b6020026020010181815101915081815250505b50600101610aac565b5092915050565b610b3381612123565b50565b600254429033906001600160a01b03168103610b4f5750325b610b5881612123565b60005b60ff8116841115610dd1576002546001600160a01b038084169116636352211e878760ff8616818110610b9057610b90612840565b905060200201356040518263ffffffff1660e01b8152600401610bb591815260200190565b602060405180830381865afa158015610bd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf691906128ae565b6001600160a01b031614610c4c5760405162461bcd60e51b815260206004820152600e60248201527f4e6f7420796f757220746f6b656e0000000000000000000000000000000000006044820152606401610708565b6001600160a01b038216600090815260046020526040812090868660ff8516818110610c7a57610c7a612840565b90506020020135815260200190815260200160002054600014610cdf5760405162461bcd60e51b815260206004820152601460248201527f546f6b656e20616c7265616479207374616b65640000000000000000000000006044820152606401610708565b6002546001600160a01b03166323b872dd8330888860ff8716818110610d0757610d07612840565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b158015610d5e57600080fd5b505af1158015610d72573d6000803e3d6000fd5b505050506001600160a01b03821660009081526004602052604081208491878760ff8616818110610da557610da5612840565b905060200201358152602001908152602001600020819055508080610dc9906128cb565b915050610b5b565b506001600160a01b03811660009081526006602052604090819020805485019055517fc4dc1dc09dccc24a61fd3762642d1b17d47806f3483ff317a353a919252643bf9061090a9083908790879087906128ea565b6000546001600160a01b03163314610e805760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610708565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015610b33573d6000803e3d6000fd5b610ec333612123565b565b336000610ed182611702565b9050610edc82612123565b6040805160038082526080820190925260009160208201606080368337019050509050600181600081518110610f1457610f14612840565b602002602001018181525050600281600181518110610f3557610f35612840565b602002602001018181525050600381600281518110610f5657610f56612840565b6020908102919091010152604051631759616b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632eb2c2d690610fb3908690309086908890600401612959565b600060405180830381600087803b158015610fcd57600080fd5b505af1158015610fe1573d6000803e3d6000fd5b5050506001600160a01b03841660009081526007602052604090204290555060015b60048163ffffffff16101561107057826001820363ffffffff168151811061102d5761102d612840565b60209081029190910181015163ffffffff831660009081526003835260408082206001600160a01b03891683529093529190912080549091019055600101611003565b507fea8682dc8d491e977e357bb5a872cc1bfd0cd140cd9b1fef95c5148f919fe91d338284426040516110a694939291906127fa565b60405180910390a1505050565b6002546001600160a01b0316331461110d5760405162461bcd60e51b815260206004820152600f60248201527f4f6e6c792047656e6572617469766500000000000000000000000000000000006044820152606401610708565b6001600160a01b0382166000908152600c602052604081208054839290611135908490612856565b90915550505050565b6000546001600160a01b031633146111985760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610708565b610ec3600061228d565b336111ac81612123565b60005b82518160ff1610156113fc576001600160a01b038216600090815260046020526040812084518290869060ff86169081106111ec576111ec612840565b6020026020010151815260200190815260200160002054116112505760405162461bcd60e51b815260206004820152600e60248201527f4e6f7420796f757220746f6b656e0000000000000000000000000000000000006044820152606401610708565b61125d426203f4806127e2565b6001600160a01b03831660009081526004602052604081208551909190869060ff861690811061128f5761128f612840565b6020026020010151815260200190815260200160002054106112f35760405162461bcd60e51b815260206004820152601760248201527f546f6b656e206c6f636b656420666f72203320646179730000000000000000006044820152606401610708565b6001600160a01b038216600090815260046020526040812084518290869060ff861690811061132457611324612840565b6020026020010151815260200190815260200160002081905550600260009054906101000a90046001600160a01b03166001600160a01b03166323b872dd3084868560ff168151811061137957611379612840565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b1580156113d357600080fd5b505af11580156113e7573d6000803e3d6000fd5b50505050806113f5906128cb565b90506111af565b5081516001600160a01b03821660009081526006602052604081208054909190611427908490612856565b90915550506040517f9c976369f88055398c1dede2748b210d08ada1f227b1265d30c7261f2580524990611460908390859042906129b4565b60405180910390a15050565b6000546001600160a01b031633146114c65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610708565b60025460405163a22cb46560e01b81526001600160a01b03848116600483015283151560248301529091169063a22cb46590604401600060405180830381600087803b15801561151557600080fd5b505af1158015611529573d6000803e3d6000fd5b505060405163a22cb46560e01b81526001600160a01b03858116600483015284151560248301527f000000000000000000000000000000000000000000000000000000000000000016925063a22cb4659150604401600060405180830381600087803b15801561159857600080fd5b505af11580156115ac573d6000803e3d6000fd5b505050505050565b60606000600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162f91906129e6565b6001600160a01b0384166000908152600660205260408120549192508167ffffffffffffffff811115611664576116646123c8565b60405190808252806020026020018201604052801561168d578160200160208202803683370190505b509050600060015b8481116116f7576001600160a01b0387166000908152600460209081526040808320848452909152902054156116e557808383815181106116d8576116d8612840565b6020026020010181815250505b806116ef816129ff565b915050611695565b509095945050505050565b604080516003808252608082019092526060916000919060208201848036833701905050604051627eeac760e11b81526001600160a01b038581166004830152600160248301529192507f00000000000000000000000000000000000000000000000000000000000000009091169062fdd58e90604401602060405180830381865afa158015611796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ba91906129e6565b816000815181106117cd576117cd612840565b6020908102919091010152604051627eeac760e11b81526001600160a01b038481166004830152600260248301527f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e90604401602060405180830381865afa158015611843573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186791906129e6565b8160018151811061187a5761187a612840565b6020908102919091010152604051627eeac760e11b81526001600160a01b038481166004830152600360248301527f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e90604401602060405180830381865afa1580156118f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191491906129e6565b8160028151811061192757611927612840565b602090810291909101015292915050565b3361194281612123565b604051637921219560e11b81526001600160a01b038281166004830152306024830152604482018590526064820184905260a06084830152600060a48301527f0000000000000000000000000000000000000000000000000000000000000000169063f242432a9060c401600060405180830381600087803b1580156119c757600080fd5b505af11580156119db573d6000803e3d6000fd5b5050506001600160a01b03821660008181526007602090815260408083204290558783526003825280832093835292905220805484019055507fea8682dc8d491e977e357bb5a872cc1bfd0cd140cd9b1fef95c5148f919fe91d81611a3f85612253565b611a4885612253565b426040516110a694939291906127fa565b6000546001600160a01b03163314611ab35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610708565b6001600160a01b038116611b2f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610708565b610b338161228d565b6002546040517ff22fb1d3000000000000000000000000000000000000000000000000000000008152600160048201526001600160a01b039091169063f22fb1d390602401602060405180830381865afa158015611b9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bbe9190612a18565b611c0a5760405162461bcd60e51b815260206004820152601260248201527f53616c65206973206e6f742061637469766500000000000000000000000000006044820152606401610708565b336000611c1682611702565b9050600081600281518110611c2d57611c2d612840565b602002602001015182600181518110611c4857611c48612840565b602002602001015183600081518110611c6357611c63612840565b6020026020010151611c7591906127e2565b611c7f91906127e2565b905060008111611cd15760405162461bcd60e51b815260206004820152601260248201527f4e6f20746f6b656e7320746f207374616b6500000000000000000000000000006044820152606401610708565b6000611cde8260026127e2565b60408051600380825260808201909252919250429160009160208201606080368337019050509050600181600081518110611d1b57611d1b612840565b602002602001018181525050600281600181518110611d3c57611d3c612840565b602002602001018181525050600381600281518110611d5d57611d5d612840565b602002602001018181525050611d7286612123565b604051631759616b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632eb2c2d690611dc4908990309086908b90600401612959565b600060405180830381600087803b158015611dde57600080fd5b505af1158015611df2573d6000803e3d6000fd5b505050506001600160a01b0386166000908152600760209081526040808320859055600c90915281208054859290611e2b9084906127e2565b90915550600190505b60048163ffffffff161015611ea157856001820363ffffffff1681518110611e5e57611e5e612840565b60209081029190910181015163ffffffff831660009081526003835260408082206001600160a01b038c1683529093529190912080549091019055600101611e34565b507f817746107cf51dfd99c990c44b9d8713fdd78578eca5172b189a355ce49d123933828742604051611ed794939291906127fa565b60405180910390a1505050505050565b33611ef5426203f4806127e2565b6001600160a01b03821660009081526007602052604090205410611f5b5760405162461bcd60e51b815260206004820152601860248201527f546f6b656e73206c6f636b656420666f722033206461797300000000000000006044820152606401610708565b611f6481612123565b6000611f6f82610a83565b604080516003808252608082019092529192506000919060208201606080368337019050509050600181600081518110611fab57611fab612840565b602002602001018181525050600281600181518110611fcc57611fcc612840565b602002602001018181525050600381600281518110611fed57611fed612840565b602090810291909101015260015b60048163ffffffff16101561206957826001820363ffffffff168151811061202557612025612840565b60209081029190910181015163ffffffff831660009081526003835260408082206001600160a01b0389168352909352919091208054919091039055600101611ffb565b50604051631759616b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632eb2c2d6906120bc903090879086908890600401612959565b600060405180830381600087803b1580156120d657600080fd5b505af11580156120ea573d6000803e3d6000fd5b505050507fff20c51538ccc085c61cf63ee5e255767d9f5eeef8ebb2ce21b38439bc4d22d5838284426040516110a694939291906127fa565b6001600160a01b0381166000908152600160205260408120541561214d5761214a82610918565b90505b6001600160a01b0382166000908152600160205260409020429055801561220a576040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401600060405180830381600087803b1580156121f157600080fd5b505af1158015612205573d6000803e3d6000fd5b505050505b604080516001600160a01b03841681526020810183905242918101919091527f987d620f307ff6b94d58743cb7a7509f24071586a77759b77c2d4e29f75a2f9a90606001611460565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061192757611927612840565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561230757600080fd5b81356001600160e01b03198116811461231f57600080fd5b9392505050565b6000806040838503121561233957600080fd5b50508035926020909101359150565b6001600160a01b0381168114610b3357600080fd5b60006020828403121561236f57600080fd5b813561231f81612348565b600081518084526020808501945080840160005b838110156123aa5781518752958201959082019060010161238e565b509495945050505050565b60208152600061231f602083018461237a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612407576124076123c8565b604052919050565b600082601f83011261242057600080fd5b813567ffffffffffffffff81111561243a5761243a6123c8565b61244d601f8201601f19166020016123de565b81815284602083860101111561246257600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561249557600080fd5b84356124a081612348565b935060208501356124b081612348565b925060408501359150606085013567ffffffffffffffff8111156124d357600080fd5b6124df8782880161240f565b91505092959194509250565b600080602083850312156124fe57600080fd5b823567ffffffffffffffff8082111561251657600080fd5b818501915085601f83011261252a57600080fd5b81358181111561253957600080fd5b8660208260051b850101111561254e57600080fd5b60209290920196919550909350505050565b6000806040838503121561257357600080fd5b82359150602083013561258581612348565b809150509250929050565b600080604083850312156125a357600080fd5b82356125ae81612348565b946020939093013593505050565b600082601f8301126125cd57600080fd5b8135602067ffffffffffffffff8211156125e9576125e96123c8565b8160051b6125f88282016123de565b928352848101820192828101908785111561261257600080fd5b83870192505b8483101561263157823582529183019190830190612618565b979650505050505050565b60006020828403121561264e57600080fd5b813567ffffffffffffffff81111561266557600080fd5b612671848285016125bc565b949350505050565b8015158114610b3357600080fd5b6000806040838503121561269a57600080fd5b82356126a581612348565b9150602083013561258581612679565b600080600080600060a086880312156126cd57600080fd5b85356126d881612348565b945060208601356126e881612348565b9350604086013567ffffffffffffffff8082111561270557600080fd5b61271189838a016125bc565b9450606088013591508082111561272757600080fd5b61273389838a016125bc565b9350608088013591508082111561274957600080fd5b506127568882890161240f565b9150509295509295909350565b600080600080600060a0868803121561277b57600080fd5b853561278681612348565b9450602086013561279681612348565b93506040860135925060608601359150608086013567ffffffffffffffff8111156127c057600080fd5b6127568882890161240f565b634e487b7160e01b600052601160045260246000fd5b600082198211156127f5576127f56127cc565b500190565b6001600160a01b038516815260806020820152600061281c608083018661237a565b828103604084015261282e818661237a565b91505082606083015295945050505050565b634e487b7160e01b600052603260045260246000fd5b600082821015612868576128686127cc565b500390565b6000816000190483118215151615612887576128876127cc565b500290565b6000826128a957634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156128c057600080fd5b815161231f81612348565b600060ff821660ff81036128e1576128e16127cc565b60010192915050565b6001600160a01b03851681526060602082015282606082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84111561293257600080fd5b8360051b808660808501376000908301608001908152604090920192909252949350505050565b60006001600160a01b03808716835280861660208401525060a0604083015261298560a083018561237a565b8281036060840152612997818561237a565b838103608090940193909352505060008152602001949350505050565b6001600160a01b03841681526060602082015260006129d6606083018561237a565b9050826040830152949350505050565b6000602082840312156129f857600080fd5b5051919050565b600060018201612a1157612a116127cc565b5060010190565b600060208284031215612a2a57600080fd5b815161231f8161267956fea2646970667358221220f261ccb2d68dceb5861ccf30cfcd9998df0ae13b448556e3f3fad8877bbe529a64736f6c634300080d0033000000000000000000000000595a70409711f20523bd99b83d088cea9d3f92e1000000000000000000000000125808292f4bb11bf2d01b070d94e19490f7f4dc0000000000000000000000003321551494954f2bd682d2614495e365e9dffb2f
Deployed Bytecode
0x6080604052600436106101d85760003560e01c8063715018a611610102578063cb03fb1e11610095578063f23a6e6111610064578063f23a6e61146105fd578063f2fde38b14610642578063f6574f1b14610662578063faab492a1461066a57600080fd5b8063cb03fb1e1461057a578063d8dc7fb8146105a7578063da960185146105bd578063e20b576e146105dd57600080fd5b8063a22cb465116100d1578063a22cb465146104c8578063ab1c99fa146104e8578063acfd14b014610515578063bc197c811461053557600080fd5b8063715018a6146104335780637ef5c072146104485780638da5cb5b14610480578063941e75d1146104a857600080fd5b806319daaec01161017a5780634e71d92d116101495780634e71d92d146103bc5780635ffed1ab146103d1578063642c961e146103fe57806370bf74f21461041357600080fd5b806319daaec0146103395780631b5b7654146103595780633ccfd60b1461036f5780633e7b16d41461038457600080fd5b80630f0e9598116101b65780630f0e959814610262578063100bd9ee1461028f57806314a9919a146102af578063150b7a02146102dc57600080fd5b806301ffc9a7146101dd5780630692ccf2146102125780630ec68ff214610234575b600080fd5b3480156101e957600080fd5b506101fd6101f83660046122f5565b61067f565b60405190151581526020015b60405180910390f35b34801561021e57600080fd5b5061023261022d366004612326565b6106e8565b005b34801561024057600080fd5b5061025461024f36600461235d565b610918565b604051908152602001610209565b34801561026e57600080fd5b5061028261027d36600461235d565b610a83565b60405161020991906123b5565b34801561029b57600080fd5b506102326102aa36600461235d565b610b2a565b3480156102bb57600080fd5b506102546102ca36600461235d565b60056020526000908152604090205481565b3480156102e857600080fd5b506103206102f736600461247f565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b03199091168152602001610209565b34801561034557600080fd5b506102326103543660046124eb565b610b36565b34801561036557600080fd5b5061025460085481565b34801561037b57600080fd5b50610232610e26565b34801561039057600080fd5b5061025461039f366004612560565b600360209081526000928352604080842090915290825290205481565b3480156103c857600080fd5b50610232610eba565b3480156103dd57600080fd5b506102546103ec36600461235d565b60066020526000908152604090205481565b34801561040a57600080fd5b50610232610ec5565b34801561041f57600080fd5b5061023261042e366004612590565b6110b3565b34801561043f57600080fd5b5061023261113e565b34801561045457600080fd5b50610254610463366004612590565b600460209081526000928352604080842090915290825290205481565b34801561048c57600080fd5b506000546040516001600160a01b039091168152602001610209565b3480156104b457600080fd5b506102326104c336600461263c565b6111a2565b3480156104d457600080fd5b506102326104e3366004612687565b61146c565b3480156104f457600080fd5b5061025461050336600461235d565b600c6020526000908152604090205481565b34801561052157600080fd5b5061028261053036600461235d565b6115b4565b34801561054157600080fd5b506103206105503660046126b5565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561058657600080fd5b5061025461059536600461235d565b60016020526000908152604090205481565b3480156105b357600080fd5b5061025460095481565b3480156105c957600080fd5b506102826105d836600461235d565b611702565b3480156105e957600080fd5b506102326105f8366004612326565b611938565b34801561060957600080fd5b50610320610618366004612763565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b34801561064e57600080fd5b5061023261065d36600461235d565b611a59565b610232611b38565b34801561067657600080fd5b50610232611ee7565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806106e257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b600082815260036020908152604080832033808552925290912054610711565b60405180910390fd5b828110156107875760405162461bcd60e51b815260206004820152603e60248201527f596f7520646f206e6f7420686176652072657175657374656420746f6b656e2060448201527f616d6f756e7420617661696c61626c6520666f7220756e7374616b696e6700006064820152608401610708565b610794426203f4806127e2565b6001600160a01b038316600090815260076020526040902054106107fa5760405162461bcd60e51b815260206004820152601860248201527f546f6b656e73206c6f636b656420666f722033206461797300000000000000006044820152606401610708565b61080382612123565b60008481526003602090815260408083206001600160a01b0386811680865291909352818420805488900390559051637921219560e11b81523060048201526024810191909152604481018790526064810186905260a0608482015260a48101929092527f000000000000000000000000595a70409711f20523bd99b83d088cea9d3f92e1169063f242432a9060c401600060405180830381600087803b1580156108ad57600080fd5b505af11580156108c1573d6000803e3d6000fd5b505050507fff20c51538ccc085c61cf63ee5e255767d9f5eeef8ebb2ce21b38439bc4d22d5336108f086612253565b6108f986612253565b4260405161090a94939291906127fa565b60405180910390a150505050565b6001600160a01b03811660009081526001602052604081205481908190429080830361094a5750600095945050505050565b60008061095688610a83565b90506000805b60038163ffffffff1610156109c6576000838263ffffffff168151811061098557610985612840565b602002602001015111156109be57828163ffffffff16815181106109ab576109ab612840565b6020026020010151840193508160010191505b60010161095c565b506001600160a01b038916600090815260066020526040902054600954029690960195620f42408315610a3e57600a5460085498890198600019860102979097019660005b858163ffffffff161015610a2b5791810191600282049150600101610a0b565b5082600303610a3c57600b54820191505b505b610a488587612856565b87620f4240610a57848c61286d565b610a61919061288c565b610a6b91906127e2565b610a75919061286d565b9a9950505050505050505050565b604080516003808252608082019092526060916000919060208201848036833701905050905060015b60048163ffffffff161015610b235763ffffffff811660009081526003602090815260408083206001600160a01b03881684529091529020548015610b1a5780836001840363ffffffff1681518110610b0757610b07612840565b6020026020010181815101915081815250505b50600101610aac565b5092915050565b610b3381612123565b50565b600254429033906001600160a01b03168103610b4f5750325b610b5881612123565b60005b60ff8116841115610dd1576002546001600160a01b038084169116636352211e878760ff8616818110610b9057610b90612840565b905060200201356040518263ffffffff1660e01b8152600401610bb591815260200190565b602060405180830381865afa158015610bd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf691906128ae565b6001600160a01b031614610c4c5760405162461bcd60e51b815260206004820152600e60248201527f4e6f7420796f757220746f6b656e0000000000000000000000000000000000006044820152606401610708565b6001600160a01b038216600090815260046020526040812090868660ff8516818110610c7a57610c7a612840565b90506020020135815260200190815260200160002054600014610cdf5760405162461bcd60e51b815260206004820152601460248201527f546f6b656e20616c7265616479207374616b65640000000000000000000000006044820152606401610708565b6002546001600160a01b03166323b872dd8330888860ff8716818110610d0757610d07612840565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b158015610d5e57600080fd5b505af1158015610d72573d6000803e3d6000fd5b505050506001600160a01b03821660009081526004602052604081208491878760ff8616818110610da557610da5612840565b905060200201358152602001908152602001600020819055508080610dc9906128cb565b915050610b5b565b506001600160a01b03811660009081526006602052604090819020805485019055517fc4dc1dc09dccc24a61fd3762642d1b17d47806f3483ff317a353a919252643bf9061090a9083908790879087906128ea565b6000546001600160a01b03163314610e805760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610708565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015610b33573d6000803e3d6000fd5b610ec333612123565b565b336000610ed182611702565b9050610edc82612123565b6040805160038082526080820190925260009160208201606080368337019050509050600181600081518110610f1457610f14612840565b602002602001018181525050600281600181518110610f3557610f35612840565b602002602001018181525050600381600281518110610f5657610f56612840565b6020908102919091010152604051631759616b60e11b81526001600160a01b037f000000000000000000000000595a70409711f20523bd99b83d088cea9d3f92e11690632eb2c2d690610fb3908690309086908890600401612959565b600060405180830381600087803b158015610fcd57600080fd5b505af1158015610fe1573d6000803e3d6000fd5b5050506001600160a01b03841660009081526007602052604090204290555060015b60048163ffffffff16101561107057826001820363ffffffff168151811061102d5761102d612840565b60209081029190910181015163ffffffff831660009081526003835260408082206001600160a01b03891683529093529190912080549091019055600101611003565b507fea8682dc8d491e977e357bb5a872cc1bfd0cd140cd9b1fef95c5148f919fe91d338284426040516110a694939291906127fa565b60405180910390a1505050565b6002546001600160a01b0316331461110d5760405162461bcd60e51b815260206004820152600f60248201527f4f6e6c792047656e6572617469766500000000000000000000000000000000006044820152606401610708565b6001600160a01b0382166000908152600c602052604081208054839290611135908490612856565b90915550505050565b6000546001600160a01b031633146111985760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610708565b610ec3600061228d565b336111ac81612123565b60005b82518160ff1610156113fc576001600160a01b038216600090815260046020526040812084518290869060ff86169081106111ec576111ec612840565b6020026020010151815260200190815260200160002054116112505760405162461bcd60e51b815260206004820152600e60248201527f4e6f7420796f757220746f6b656e0000000000000000000000000000000000006044820152606401610708565b61125d426203f4806127e2565b6001600160a01b03831660009081526004602052604081208551909190869060ff861690811061128f5761128f612840565b6020026020010151815260200190815260200160002054106112f35760405162461bcd60e51b815260206004820152601760248201527f546f6b656e206c6f636b656420666f72203320646179730000000000000000006044820152606401610708565b6001600160a01b038216600090815260046020526040812084518290869060ff861690811061132457611324612840565b6020026020010151815260200190815260200160002081905550600260009054906101000a90046001600160a01b03166001600160a01b03166323b872dd3084868560ff168151811061137957611379612840565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b1580156113d357600080fd5b505af11580156113e7573d6000803e3d6000fd5b50505050806113f5906128cb565b90506111af565b5081516001600160a01b03821660009081526006602052604081208054909190611427908490612856565b90915550506040517f9c976369f88055398c1dede2748b210d08ada1f227b1265d30c7261f2580524990611460908390859042906129b4565b60405180910390a15050565b6000546001600160a01b031633146114c65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610708565b60025460405163a22cb46560e01b81526001600160a01b03848116600483015283151560248301529091169063a22cb46590604401600060405180830381600087803b15801561151557600080fd5b505af1158015611529573d6000803e3d6000fd5b505060405163a22cb46560e01b81526001600160a01b03858116600483015284151560248301527f000000000000000000000000595a70409711f20523bd99b83d088cea9d3f92e116925063a22cb4659150604401600060405180830381600087803b15801561159857600080fd5b505af11580156115ac573d6000803e3d6000fd5b505050505050565b60606000600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162f91906129e6565b6001600160a01b0384166000908152600660205260408120549192508167ffffffffffffffff811115611664576116646123c8565b60405190808252806020026020018201604052801561168d578160200160208202803683370190505b509050600060015b8481116116f7576001600160a01b0387166000908152600460209081526040808320848452909152902054156116e557808383815181106116d8576116d8612840565b6020026020010181815250505b806116ef816129ff565b915050611695565b509095945050505050565b604080516003808252608082019092526060916000919060208201848036833701905050604051627eeac760e11b81526001600160a01b038581166004830152600160248301529192507f000000000000000000000000595a70409711f20523bd99b83d088cea9d3f92e19091169062fdd58e90604401602060405180830381865afa158015611796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ba91906129e6565b816000815181106117cd576117cd612840565b6020908102919091010152604051627eeac760e11b81526001600160a01b038481166004830152600260248301527f000000000000000000000000595a70409711f20523bd99b83d088cea9d3f92e1169062fdd58e90604401602060405180830381865afa158015611843573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186791906129e6565b8160018151811061187a5761187a612840565b6020908102919091010152604051627eeac760e11b81526001600160a01b038481166004830152600360248301527f000000000000000000000000595a70409711f20523bd99b83d088cea9d3f92e1169062fdd58e90604401602060405180830381865afa1580156118f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191491906129e6565b8160028151811061192757611927612840565b602090810291909101015292915050565b3361194281612123565b604051637921219560e11b81526001600160a01b038281166004830152306024830152604482018590526064820184905260a06084830152600060a48301527f000000000000000000000000595a70409711f20523bd99b83d088cea9d3f92e1169063f242432a9060c401600060405180830381600087803b1580156119c757600080fd5b505af11580156119db573d6000803e3d6000fd5b5050506001600160a01b03821660008181526007602090815260408083204290558783526003825280832093835292905220805484019055507fea8682dc8d491e977e357bb5a872cc1bfd0cd140cd9b1fef95c5148f919fe91d81611a3f85612253565b611a4885612253565b426040516110a694939291906127fa565b6000546001600160a01b03163314611ab35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610708565b6001600160a01b038116611b2f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610708565b610b338161228d565b6002546040517ff22fb1d3000000000000000000000000000000000000000000000000000000008152600160048201526001600160a01b039091169063f22fb1d390602401602060405180830381865afa158015611b9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bbe9190612a18565b611c0a5760405162461bcd60e51b815260206004820152601260248201527f53616c65206973206e6f742061637469766500000000000000000000000000006044820152606401610708565b336000611c1682611702565b9050600081600281518110611c2d57611c2d612840565b602002602001015182600181518110611c4857611c48612840565b602002602001015183600081518110611c6357611c63612840565b6020026020010151611c7591906127e2565b611c7f91906127e2565b905060008111611cd15760405162461bcd60e51b815260206004820152601260248201527f4e6f20746f6b656e7320746f207374616b6500000000000000000000000000006044820152606401610708565b6000611cde8260026127e2565b60408051600380825260808201909252919250429160009160208201606080368337019050509050600181600081518110611d1b57611d1b612840565b602002602001018181525050600281600181518110611d3c57611d3c612840565b602002602001018181525050600381600281518110611d5d57611d5d612840565b602002602001018181525050611d7286612123565b604051631759616b60e11b81526001600160a01b037f000000000000000000000000595a70409711f20523bd99b83d088cea9d3f92e11690632eb2c2d690611dc4908990309086908b90600401612959565b600060405180830381600087803b158015611dde57600080fd5b505af1158015611df2573d6000803e3d6000fd5b505050506001600160a01b0386166000908152600760209081526040808320859055600c90915281208054859290611e2b9084906127e2565b90915550600190505b60048163ffffffff161015611ea157856001820363ffffffff1681518110611e5e57611e5e612840565b60209081029190910181015163ffffffff831660009081526003835260408082206001600160a01b038c1683529093529190912080549091019055600101611e34565b507f817746107cf51dfd99c990c44b9d8713fdd78578eca5172b189a355ce49d123933828742604051611ed794939291906127fa565b60405180910390a1505050505050565b33611ef5426203f4806127e2565b6001600160a01b03821660009081526007602052604090205410611f5b5760405162461bcd60e51b815260206004820152601860248201527f546f6b656e73206c6f636b656420666f722033206461797300000000000000006044820152606401610708565b611f6481612123565b6000611f6f82610a83565b604080516003808252608082019092529192506000919060208201606080368337019050509050600181600081518110611fab57611fab612840565b602002602001018181525050600281600181518110611fcc57611fcc612840565b602002602001018181525050600381600281518110611fed57611fed612840565b602090810291909101015260015b60048163ffffffff16101561206957826001820363ffffffff168151811061202557612025612840565b60209081029190910181015163ffffffff831660009081526003835260408082206001600160a01b0389168352909352919091208054919091039055600101611ffb565b50604051631759616b60e11b81526001600160a01b037f000000000000000000000000595a70409711f20523bd99b83d088cea9d3f92e11690632eb2c2d6906120bc903090879086908890600401612959565b600060405180830381600087803b1580156120d657600080fd5b505af11580156120ea573d6000803e3d6000fd5b505050507fff20c51538ccc085c61cf63ee5e255767d9f5eeef8ebb2ce21b38439bc4d22d5838284426040516110a694939291906127fa565b6001600160a01b0381166000908152600160205260408120541561214d5761214a82610918565b90505b6001600160a01b0382166000908152600160205260409020429055801561220a576040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152602482018390527f0000000000000000000000003321551494954f2bd682d2614495e365e9dffb2f16906340c10f1990604401600060405180830381600087803b1580156121f157600080fd5b505af1158015612205573d6000803e3d6000fd5b505050505b604080516001600160a01b03841681526020810183905242918101919091527f987d620f307ff6b94d58743cb7a7509f24071586a77759b77c2d4e29f75a2f9a90606001611460565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061192757611927612840565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561230757600080fd5b81356001600160e01b03198116811461231f57600080fd5b9392505050565b6000806040838503121561233957600080fd5b50508035926020909101359150565b6001600160a01b0381168114610b3357600080fd5b60006020828403121561236f57600080fd5b813561231f81612348565b600081518084526020808501945080840160005b838110156123aa5781518752958201959082019060010161238e565b509495945050505050565b60208152600061231f602083018461237a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612407576124076123c8565b604052919050565b600082601f83011261242057600080fd5b813567ffffffffffffffff81111561243a5761243a6123c8565b61244d601f8201601f19166020016123de565b81815284602083860101111561246257600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561249557600080fd5b84356124a081612348565b935060208501356124b081612348565b925060408501359150606085013567ffffffffffffffff8111156124d357600080fd5b6124df8782880161240f565b91505092959194509250565b600080602083850312156124fe57600080fd5b823567ffffffffffffffff8082111561251657600080fd5b818501915085601f83011261252a57600080fd5b81358181111561253957600080fd5b8660208260051b850101111561254e57600080fd5b60209290920196919550909350505050565b6000806040838503121561257357600080fd5b82359150602083013561258581612348565b809150509250929050565b600080604083850312156125a357600080fd5b82356125ae81612348565b946020939093013593505050565b600082601f8301126125cd57600080fd5b8135602067ffffffffffffffff8211156125e9576125e96123c8565b8160051b6125f88282016123de565b928352848101820192828101908785111561261257600080fd5b83870192505b8483101561263157823582529183019190830190612618565b979650505050505050565b60006020828403121561264e57600080fd5b813567ffffffffffffffff81111561266557600080fd5b612671848285016125bc565b949350505050565b8015158114610b3357600080fd5b6000806040838503121561269a57600080fd5b82356126a581612348565b9150602083013561258581612679565b600080600080600060a086880312156126cd57600080fd5b85356126d881612348565b945060208601356126e881612348565b9350604086013567ffffffffffffffff8082111561270557600080fd5b61271189838a016125bc565b9450606088013591508082111561272757600080fd5b61273389838a016125bc565b9350608088013591508082111561274957600080fd5b506127568882890161240f565b9150509295509295909350565b600080600080600060a0868803121561277b57600080fd5b853561278681612348565b9450602086013561279681612348565b93506040860135925060608601359150608086013567ffffffffffffffff8111156127c057600080fd5b6127568882890161240f565b634e487b7160e01b600052601160045260246000fd5b600082198211156127f5576127f56127cc565b500190565b6001600160a01b038516815260806020820152600061281c608083018661237a565b828103604084015261282e818661237a565b91505082606083015295945050505050565b634e487b7160e01b600052603260045260246000fd5b600082821015612868576128686127cc565b500390565b6000816000190483118215151615612887576128876127cc565b500290565b6000826128a957634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156128c057600080fd5b815161231f81612348565b600060ff821660ff81036128e1576128e16127cc565b60010192915050565b6001600160a01b03851681526060602082015282606082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84111561293257600080fd5b8360051b808660808501376000908301608001908152604090920192909252949350505050565b60006001600160a01b03808716835280861660208401525060a0604083015261298560a083018561237a565b8281036060840152612997818561237a565b838103608090940193909352505060008152602001949350505050565b6001600160a01b03841681526060602082015260006129d6606083018561237a565b9050826040830152949350505050565b6000602082840312156129f857600080fd5b5051919050565b600060018201612a1157612a116127cc565b5060010190565b600060208284031215612a2a57600080fd5b815161231f8161267956fea2646970667358221220f261ccb2d68dceb5861ccf30cfcd9998df0ae13b448556e3f3fad8877bbe529a64736f6c634300080d0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000595a70409711f20523bd99b83d088cea9d3f92e1000000000000000000000000125808292f4bb11bf2d01b070d94e19490f7f4dc0000000000000000000000003321551494954f2bd682d2614495e365e9dffb2f
-----Decoded View---------------
Arg [0] : _og (address): 0x595a70409711F20523BD99b83D088CeA9d3f92e1
Arg [1] : _G2 (address): 0x125808292F4Bb11Bf2D01b070d94E19490f7f4Dc
Arg [2] : _token (address): 0x3321551494954f2BD682D2614495E365e9DFfb2F
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000595a70409711f20523bd99b83d088cea9d3f92e1
Arg [1] : 000000000000000000000000125808292f4bb11bf2d01b070d94e19490f7f4dc
Arg [2] : 0000000000000000000000003321551494954f2bd682d2614495e365e9dffb2f
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.