Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 26 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Eth | 19017725 | 235 days ago | IN | 0 ETH | 0.00063043 | ||||
Borrow Share Poo... | 19017721 | 235 days ago | IN | 0 ETH | 0.00108613 | ||||
Borrow Jackpot | 19016518 | 235 days ago | IN | 0 ETH | 0.00140767 | ||||
Buy Ticket By Am... | 18992786 | 238 days ago | IN | 0.003 ETH | 0.00124664 | ||||
Buy Ticket By Am... | 18992761 | 238 days ago | IN | 0.009 ETH | 0.00186277 | ||||
Buy Ticket By Am... | 18992738 | 238 days ago | IN | 0.015 ETH | 0.00269039 | ||||
Buy Ticket By Am... | 18992722 | 238 days ago | IN | 0.009 ETH | 0.0029704 | ||||
Buy Ticket By Am... | 18992704 | 238 days ago | IN | 0.09 ETH | 0.00246331 | ||||
Buy Ticket By Am... | 18992692 | 238 days ago | IN | 0.09 ETH | 0.00335848 | ||||
Buy Ticket By Am... | 18992675 | 238 days ago | IN | 0.15 ETH | 0.00297145 | ||||
Buy Ticket By Am... | 18992658 | 238 days ago | IN | 0.03 ETH | 0.00353278 | ||||
Buy Ticket By Am... | 18992653 | 238 days ago | IN | 0.03 ETH | 0.00248989 | ||||
Buy Ticket By Am... | 18992645 | 238 days ago | IN | 0.03 ETH | 0.00369745 | ||||
Buy Ticket By Am... | 18992634 | 238 days ago | IN | 0.03 ETH | 0.00259379 | ||||
Buy Ticket By Am... | 18992623 | 238 days ago | IN | 0.03 ETH | 0.00367307 | ||||
Buy Ticket By Am... | 18992619 | 238 days ago | IN | 0.03 ETH | 0.00247584 | ||||
Buy Ticket By Am... | 18992618 | 238 days ago | IN | 0.03 ETH | 0.00249636 | ||||
Buy Ticket By Am... | 18992613 | 238 days ago | IN | 0.003 ETH | 0.00308223 | ||||
End Round | 18992602 | 238 days ago | IN | 0 ETH | 0.00104143 | ||||
Reset Rate | 18992553 | 238 days ago | IN | 0 ETH | 0.00112886 | ||||
Buy Ticket By Am... | 18971731 | 241 days ago | IN | 0.03 ETH | 0.00165499 | ||||
Buy Ticket By Am... | 18971708 | 241 days ago | IN | 0.03 ETH | 0.00196466 | ||||
Buy Ticket By Am... | 18971694 | 241 days ago | IN | 0.003 ETH | 0.00252264 | ||||
End Round | 18971679 | 241 days ago | IN | 0 ETH | 0.00071306 | ||||
Set White List L... | 18951557 | 244 days ago | IN | 0 ETH | 0.00184796 |
Loading...
Loading
Contract Name:
Fomo3D
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-01-09 */ // File: @openzeppelin/[email protected]/utils/introspection/IERC165.sol // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); } // File: @openzeppelin/[email protected]/utils/introspection/ERC165.sol // OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol) pragma solidity ^0.8.0; /** * @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) { return interfaceId == type(IERC165).interfaceId; } } // File: @openzeppelin/[email protected]/utils/Strings.sol // OpenZeppelin Contracts v4.4.1 (utils/Strings.sol) pragma solidity ^0.8.0; /** * @dev String operations. */ library Strings { bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef"; /** * @dev Converts a `uint256` to its ASCII `string` decimal representation. */ function toString(uint256 value) internal pure returns (string memory) { // Inspired by OraclizeAPI's implementation - MIT licence // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol if (value == 0) { return "0"; } uint256 temp = value; uint256 digits; while (temp != 0) { digits++; temp /= 10; } bytes memory buffer = new bytes(digits); while (value != 0) { digits -= 1; buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); value /= 10; } return string(buffer); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation. */ function toHexString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0x00"; } uint256 temp = value; uint256 length = 0; while (temp != 0) { length++; temp >>= 8; } return toHexString(value, length); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length. */ function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { bytes memory buffer = new bytes(2 * length + 2); buffer[0] = "0"; buffer[1] = "x"; for (uint256 i = 2 * length + 1; i > 1; --i) { buffer[i] = _HEX_SYMBOLS[value & 0xf]; value >>= 4; } require(value == 0, "Strings: hex length insufficient"); return string(buffer); } } // File: @openzeppelin/[email protected]/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: @openzeppelin/[email protected]/access/IAccessControl.sol // OpenZeppelin Contracts v4.4.1 (access/IAccessControl.sol) pragma solidity ^0.8.0; /** * @dev External interface of AccessControl declared to support ERC165 detection. */ interface IAccessControl { /** * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` * * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite * {RoleAdminChanged} not being emitted signaling this. * * _Available since v3.1._ */ event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole); /** * @dev Emitted when `account` is granted `role`. * * `sender` is the account that originated the contract call, an admin role * bearer except when using {AccessControl-_setupRole}. */ event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender); /** * @dev Emitted when `account` is revoked `role`. * * `sender` is the account that originated the contract call: * - if using `revokeRole`, it is the admin role bearer * - if using `renounceRole`, it is the role bearer (i.e. `account`) */ event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender); /** * @dev Returns `true` if `account` has been granted `role`. */ function hasRole(bytes32 role, address account) external view returns (bool); /** * @dev Returns the admin role that controls `role`. See {grantRole} and * {revokeRole}. * * To change a role's admin, use {AccessControl-_setRoleAdmin}. */ function getRoleAdmin(bytes32 role) external view returns (bytes32); /** * @dev Grants `role` to `account`. * * If `account` had not been already granted `role`, emits a {RoleGranted} * event. * * Requirements: * * - the caller must have ``role``'s admin role. */ function grantRole(bytes32 role, address account) external; /** * @dev Revokes `role` from `account`. * * If `account` had been granted `role`, emits a {RoleRevoked} event. * * Requirements: * * - the caller must have ``role``'s admin role. */ function revokeRole(bytes32 role, address account) external; /** * @dev Revokes `role` from the calling account. * * Roles are often managed via {grantRole} and {revokeRole}: this function's * purpose is to provide a mechanism for accounts to lose their privileges * if they are compromised (such as when a trusted device is misplaced). * * If the calling account had been granted `role`, emits a {RoleRevoked} * event. * * Requirements: * * - the caller must be `account`. */ function renounceRole(bytes32 role, address account) external; } // File: @openzeppelin/[email protected]/access/AccessControl.sol // OpenZeppelin Contracts (last updated v4.5.0) (access/AccessControl.sol) pragma solidity ^0.8.0; /** * @dev Contract module that allows children to implement role-based access * control mechanisms. This is a lightweight version that doesn't allow enumerating role * members except through off-chain means by accessing the contract event logs. Some * applications may benefit from on-chain enumerability, for those cases see * {AccessControlEnumerable}. * * Roles are referred to by their `bytes32` identifier. These should be exposed * in the external API and be unique. The best way to achieve this is by * using `public constant` hash digests: * * ``` * bytes32 public constant MY_ROLE = keccak256("MY_ROLE"); * ``` * * Roles can be used to represent a set of permissions. To restrict access to a * function call, use {hasRole}: * * ``` * function foo() public { * require(hasRole(MY_ROLE, msg.sender)); * ... * } * ``` * * Roles can be granted and revoked dynamically via the {grantRole} and * {revokeRole} functions. Each role has an associated admin role, and only * accounts that have a role's admin role can call {grantRole} and {revokeRole}. * * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means * that only accounts with this role will be able to grant or revoke other * roles. More complex role relationships can be created by using * {_setRoleAdmin}. * * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to * grant and revoke this role. Extra precautions should be taken to secure * accounts that have been granted it. */ abstract contract AccessControl is Context, IAccessControl, ERC165 { struct RoleData { mapping(address => bool) members; bytes32 adminRole; } mapping(bytes32 => RoleData) private _roles; bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00; /** * @dev Modifier that checks that an account has a specific role. Reverts * with a standardized message including the required role. * * The format of the revert reason is given by the following regular expression: * * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/ * * _Available since v4.1._ */ modifier onlyRole(bytes32 role) { _checkRole(role, _msgSender()); _; } /** * @dev See {IERC165-supportsInterface}. */ function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId); } /** * @dev Returns `true` if `account` has been granted `role`. */ function hasRole(bytes32 role, address account) public view virtual override returns (bool) { return _roles[role].members[account]; } /** * @dev Revert with a standard message if `account` is missing `role`. * * The format of the revert reason is given by the following regular expression: * * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/ */ function _checkRole(bytes32 role, address account) internal view virtual { if (!hasRole(role, account)) { revert( string( abi.encodePacked( "AccessControl: account ", Strings.toHexString(uint160(account), 20), " is missing role ", Strings.toHexString(uint256(role), 32) ) ) ); } } /** * @dev Returns the admin role that controls `role`. See {grantRole} and * {revokeRole}. * * To change a role's admin, use {_setRoleAdmin}. */ function getRoleAdmin(bytes32 role) public view virtual override returns (bytes32) { return _roles[role].adminRole; } /** * @dev Grants `role` to `account`. * * If `account` had not been already granted `role`, emits a {RoleGranted} * event. * * Requirements: * * - the caller must have ``role``'s admin role. */ function grantRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) { _grantRole(role, account); } /** * @dev Revokes `role` from `account`. * * If `account` had been granted `role`, emits a {RoleRevoked} event. * * Requirements: * * - the caller must have ``role``'s admin role. */ function revokeRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) { _revokeRole(role, account); } /** * @dev Revokes `role` from the calling account. * * Roles are often managed via {grantRole} and {revokeRole}: this function's * purpose is to provide a mechanism for accounts to lose their privileges * if they are compromised (such as when a trusted device is misplaced). * * If the calling account had been revoked `role`, emits a {RoleRevoked} * event. * * Requirements: * * - the caller must be `account`. */ function renounceRole(bytes32 role, address account) public virtual override { require(account == _msgSender(), "AccessControl: can only renounce roles for self"); _revokeRole(role, account); } /** * @dev Grants `role` to `account`. * * If `account` had not been already granted `role`, emits a {RoleGranted} * event. Note that unlike {grantRole}, this function doesn't perform any * checks on the calling account. * * [WARNING] * ==== * This function should only be called from the constructor when setting * up the initial roles for the system. * * Using this function in any other way is effectively circumventing the admin * system imposed by {AccessControl}. * ==== * * NOTE: This function is deprecated in favor of {_grantRole}. */ function _setupRole(bytes32 role, address account) internal virtual { _grantRole(role, account); } /** * @dev Sets `adminRole` as ``role``'s admin role. * * Emits a {RoleAdminChanged} event. */ function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual { bytes32 previousAdminRole = getRoleAdmin(role); _roles[role].adminRole = adminRole; emit RoleAdminChanged(role, previousAdminRole, adminRole); } /** * @dev Grants `role` to `account`. * * Internal function without access restriction. */ function _grantRole(bytes32 role, address account) internal virtual { if (!hasRole(role, account)) { _roles[role].members[account] = true; emit RoleGranted(role, account, _msgSender()); } } /** * @dev Revokes `role` from `account`. * * Internal function without access restriction. */ function _revokeRole(bytes32 role, address account) internal virtual { if (hasRole(role, account)) { _roles[role].members[account] = false; emit RoleRevoked(role, account, _msgSender()); } } } // File: contracts/Iins.sol pragma solidity ^0.8; /** * @dev Required interface of an ERC721 compliant contract. */ interface Iins { /** * @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 address zero. * * 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); /** * @dev check the balance of the inscription */ function burn(uint tokenId)external ; } // File: contracts/fomo7defi.sol pragma solidity ^0.8.0; contract Fomo3D is AccessControl{ Iins ins; address public lastBuyer; uint256 public endTime; uint constant ONE_ETH = 10**18; uint256 public constant ROUND_DURATION = 5 minutes; uint public accounter; mapping (address => uint) public balance; mapping (address => uint) public share; mapping (address => uint) public points; uint public totalShare; uint public jackpot; uint public lpFund; uint public shareFund; //defi uint public borrowedJackpot; uint public borrowedLpFund; uint public borrowedShareFund; mapping (uint => mapping (address =>uint)) public fomoLaunch;// index => user => balance mapping (uint => mapping (address =>uint)) public whiteListFomoLaunch; mapping (uint =>bool) public islaunch; uint public launchIndex; uint public launchStarTime; uint public launchEndTime; address public whiteListAddr; uint public whiteListLaunchIndex; uint public whiteListLaunchStarTime; uint public whiteListLaunchEndTime; uint256 private _guard; uint public jackpotRate; uint public shareRate; uint public lpRate; uint public shareTax; modifier nonReentrant() { require(_guard == 0, "ReentrancyGuard: reentrant call"); _guard = 1; _; _guard = 0; } bytes32 public constant DEFI_ROLE = keccak256("DEFI_ROLE"); bytes32 public constant ADMIN_ROLE = keccak256("ADMIN_ROLE"); event BuyTickt(address indexed _user,uint indexed _amount); event BurnShare(address indexed _user,uint indexed _amount); constructor(uint _jackpotRate,uint _shareRate,uint _lpRate, uint _shareTax) { _grantRole(DEFAULT_ADMIN_ROLE, msg.sender); _grantRole(DEFI_ROLE, msg.sender); _grantRole(ADMIN_ROLE, msg.sender); startNewRound(); accounter = 1; require(_jackpotRate + _shareRate + _lpRate == 100,"fuck"); jackpotRate = _jackpotRate; shareRate = _shareRate; lpRate = _lpRate; shareTax = _shareTax; } fallback() external payable { } receive() external payable { } function setLaunch(uint _starTime, uint _endTime,uint _index) public onlyRole(ADMIN_ROLE){ launchStarTime = _starTime; launchEndTime = _endTime; launchIndex = _index; } function setWhiteListLaunch(address _whiteListAddr,uint _starTime, uint _endTime,uint _index) public onlyRole(ADMIN_ROLE){ ins = Iins(_whiteListAddr); whiteListAddr = _whiteListAddr; whiteListLaunchStarTime = _starTime; whiteListLaunchEndTime = _endTime; whiteListLaunchIndex = _index; } function resetRate(uint _jackpotRate,uint _shareRate,uint _lpRate, uint _shareTax)public onlyRole(ADMIN_ROLE){ require(_jackpotRate + _shareRate + _lpRate == 100,"fuck"); jackpotRate = _jackpotRate; shareRate = _shareRate; lpRate = _lpRate; shareTax = _shareTax; } function startNewRound() internal { lastBuyer = address(0); endTime = block.timestamp + ROUND_DURATION; } function buyTicketByAmount(uint amount) external payable nonReentrant { require(block.timestamp < endTime, "Game over"); require(msg.value >= amount * 3000000000000000, "Value sent must be greater than 0.003eth"); uint ethAmount = msg.value; if (lastBuyer == address(0)) { lpFund += msg.value ; } else { jackpot += ethAmount*jackpotRate/100; lpFund += ethAmount*lpRate/100; shareFund += ethAmount*shareRate/100; } if(accounter <= 21000){ balance[msg.sender] += amount * 1000; } if((accounter > 21000)&&(accounter < 100000)) { points[msg.sender] += amount * getTimeLeft(); } if((accounter > launchStarTime)&&(accounter < launchEndTime)) { fomoLaunch[launchIndex][msg.sender] += amount; } if((accounter > whiteListLaunchStarTime)&&(accounter < whiteListLaunchEndTime)) { if(ins.balanceOf(msg.sender)>0){ whiteListFomoLaunch[whiteListLaunchIndex][msg.sender] += amount; } } share[msg.sender] += amount * calShare(); totalShare += amount * calShare(); lastBuyer = msg.sender; endTime = block.timestamp + ROUND_DURATION; accounter = accounter + amount; emit BuyTickt(msg.sender, amount * calShare()); } function calShare() public view returns(uint){ if(accounter <= 3000){ uint calShareAmount = 3000000 - accounter*700; return calShareAmount; }else if(accounter < 10000){ return 500000 - accounter*40; }else if(accounter < 30000){ return 50000 - accounter; }else if(accounter < 300000){ return 1000; }else if(accounter < 1000000){ return 100; }else{ return 10; } } function endRound() external onlyRole(ADMIN_ROLE){ require(block.timestamp >= endTime, "Round not over yet"); payable(lastBuyer).transfer(jackpot/2); jackpot = jackpot/2; startNewRound(); } function eth()external onlyRole(ADMIN_ROLE) { payable(msg.sender).transfer(lpFund); lpFund = 0; } function burnShareGetRewards()external nonReentrant(){ require(share[msg.sender] >0,"require share > 0"); emit BurnShare(msg.sender,share[msg.sender]); uint amount = calShareReward(); uint ethAmountWithFee = amount*(100 - shareTax)/100; totalShare -= share[msg.sender]; share[msg.sender] = 0; shareFund -= ethAmountWithFee; payable (msg.sender).transfer(ethAmountWithFee); //emit BurnShare(msg.sender, _amount); } function burnShareGetRewardsByAmount(uint amount)external nonReentrant(){ require(share[msg.sender] >0,"require share > 0"); require(amount >0,"require share > 0"); require(amount <= share[msg.sender],"not enought share"); emit BurnShare(msg.sender,amount); uint ethAmount = calShareRewardByAmount(amount); uint ethAmountWithFee = ethAmount*(100 - shareTax)/100; //uint sharePoolFee = ethAmount*10/100; totalShare -= amount; share[msg.sender] -= amount; shareFund -= ethAmountWithFee; payable (msg.sender).transfer(ethAmountWithFee); //emit BurnShare(msg.sender, _amount); } function calShareReward() public view returns(uint){ uint reward = shareFund*share[msg.sender]/totalShare; return reward; } function calShareRewardByAmount(uint amount) public view returns(uint){ uint reward = shareFund*amount/totalShare; return reward; } function calShareRewardByUser(address user) public view returns(uint){ uint reward = shareFund*share[user]/totalShare; return reward; } function getCurrentJackpot() external view returns (uint256) { return jackpot; } function getTimeLeft() public view returns (uint256) { if (block.timestamp < endTime) { return endTime - block.timestamp; } else { return 0; } } //defi function borrowJackpot(uint amount) public onlyRole(DEFI_ROLE){ payable (msg.sender).transfer(amount); borrowedJackpot += amount; } function borrowSharePool(uint amount) public onlyRole(DEFI_ROLE){ payable (msg.sender).transfer(amount); borrowedShareFund += amount; } function borrowLpPool(uint amount) public onlyRole(DEFI_ROLE){ payable (msg.sender).transfer(amount); borrowedLpFund += amount; } function repayJackpot() public payable onlyRole(DEFI_ROLE){ uint amount = msg.value; borrowedJackpot -= amount; } function repaySharePool() public payable onlyRole(DEFI_ROLE){ uint amount = msg.value; borrowedShareFund -= amount; } function repayLpPool() public payable onlyRole(DEFI_ROLE){ uint amount = msg.value; borrowedLpFund -= amount; } function calErrorEth()public view returns (uint256){ uint ethBalance = address(this).balance; uint errorEthAmount = ethBalance - jackpot - lpFund - shareFund - borrowedJackpot - borrowedLpFund - borrowedShareFund; return errorEthAmount; } function withdrawErrorTransferEth() public onlyRole(DEFI_ROLE){ uint ethBalance = address(this).balance; uint errorEthAmount = ethBalance - jackpot - lpFund - shareFund - borrowedJackpot - borrowedLpFund - borrowedShareFund; payable (msg.sender).transfer(errorEthAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"_jackpotRate","type":"uint256"},{"internalType":"uint256","name":"_shareRate","type":"uint256"},{"internalType":"uint256","name":"_lpRate","type":"uint256"},{"internalType":"uint256","name":"_shareTax","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_user","type":"address"},{"indexed":true,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"BurnShare","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_user","type":"address"},{"indexed":true,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"BuyTickt","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFI_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ROUND_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"accounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"borrowJackpot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"borrowLpPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"borrowSharePool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"borrowedJackpot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"borrowedLpFund","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"borrowedShareFund","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnShareGetRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnShareGetRewardsByAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"buyTicketByAmount","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"calErrorEth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"calShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"calShareReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"calShareRewardByAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"calShareRewardByUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"eth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"fomoLaunch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentJackpot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTimeLeft","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"islaunch","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"jackpot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"jackpotRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastBuyer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchEndTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchStarTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpFund","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"points","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"repayJackpot","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"repayLpPool","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"repaySharePool","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_jackpotRate","type":"uint256"},{"internalType":"uint256","name":"_shareRate","type":"uint256"},{"internalType":"uint256","name":"_lpRate","type":"uint256"},{"internalType":"uint256","name":"_shareTax","type":"uint256"}],"name":"resetRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_starTime","type":"uint256"},{"internalType":"uint256","name":"_endTime","type":"uint256"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"setLaunch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_whiteListAddr","type":"address"},{"internalType":"uint256","name":"_starTime","type":"uint256"},{"internalType":"uint256","name":"_endTime","type":"uint256"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"setWhiteListLaunch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"share","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"shareFund","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"shareRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"shareTax","outputs":[{"internalType":"uint256","name":"","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":[],"name":"totalShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"whiteListAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"whiteListFomoLaunch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"whiteListLaunchEndTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"whiteListLaunchIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"whiteListLaunchStarTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawErrorTransferEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620026bf380380620026bf8339810160408190526200003491620001f3565b620000416000336200011c565b6200006d7fbd02280d2b31376359a6c01f5e558253aed97511defd79f656114bba9a658ce8336200011c565b620000997fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775336200011c565b620000a3620001a5565b600160045581620000b584866200022a565b620000c191906200022a565b606414620001045760405162461bcd60e51b8152600401620000fb906020808252600490820152636675636b60e01b604082015260600190565b60405180910390fd5b601a93909355601b91909155601c55601d556200024c565b620001288282620001c8565b620001a1576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620001603390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600280546001600160a01b0319169055620001c361012c426200022a565b600355565b6000828152602081815260408083206001600160a01b038516845290915290205460ff165b92915050565b600080600080608085870312156200020a57600080fd5b505082516020840151604085015160609095015191969095509092509050565b80820180821115620001ed57634e487b7160e01b600052601160045260246000fd5b612463806200025c6000396000f3fe60806040526004361061035f5760003560e01c8063712954c4116101c4578063c0346d09116100f6578063e2db7b9c1161009a578063ee50cb9d1161006c578063ee50cb9d14610a1b578063f6f2411e14610a3b578063fb62689f14610a51578063fb802a6514610a5957005b8063e2db7b9c146109a2578063e3d670d7146109c2578063e573ba7f146109ef578063ec2e65eb14610a0557005b8063c965aaf0116100d3578063c965aaf014610940578063ca8f1dd814610956578063cfbf1d7b1461096c578063d547741f1461098257005b8063c0346d09146108d3578063c638f4b61461090b578063c7e284b81461092b57005b806391d1485411610168578063a7f50c0a1161013a578063a7f50c0a14610853578063b42053b614610869578063b6ef57d314610889578063be29998a1461089f57005b806391d14854146107a05780639a86469e146107f15780639f57d16e14610829578063a217fddf1461083e57005b806377f1ca17116101a157806377f1ca171461072657806389876a11146107565780638c7c9e0c1461077657806390fc4ce31461078b57005b8063712954c4146106c7578063749aa2d9146106dd57806375b238fc146106f257005b80633197cbb61161029d57806351305eef116102415780635ea49b2e116102135780635ea49b2e146106595780636641ea08146106865780636b31ee011461069c5780636dde4dc9146106b257005b806351305eef1461061d5780635a397905146106335780635ae7ddd21461063b5780635d58a1111461064357005b806336568abe1161027a57806336568abe146105b2578063470f4cba146105d257806349a433a2146105e75780634a281bd8146105fd57005b80633197cbb61461054f578063358b81661461056557806335e3ddef1461059257005b8063193a7e4011610304578063248a9ca3116102e1578063248a9ca3146104cc5780632a2ea199146104fc5780632c5d6e571461050f5780632f2ff15d1461052f57005b8063193a7e401461048b5780631e3a3fec146104a15780631ee29be6146104b757005b80630db76ae11161033d5780630db76ae1146103e157806310627994146103f657806313ecfbfa1461040c5780631877bb5c1461045e57005b80621dd4151461036857806301ffc9a714610388578063026c4207146103bd57005b3661036657005b005b34801561037457600080fd5b506103666103833660046120ab565b610a6f565b34801561039457600080fd5b506103a86103a33660046120e4565b610af9565b60405190151581526020015b60405180910390f35b3480156103c957600080fd5b506103d360085481565b6040519081526020016103b4565b3480156103ed57600080fd5b506103d3610b92565b34801561040257600080fd5b506103d3600a5481565b34801561041857600080fd5b506002546104399073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103b4565b34801561046a57600080fd5b506103d3610479366004612126565b60066020526000908152604090205481565b34801561049757600080fd5b506103d360045481565b3480156104ad57600080fd5b506103d360165481565b3480156104c357600080fd5b50610366610bf0565b3480156104d857600080fd5b506103d36104e7366004612141565b60009081526020819052604090206001015490565b61036661050a366004612141565b610d9e565b34801561051b57600080fd5b5061036661052a36600461215a565b611248565b34801561053b57600080fd5b5061036661054a366004612186565b611282565b34801561055b57600080fd5b506103d360035481565b34801561057157600080fd5b506103d3610580366004612126565b60076020526000908152604090205481565b34801561059e57600080fd5b506103d36105ad366004612141565b6112ad565b3480156105be57600080fd5b506103666105cd366004612186565b6112cb565b3480156105de57600080fd5b506103d3611364565b3480156105f357600080fd5b506103d360145481565b34801561060957600080fd5b50610366610618366004612141565b611404565b34801561062957600080fd5b506103d3601a5481565b610366611478565b6103666114ba565b34801561064f57600080fd5b506103d360175481565b34801561066557600080fd5b506015546104399073ffffffffffffffffffffffffffffffffffffffff1681565b34801561069257600080fd5b506103d361012c81565b3480156106a857600080fd5b506103d360095481565b3480156106be57600080fd5b506103d36114fc565b3480156106d357600080fd5b506103d3600b5481565b3480156106e957600080fd5b5061036661152b565b3480156106fe57600080fd5b506103d37fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b34801561073257600080fd5b506103a8610741366004612141565b60116020526000908152604090205460ff1681565b34801561076257600080fd5b50610366610771366004612141565b61161c565b34801561078257600080fd5b50610366611687565b34801561079757600080fd5b506103666116e9565b3480156107ac57600080fd5b506103a86107bb366004612186565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156107fd57600080fd5b506103d361080c366004612186565b601060209081526000928352604080842090915290825290205481565b34801561083557600080fd5b506009546103d3565b34801561084a57600080fd5b506103d3600081565b34801561085f57600080fd5b506103d360125481565b34801561087557600080fd5b506103666108843660046121b2565b6117a0565b34801561089557600080fd5b506103d3601c5481565b3480156108ab57600080fd5b506103d37fbd02280d2b31376359a6c01f5e558253aed97511defd79f656114bba9a658ce881565b3480156108df57600080fd5b506103d36108ee366004612186565b600f60209081526000928352604080842090915290825290205481565b34801561091757600080fd5b506103d3610926366004612126565b611846565b34801561093757600080fd5b506103d3611881565b34801561094c57600080fd5b506103d3601d5481565b34801561096257600080fd5b506103d3600d5481565b34801561097857600080fd5b506103d3600e5481565b34801561098e57600080fd5b5061036661099d366004612186565b6118a1565b3480156109ae57600080fd5b506103666109bd366004612141565b6118c7565b3480156109ce57600080fd5b506103d36109dd366004612126565b60056020526000908152604090205481565b3480156109fb57600080fd5b506103d360185481565b348015610a1157600080fd5b506103d3600c5481565b348015610a2757600080fd5b50610366610a36366004612141565b611932565b348015610a4757600080fd5b506103d360135481565b610366611b81565b348015610a6557600080fd5b506103d3601b5481565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610a9a8133611bc3565b506001805473ffffffffffffffffffffffffffffffffffffffff9095167fffffffffffffffffffffffff000000000000000000000000000000000000000095861681179091556015805490951617909355601791909155601855601655565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610b8c57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6000804790506000600e54600d54600c54600b54600a5460095487610bb79190612213565b610bc19190612213565b610bcb9190612213565b610bd59190612213565b610bdf9190612213565b610be99190612213565b9392505050565b60195415610c455760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b600160195533600090815260066020526040902054610ca65760405162461bcd60e51b815260206004820152601160248201527f72657175697265207368617265203e20300000000000000000000000000000006044820152606401610c3c565b336000818152600660205260408082205490519092917ffaddfec5b2541216c9e8d42ec31574199eae6b232c24690ab7f661eb95f5859f91a36000610ce96114fc565b905060006064601d546064610cfe9190612213565b610d089084612226565b610d12919061223d565b33600090815260066020526040812054600880549394509092909190610d39908490612213565b9091555050336000908152600660205260408120819055600b8054839290610d62908490612213565b9091555050604051339082156108fc029083906000818181858888f19350505050158015610d94573d6000803e3d6000fd5b5050600060195550565b60195415610dee5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610c3c565b60016019556003544210610e445760405162461bcd60e51b815260206004820152600960248201527f47616d65206f76657200000000000000000000000000000000000000000000006044820152606401610c3c565b610e5581660aa87bee538000612226565b341015610eca5760405162461bcd60e51b815260206004820152602860248201527f56616c75652073656e74206d7573742062652067726561746572207468616e2060448201527f302e3030336574680000000000000000000000000000000000000000000000006064820152608401610c3c565b600254349073ffffffffffffffffffffffffffffffffffffffff16610f065734600a6000828254610efb9190612278565b90915550610f979050565b6064601a5482610f169190612226565b610f20919061223d565b60096000828254610f319190612278565b9091555050601c54606490610f469083612226565b610f50919061223d565b600a6000828254610f619190612278565b9091555050601b54606490610f769083612226565b610f80919061223d565b600b6000828254610f919190612278565b90915550505b61520860045411610fd357610fae826103e8612226565b3360009081526005602052604081208054909190610fcd908490612278565b90915550505b615208600454118015610fea5750620186a0600454105b1561102657610ff7611881565b6110019083612226565b3360009081526007602052604081208054909190611020908490612278565b90915550505b60135460045411801561103c5750601454600454105b15611073576012546000908152600f602090815260408083203384529091528120805484929061106d908490612278565b90915550505b6017546004541180156110895750601854600454105b15611159576001546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa1580156110fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611121919061228b565b111561115957601654600090815260106020908152604080832033845290915281208054849290611153908490612278565b90915550505b611161611364565b61116b9083612226565b336000908152600660205260408120805490919061118a908490612278565b909155506111989050611364565b6111a29083612226565b600860008282546111b39190612278565b9091555050600280547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790556111ee61012c42612278565b6003556004546111ff908390612278565b60045561120a611364565b6112149083612226565b60405133907f38721cc1acb0d38d766479c918857cc41e8e7de067cff4e885b11ecbaa6ac0b590600090a350506000601955565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756112738133611bc3565b50601392909255601455601255565b60008281526020819052604090206001015461129e8133611bc3565b6112a88383611c79565b505050565b60008060085483600b546112c19190612226565b610be9919061223d565b73ffffffffffffffffffffffffffffffffffffffff811633146113565760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610c3c565b6113608282611d69565b5050565b6000610bb8600454116113905760006004546102bc6113839190612226565b610b8c90622dc6c0612213565b61271060045410156113bc576004546113aa906028612226565b6113b7906207a120612213565b905090565b61753060045410156113d7576004546113b79061c350612213565b620493e060045410156113eb57506103e890565b620f424060045410156113fe5750606490565b50600a90565b7fbd02280d2b31376359a6c01f5e558253aed97511defd79f656114bba9a658ce861142f8133611bc3565b604051339083156108fc029084906000818181858888f1935050505015801561145c573d6000803e3d6000fd5b5081600d600082825461146f9190612278565b90915550505050565b7fbd02280d2b31376359a6c01f5e558253aed97511defd79f656114bba9a658ce86114a38133611bc3565b600034905080600d600082825461146f9190612213565b7fbd02280d2b31376359a6c01f5e558253aed97511defd79f656114bba9a658ce86114e58133611bc3565b600034905080600e600082825461146f9190612213565b60085433600090815260066020526040812054600b5491928392909161152191612226565b610b8c919061223d565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756115568133611bc3565b6003544210156115a85760405162461bcd60e51b815260206004820152601260248201527f526f756e64206e6f74206f7665722079657400000000000000000000000000006044820152606401610c3c565b6002805460095473ffffffffffffffffffffffffffffffffffffffff909116916108fc916115d6919061223d565b6040518115909202916000818181858888f193505050501580156115fe573d6000803e3d6000fd5b50600260095461160e919061223d565b600955611619611e20565b50565b7fbd02280d2b31376359a6c01f5e558253aed97511defd79f656114bba9a658ce86116478133611bc3565b604051339083156108fc029084906000818181858888f19350505050158015611674573d6000803e3d6000fd5b5081600c600082825461146f9190612278565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756116b28133611bc3565b600a54604051339180156108fc02916000818181858888f193505050501580156116e0573d6000803e3d6000fd5b50506000600a55565b7fbd02280d2b31376359a6c01f5e558253aed97511defd79f656114bba9a658ce86117148133611bc3565b60004790506000600e54600d54600c54600b54600a54600954876117389190612213565b6117429190612213565b61174c9190612213565b6117569190612213565b6117609190612213565b61176a9190612213565b604051909150339082156108fc029083906000818181858888f1935050505015801561179a573d6000803e3d6000fd5b50505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756117cb8133611bc3565b826117d68587612278565b6117e09190612278565b6064146118315760405162461bcd60e51b8152600401610c3c9060208082526004908201527f6675636b00000000000000000000000000000000000000000000000000000000604082015260600190565b50601a93909355601b91909155601c55601d55565b60085473ffffffffffffffffffffffffffffffffffffffff8216600090815260066020526040812054600b549192839290916112c191612226565b600060035442101561189b57426003546113b79190612213565b50600090565b6000828152602081905260409020600101546118bd8133611bc3565b6112a88383611d69565b7fbd02280d2b31376359a6c01f5e558253aed97511defd79f656114bba9a658ce86118f28133611bc3565b604051339083156108fc029084906000818181858888f1935050505015801561191f573d6000803e3d6000fd5b5081600e600082825461146f9190612278565b601954156119825760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610c3c565b6001601955336000908152600660205260409020546119e35760405162461bcd60e51b815260206004820152601160248201527f72657175697265207368617265203e20300000000000000000000000000000006044820152606401610c3c565b60008111611a335760405162461bcd60e51b815260206004820152601160248201527f72657175697265207368617265203e20300000000000000000000000000000006044820152606401610c3c565b33600090815260066020526040902054811115611a925760405162461bcd60e51b815260206004820152601160248201527f6e6f7420656e6f756768742073686172650000000000000000000000000000006044820152606401610c3c565b604051819033907ffaddfec5b2541216c9e8d42ec31574199eae6b232c24690ab7f661eb95f5859f90600090a36000611aca826112ad565b905060006064601d546064611adf9190612213565b611ae99084612226565b611af3919061223d565b90508260086000828254611b079190612213565b90915550503360009081526006602052604081208054859290611b2b908490612213565b9250508190555080600b6000828254611b449190612213565b9091555050604051339082156108fc029083906000818181858888f19350505050158015611b76573d6000803e3d6000fd5b505060006019555050565b7fbd02280d2b31376359a6c01f5e558253aed97511defd79f656114bba9a658ce8611bac8133611bc3565b600034905080600c600082825461146f9190612213565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661136057611c198173ffffffffffffffffffffffffffffffffffffffff166014611e59565b611c24836020611e59565b604051602001611c359291906122c8565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262461bcd60e51b8252610c3c91600401612349565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166113605760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611d0b3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156113605760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055611e5461012c42612278565b600355565b60606000611e68836002612226565b611e73906002612278565b67ffffffffffffffff811115611e8b57611e8b61239a565b6040519080825280601f01601f191660200182016040528015611eb5576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611eec57611eec6123c9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611f4f57611f4f6123c9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611f8b846002612226565b611f96906001612278565b90505b6001811115612033577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611fd757611fd76123c9565b1a60f81b828281518110611fed57611fed6123c9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361202c816123f8565b9050611f99565b508315610be95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610c3c565b803573ffffffffffffffffffffffffffffffffffffffff811681146120a657600080fd5b919050565b600080600080608085870312156120c157600080fd5b6120ca85612082565b966020860135965060408601359560600135945092505050565b6000602082840312156120f657600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610be957600080fd5b60006020828403121561213857600080fd5b610be982612082565b60006020828403121561215357600080fd5b5035919050565b60008060006060848603121561216f57600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561219957600080fd5b823591506121a960208401612082565b90509250929050565b600080600080608085870312156121c857600080fd5b5050823594602084013594506040840135936060013592509050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610b8c57610b8c6121e4565b8082028115828204841417610b8c57610b8c6121e4565b600082612273577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b80820180821115610b8c57610b8c6121e4565b60006020828403121561229d57600080fd5b5051919050565b60005b838110156122bf5781810151838201526020016122a7565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516123008160178501602088016122a4565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161233d8160288401602088016122a4565b01602801949350505050565b60208152600082518060208401526123688160408501602087016122a4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081612407576124076121e4565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220a3d4d103a06cbd1df8a3b7733035ea1f248fdf21ebf1297185213f7f265dce1664736f6c63430008110033000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000f
Deployed Bytecode
0x60806040526004361061035f5760003560e01c8063712954c4116101c4578063c0346d09116100f6578063e2db7b9c1161009a578063ee50cb9d1161006c578063ee50cb9d14610a1b578063f6f2411e14610a3b578063fb62689f14610a51578063fb802a6514610a5957005b8063e2db7b9c146109a2578063e3d670d7146109c2578063e573ba7f146109ef578063ec2e65eb14610a0557005b8063c965aaf0116100d3578063c965aaf014610940578063ca8f1dd814610956578063cfbf1d7b1461096c578063d547741f1461098257005b8063c0346d09146108d3578063c638f4b61461090b578063c7e284b81461092b57005b806391d1485411610168578063a7f50c0a1161013a578063a7f50c0a14610853578063b42053b614610869578063b6ef57d314610889578063be29998a1461089f57005b806391d14854146107a05780639a86469e146107f15780639f57d16e14610829578063a217fddf1461083e57005b806377f1ca17116101a157806377f1ca171461072657806389876a11146107565780638c7c9e0c1461077657806390fc4ce31461078b57005b8063712954c4146106c7578063749aa2d9146106dd57806375b238fc146106f257005b80633197cbb61161029d57806351305eef116102415780635ea49b2e116102135780635ea49b2e146106595780636641ea08146106865780636b31ee011461069c5780636dde4dc9146106b257005b806351305eef1461061d5780635a397905146106335780635ae7ddd21461063b5780635d58a1111461064357005b806336568abe1161027a57806336568abe146105b2578063470f4cba146105d257806349a433a2146105e75780634a281bd8146105fd57005b80633197cbb61461054f578063358b81661461056557806335e3ddef1461059257005b8063193a7e4011610304578063248a9ca3116102e1578063248a9ca3146104cc5780632a2ea199146104fc5780632c5d6e571461050f5780632f2ff15d1461052f57005b8063193a7e401461048b5780631e3a3fec146104a15780631ee29be6146104b757005b80630db76ae11161033d5780630db76ae1146103e157806310627994146103f657806313ecfbfa1461040c5780631877bb5c1461045e57005b80621dd4151461036857806301ffc9a714610388578063026c4207146103bd57005b3661036657005b005b34801561037457600080fd5b506103666103833660046120ab565b610a6f565b34801561039457600080fd5b506103a86103a33660046120e4565b610af9565b60405190151581526020015b60405180910390f35b3480156103c957600080fd5b506103d360085481565b6040519081526020016103b4565b3480156103ed57600080fd5b506103d3610b92565b34801561040257600080fd5b506103d3600a5481565b34801561041857600080fd5b506002546104399073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103b4565b34801561046a57600080fd5b506103d3610479366004612126565b60066020526000908152604090205481565b34801561049757600080fd5b506103d360045481565b3480156104ad57600080fd5b506103d360165481565b3480156104c357600080fd5b50610366610bf0565b3480156104d857600080fd5b506103d36104e7366004612141565b60009081526020819052604090206001015490565b61036661050a366004612141565b610d9e565b34801561051b57600080fd5b5061036661052a36600461215a565b611248565b34801561053b57600080fd5b5061036661054a366004612186565b611282565b34801561055b57600080fd5b506103d360035481565b34801561057157600080fd5b506103d3610580366004612126565b60076020526000908152604090205481565b34801561059e57600080fd5b506103d36105ad366004612141565b6112ad565b3480156105be57600080fd5b506103666105cd366004612186565b6112cb565b3480156105de57600080fd5b506103d3611364565b3480156105f357600080fd5b506103d360145481565b34801561060957600080fd5b50610366610618366004612141565b611404565b34801561062957600080fd5b506103d3601a5481565b610366611478565b6103666114ba565b34801561064f57600080fd5b506103d360175481565b34801561066557600080fd5b506015546104399073ffffffffffffffffffffffffffffffffffffffff1681565b34801561069257600080fd5b506103d361012c81565b3480156106a857600080fd5b506103d360095481565b3480156106be57600080fd5b506103d36114fc565b3480156106d357600080fd5b506103d3600b5481565b3480156106e957600080fd5b5061036661152b565b3480156106fe57600080fd5b506103d37fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b34801561073257600080fd5b506103a8610741366004612141565b60116020526000908152604090205460ff1681565b34801561076257600080fd5b50610366610771366004612141565b61161c565b34801561078257600080fd5b50610366611687565b34801561079757600080fd5b506103666116e9565b3480156107ac57600080fd5b506103a86107bb366004612186565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156107fd57600080fd5b506103d361080c366004612186565b601060209081526000928352604080842090915290825290205481565b34801561083557600080fd5b506009546103d3565b34801561084a57600080fd5b506103d3600081565b34801561085f57600080fd5b506103d360125481565b34801561087557600080fd5b506103666108843660046121b2565b6117a0565b34801561089557600080fd5b506103d3601c5481565b3480156108ab57600080fd5b506103d37fbd02280d2b31376359a6c01f5e558253aed97511defd79f656114bba9a658ce881565b3480156108df57600080fd5b506103d36108ee366004612186565b600f60209081526000928352604080842090915290825290205481565b34801561091757600080fd5b506103d3610926366004612126565b611846565b34801561093757600080fd5b506103d3611881565b34801561094c57600080fd5b506103d3601d5481565b34801561096257600080fd5b506103d3600d5481565b34801561097857600080fd5b506103d3600e5481565b34801561098e57600080fd5b5061036661099d366004612186565b6118a1565b3480156109ae57600080fd5b506103666109bd366004612141565b6118c7565b3480156109ce57600080fd5b506103d36109dd366004612126565b60056020526000908152604090205481565b3480156109fb57600080fd5b506103d360185481565b348015610a1157600080fd5b506103d3600c5481565b348015610a2757600080fd5b50610366610a36366004612141565b611932565b348015610a4757600080fd5b506103d360135481565b610366611b81565b348015610a6557600080fd5b506103d3601b5481565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610a9a8133611bc3565b506001805473ffffffffffffffffffffffffffffffffffffffff9095167fffffffffffffffffffffffff000000000000000000000000000000000000000095861681179091556015805490951617909355601791909155601855601655565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610b8c57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6000804790506000600e54600d54600c54600b54600a5460095487610bb79190612213565b610bc19190612213565b610bcb9190612213565b610bd59190612213565b610bdf9190612213565b610be99190612213565b9392505050565b60195415610c455760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b600160195533600090815260066020526040902054610ca65760405162461bcd60e51b815260206004820152601160248201527f72657175697265207368617265203e20300000000000000000000000000000006044820152606401610c3c565b336000818152600660205260408082205490519092917ffaddfec5b2541216c9e8d42ec31574199eae6b232c24690ab7f661eb95f5859f91a36000610ce96114fc565b905060006064601d546064610cfe9190612213565b610d089084612226565b610d12919061223d565b33600090815260066020526040812054600880549394509092909190610d39908490612213565b9091555050336000908152600660205260408120819055600b8054839290610d62908490612213565b9091555050604051339082156108fc029083906000818181858888f19350505050158015610d94573d6000803e3d6000fd5b5050600060195550565b60195415610dee5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610c3c565b60016019556003544210610e445760405162461bcd60e51b815260206004820152600960248201527f47616d65206f76657200000000000000000000000000000000000000000000006044820152606401610c3c565b610e5581660aa87bee538000612226565b341015610eca5760405162461bcd60e51b815260206004820152602860248201527f56616c75652073656e74206d7573742062652067726561746572207468616e2060448201527f302e3030336574680000000000000000000000000000000000000000000000006064820152608401610c3c565b600254349073ffffffffffffffffffffffffffffffffffffffff16610f065734600a6000828254610efb9190612278565b90915550610f979050565b6064601a5482610f169190612226565b610f20919061223d565b60096000828254610f319190612278565b9091555050601c54606490610f469083612226565b610f50919061223d565b600a6000828254610f619190612278565b9091555050601b54606490610f769083612226565b610f80919061223d565b600b6000828254610f919190612278565b90915550505b61520860045411610fd357610fae826103e8612226565b3360009081526005602052604081208054909190610fcd908490612278565b90915550505b615208600454118015610fea5750620186a0600454105b1561102657610ff7611881565b6110019083612226565b3360009081526007602052604081208054909190611020908490612278565b90915550505b60135460045411801561103c5750601454600454105b15611073576012546000908152600f602090815260408083203384529091528120805484929061106d908490612278565b90915550505b6017546004541180156110895750601854600454105b15611159576001546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa1580156110fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611121919061228b565b111561115957601654600090815260106020908152604080832033845290915281208054849290611153908490612278565b90915550505b611161611364565b61116b9083612226565b336000908152600660205260408120805490919061118a908490612278565b909155506111989050611364565b6111a29083612226565b600860008282546111b39190612278565b9091555050600280547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790556111ee61012c42612278565b6003556004546111ff908390612278565b60045561120a611364565b6112149083612226565b60405133907f38721cc1acb0d38d766479c918857cc41e8e7de067cff4e885b11ecbaa6ac0b590600090a350506000601955565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756112738133611bc3565b50601392909255601455601255565b60008281526020819052604090206001015461129e8133611bc3565b6112a88383611c79565b505050565b60008060085483600b546112c19190612226565b610be9919061223d565b73ffffffffffffffffffffffffffffffffffffffff811633146113565760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610c3c565b6113608282611d69565b5050565b6000610bb8600454116113905760006004546102bc6113839190612226565b610b8c90622dc6c0612213565b61271060045410156113bc576004546113aa906028612226565b6113b7906207a120612213565b905090565b61753060045410156113d7576004546113b79061c350612213565b620493e060045410156113eb57506103e890565b620f424060045410156113fe5750606490565b50600a90565b7fbd02280d2b31376359a6c01f5e558253aed97511defd79f656114bba9a658ce861142f8133611bc3565b604051339083156108fc029084906000818181858888f1935050505015801561145c573d6000803e3d6000fd5b5081600d600082825461146f9190612278565b90915550505050565b7fbd02280d2b31376359a6c01f5e558253aed97511defd79f656114bba9a658ce86114a38133611bc3565b600034905080600d600082825461146f9190612213565b7fbd02280d2b31376359a6c01f5e558253aed97511defd79f656114bba9a658ce86114e58133611bc3565b600034905080600e600082825461146f9190612213565b60085433600090815260066020526040812054600b5491928392909161152191612226565b610b8c919061223d565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756115568133611bc3565b6003544210156115a85760405162461bcd60e51b815260206004820152601260248201527f526f756e64206e6f74206f7665722079657400000000000000000000000000006044820152606401610c3c565b6002805460095473ffffffffffffffffffffffffffffffffffffffff909116916108fc916115d6919061223d565b6040518115909202916000818181858888f193505050501580156115fe573d6000803e3d6000fd5b50600260095461160e919061223d565b600955611619611e20565b50565b7fbd02280d2b31376359a6c01f5e558253aed97511defd79f656114bba9a658ce86116478133611bc3565b604051339083156108fc029084906000818181858888f19350505050158015611674573d6000803e3d6000fd5b5081600c600082825461146f9190612278565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756116b28133611bc3565b600a54604051339180156108fc02916000818181858888f193505050501580156116e0573d6000803e3d6000fd5b50506000600a55565b7fbd02280d2b31376359a6c01f5e558253aed97511defd79f656114bba9a658ce86117148133611bc3565b60004790506000600e54600d54600c54600b54600a54600954876117389190612213565b6117429190612213565b61174c9190612213565b6117569190612213565b6117609190612213565b61176a9190612213565b604051909150339082156108fc029083906000818181858888f1935050505015801561179a573d6000803e3d6000fd5b50505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756117cb8133611bc3565b826117d68587612278565b6117e09190612278565b6064146118315760405162461bcd60e51b8152600401610c3c9060208082526004908201527f6675636b00000000000000000000000000000000000000000000000000000000604082015260600190565b50601a93909355601b91909155601c55601d55565b60085473ffffffffffffffffffffffffffffffffffffffff8216600090815260066020526040812054600b549192839290916112c191612226565b600060035442101561189b57426003546113b79190612213565b50600090565b6000828152602081905260409020600101546118bd8133611bc3565b6112a88383611d69565b7fbd02280d2b31376359a6c01f5e558253aed97511defd79f656114bba9a658ce86118f28133611bc3565b604051339083156108fc029084906000818181858888f1935050505015801561191f573d6000803e3d6000fd5b5081600e600082825461146f9190612278565b601954156119825760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610c3c565b6001601955336000908152600660205260409020546119e35760405162461bcd60e51b815260206004820152601160248201527f72657175697265207368617265203e20300000000000000000000000000000006044820152606401610c3c565b60008111611a335760405162461bcd60e51b815260206004820152601160248201527f72657175697265207368617265203e20300000000000000000000000000000006044820152606401610c3c565b33600090815260066020526040902054811115611a925760405162461bcd60e51b815260206004820152601160248201527f6e6f7420656e6f756768742073686172650000000000000000000000000000006044820152606401610c3c565b604051819033907ffaddfec5b2541216c9e8d42ec31574199eae6b232c24690ab7f661eb95f5859f90600090a36000611aca826112ad565b905060006064601d546064611adf9190612213565b611ae99084612226565b611af3919061223d565b90508260086000828254611b079190612213565b90915550503360009081526006602052604081208054859290611b2b908490612213565b9250508190555080600b6000828254611b449190612213565b9091555050604051339082156108fc029083906000818181858888f19350505050158015611b76573d6000803e3d6000fd5b505060006019555050565b7fbd02280d2b31376359a6c01f5e558253aed97511defd79f656114bba9a658ce8611bac8133611bc3565b600034905080600c600082825461146f9190612213565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661136057611c198173ffffffffffffffffffffffffffffffffffffffff166014611e59565b611c24836020611e59565b604051602001611c359291906122c8565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262461bcd60e51b8252610c3c91600401612349565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166113605760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611d0b3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156113605760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055611e5461012c42612278565b600355565b60606000611e68836002612226565b611e73906002612278565b67ffffffffffffffff811115611e8b57611e8b61239a565b6040519080825280601f01601f191660200182016040528015611eb5576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611eec57611eec6123c9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611f4f57611f4f6123c9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611f8b846002612226565b611f96906001612278565b90505b6001811115612033577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611fd757611fd76123c9565b1a60f81b828281518110611fed57611fed6123c9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361202c816123f8565b9050611f99565b508315610be95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610c3c565b803573ffffffffffffffffffffffffffffffffffffffff811681146120a657600080fd5b919050565b600080600080608085870312156120c157600080fd5b6120ca85612082565b966020860135965060408601359560600135945092505050565b6000602082840312156120f657600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610be957600080fd5b60006020828403121561213857600080fd5b610be982612082565b60006020828403121561215357600080fd5b5035919050565b60008060006060848603121561216f57600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561219957600080fd5b823591506121a960208401612082565b90509250929050565b600080600080608085870312156121c857600080fd5b5050823594602084013594506040840135936060013592509050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610b8c57610b8c6121e4565b8082028115828204841417610b8c57610b8c6121e4565b600082612273577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b80820180821115610b8c57610b8c6121e4565b60006020828403121561229d57600080fd5b5051919050565b60005b838110156122bf5781810151838201526020016122a7565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516123008160178501602088016122a4565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161233d8160288401602088016122a4565b01602801949350505050565b60208152600082518060208401526123688160408501602087016122a4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081612407576124076121e4565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220a3d4d103a06cbd1df8a3b7733035ea1f248fdf21ebf1297185213f7f265dce1664736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000f
-----Decoded View---------------
Arg [0] : _jackpotRate (uint256): 10
Arg [1] : _shareRate (uint256): 80
Arg [2] : _lpRate (uint256): 10
Arg [3] : _shareTax (uint256): 15
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000050
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000f
Deployed Bytecode Sourcemap
20707:9226:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23151:337;;;;;;;;;;-1:-1:-1;23151:337:0;;;;;:::i;:::-;;:::i;10631:204::-;;;;;;;;;;-1:-1:-1;10631:204:0;;;;;:::i;:::-;;:::i;:::-;;;1113:14:1;;1106:22;1088:41;;1076:2;1061:18;10631:204:0;;;;;;;;21089:22;;;;;;;;;;;;;;;;;;;1286:25:1;;;1274:2;1259:18;21089:22:0;1140:177:1;29341:270:0;;;;;;;;;;;;;:::i;21148:18::-;;;;;;;;;;;;;;;;20761:24;;;;;;;;;;-1:-1:-1;20761:24:0;;;;;;;;;;;1498:42:1;1486:55;;;1468:74;;1456:2;1441:18;20761:24:0;1322:226:1;20998:38:0;;;;;;;;;;-1:-1:-1;20998:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;20923:21;;;;;;;;;;;;;;;;21673:32;;;;;;;;;;;;;;;;26359:503;;;;;;;;;;;;;:::i;12058:131::-;;;;;;;;;;-1:-1:-1;12058:131:0;;;;;:::i;:::-;12132:7;12159:12;;;;;;;;;;:22;;;;12058:131;23958:1489;;;;;;:::i;:::-;;:::i;22937:208::-;;;;;;;;;;-1:-1:-1;22937:208:0;;;;;:::i;:::-;;:::i;12451:147::-;;;;;;;;;;-1:-1:-1;12451:147:0;;;;;:::i;:::-;;:::i;20792:22::-;;;;;;;;;;;;;;;;21043:39;;;;;;;;;;-1:-1:-1;21043:39:0;;;;;:::i;:::-;;;;;;;;;;;;;;27765:154;;;;;;;;;;-1:-1:-1;27765:154:0;;;;;:::i;:::-;;:::i;13499:218::-;;;;;;;;;;-1:-1:-1;13499:218:0;;;;;:::i;:::-;;:::i;25461:520::-;;;;;;;;;;;;;:::i;21604:25::-;;;;;;;;;;;;;;;;28747:152;;;;;;;;;;-1:-1:-1;28747:152:0;;;;;:::i;:::-;;:::i;21832:23::-;;;;;;;;;;;;;;;;29201:134;;;:::i;29053:140::-;;;:::i;21712:35::-;;;;;;;;;;;;;;;;21638:28;;;;;;;;;;-1:-1:-1;21638:28:0;;;;;;;;20860:50;;;;;;;;;;;;20901:9;20860:50;;21122:19;;;;;;;;;;;;;;;;27611:146;;;;;;;;;;;;;:::i;21173:21::-;;;;;;;;;;;;;;;;25991:232;;;;;;;;;;;;;:::i;22175:60::-;;;;;;;;;;;;22212:23;22175:60;;21497:37;;;;;;;;;;-1:-1:-1;21497:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;28417:156;;;;;;;;;;-1:-1:-1;28417:156:0;;;;;:::i;:::-;;:::i;26231:120::-;;;;;;;;;;;;;:::i;29619:305::-;;;;;;;;;;;;;:::i;10927:147::-;;;;;;;;;;-1:-1:-1;10927:147:0;;;;;:::i;:::-;11013:4;11037:12;;;;;;;;;;;:29;;;;;;;;;;;;;;;;10927:147;21421:69;;;;;;;;;;-1:-1:-1;21421:69:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;28093:94;;;;;;;;;;-1:-1:-1;28172:7:0;;28093:94;;10018:49;;;;;;;;;;-1:-1:-1;10018:49:0;10063:4;10018:49;;21541:23;;;;;;;;;;;;;;;;23496:314;;;;;;;;;;-1:-1:-1;23496:314:0;;;;;:::i;:::-;;:::i;21890:18::-;;;;;;;;;;;;;;;;22110:58;;;;;;;;;;;;22146:22;22110:58;;21327:60;;;;;;;;;;-1:-1:-1;21327:60:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;27927:158;;;;;;;;;;-1:-1:-1;27927:158:0;;;;;:::i;:::-;;:::i;28195:202::-;;;;;;;;;;;;;:::i;21917:20::-;;;;;;;;;;;;;;;;21252:26;;;;;;;;;;;;;;;;21285:29;;;;;;;;;;;;;;;;12843:149;;;;;;;;;;-1:-1:-1;12843:149:0;;;;;:::i;:::-;;:::i;28581:158::-;;;;;;;;;;-1:-1:-1;28581:158:0;;;;;:::i;:::-;;:::i;20951:40::-;;;;;;;;;;-1:-1:-1;20951:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;21754:34;;;;;;;;;;;;;;;;21218:27;;;;;;;;;;;;;;;;26872:731;;;;;;;;;;-1:-1:-1;26872:731:0;;;;;:::i;:::-;;:::i;21571:26::-;;;;;;;;;;;;;;;;28907:138;;;:::i;21862:21::-;;;;;;;;;;;;;;;;23151:337;22212:23;10509:30;22212:23;4853:10;10509;:30::i;:::-;-1:-1:-1;23283:3:0::1;:26:::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;23320:13:::1;:30:::0;;;;::::1;;::::0;;;23361:23:::1;:35:::0;;;;23407:22:::1;:33:::0;23451:20:::1;:29:::0;23151:337::o;10631:204::-;10716:4;10740:47;;;10755:32;10740:47;;:87;;-1:-1:-1;1918:25:0;1903:40;;;;10791:36;10733:94;10631:204;-1:-1:-1;;10631:204:0:o;29341:270::-;29384:7;29403:15;29421:21;29403:39;;29453:19;29554:17;;29537:14;;29519:15;;29507:9;;29498:6;;29488:7;;29475:10;:20;;;;:::i;:::-;:29;;;;:::i;:::-;:41;;;;:::i;:::-;:59;;;;:::i;:::-;:76;;;;:::i;:::-;:96;;;;:::i;:::-;29453:118;29341:270;-1:-1:-1;;;29341:270:0:o;26359:503::-;21993:6;;:11;21985:55;;;;-1:-1:-1;;;21985:55:0;;4049:2:1;21985:55:0;;;4031:21:1;4088:2;4068:18;;;4061:30;4127:33;4107:18;;;4100:61;4178:18;;21985:55:0;;;;;;;;;22060:1;22051:6;:10;26437::::1;26450:1;26431:17:::0;;;:5:::1;:17;::::0;;;;;26423:49:::1;;;::::0;-1:-1:-1;;;26423:49:0;;4409:2:1;26423:49:0::1;::::0;::::1;4391:21:1::0;4448:2;4428:18;;;4421:30;4487:19;4467:18;;;4460:47;4524:18;;26423:49:0::1;4207:341:1::0;26423:49:0::1;26515:10;26509:17;::::0;;;:5:::1;:17;::::0;;;;;;26488:39;;26509:17;;26515:10;26488:39:::1;::::0;::::1;26538:11;26552:16;:14;:16::i;:::-;26538:30;;26579:21;26627:3;26617:8;;26611:3;:14;;;;:::i;:::-;26603:23;::::0;:6;:23:::1;:::i;:::-;:27;;;;:::i;:::-;26663:10;26657:17;::::0;;;:5:::1;:17;::::0;;;;;26643:10:::1;:31:::0;;26579:51;;-1:-1:-1;26657:17:0;;26643:10;;26657:17;26643:31:::1;::::0;26657:17;;26643:31:::1;:::i;:::-;::::0;;;-1:-1:-1;;26691:10:0::1;26705:1;26685:17:::0;;;:5:::1;:17;::::0;;;;:21;;;26717:9:::1;:29:::0;;26730:16;;26705:1;26717:29:::1;::::0;26730:16;;26717:29:::1;:::i;:::-;::::0;;;-1:-1:-1;;26757:47:0::1;::::0;26766:10:::1;::::0;26757:47;::::1;;;::::0;26787:16;;26757:47:::1;::::0;;;26787:16;26766:10;26757:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;22093:1:0;22084:6;:10;-1:-1:-1;26359:503:0:o;23958:1489::-;21993:6;;:11;21985:55;;;;-1:-1:-1;;;21985:55:0;;4049:2:1;21985:55:0;;;4031:21:1;4088:2;4068:18;;;4061:30;4127:33;4107:18;;;4100:61;4178:18;;21985:55:0;3847:355:1;21985:55:0;22060:1;22051:6;:10;24065:7:::1;::::0;24047:15:::1;:25;24039:47;;;::::0;-1:-1:-1;;;24039:47:0;;5207:2:1;24039:47:0::1;::::0;::::1;5189:21:1::0;5246:1;5226:18;;;5219:29;5284:11;5264:18;;;5257:39;5313:18;;24039:47:0::1;5005:332:1::0;24039:47:0::1;24118:25;:6:::0;24127:16:::1;24118:25;:::i;:::-;24105:9;:38;;24097:91;;;::::0;-1:-1:-1;;;24097:91:0;;5544:2:1;24097:91:0::1;::::0;::::1;5526:21:1::0;5583:2;5563:18;;;5556:30;5622:34;5602:18;;;5595:62;5693:10;5673:18;;;5666:38;5721:19;;24097:91:0::1;5342:404:1::0;24097:91:0::1;24244:9;::::0;24216::::1;::::0;24244:23:::1;:9;24240:241;;24294:9;24284:6;;:19;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;24240:241:0::1;::::0;-1:-1:-1;24240:241:0::1;;24370:3;24358:11;;24348:9;:21;;;;:::i;:::-;:25;;;;:::i;:::-;24337:7;;:36;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;24408:6:0::1;::::0;24415:3:::1;::::0;24398:16:::1;::::0;:9;:16:::1;:::i;:::-;:20;;;;:::i;:::-;24388:6;;:30;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;24456:9:0::1;::::0;24466:3:::1;::::0;24446:19:::1;::::0;:9;:19:::1;:::i;:::-;:23;;;;:::i;:::-;24433:9;;:36;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;24240:241:0::1;24533:5;24520:9;;:18;24517:85;;24577:13;:6:::0;24586:4:::1;24577:13;:::i;:::-;24562:10;24554:19;::::0;;;:7:::1;:19;::::0;;;;:36;;:19;;;:36:::1;::::0;;;::::1;:::i;:::-;::::0;;;-1:-1:-1;;24517:85:0::1;24628:5;24616:9;;:17;24615:41;;;;;24649:6;24637:9;;:18;24615:41;24612:126;;;24713:13;:11;:13::i;:::-;24704:22;::::0;:6;:22:::1;:::i;:::-;24689:10;24682:18;::::0;;;:6:::1;:18;::::0;;;;:44;;:18;;;:44:::1;::::0;;;::::1;:::i;:::-;::::0;;;-1:-1:-1;;24612:126:0::1;24766:14;;24754:9;;:26;24753:57;;;;;24796:13;;24784:9;;:25;24753:57;24750:143;;;24847:11;::::0;24836:23:::1;::::0;;;:10:::1;:23;::::0;;;;;;;24860:10:::1;24836:35:::0;;;;;;;:45;;24875:6;;24836:23;:45:::1;::::0;24875:6;;24836:45:::1;:::i;:::-;::::0;;;-1:-1:-1;;24750:143:0::1;24921:23;;24909:9;;:35;24908:75;;;;;24960:22;;24948:9;;:34;24908:75;24905:246;;;25012:3;::::0;:25:::1;::::0;;;;25026:10:::1;25012:25;::::0;::::1;1468:74:1::0;25038:1:0::1;::::0;25012:3:::1;;::::0;:13:::1;::::0;1441:18:1;;25012:25:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:27;25009:129;;;25079:20;::::0;25059:41:::1;::::0;;;:19:::1;:41;::::0;;;;;;;25101:10:::1;25059:53:::0;;;;;;;:63;;25116:6;;25059:41;:63:::1;::::0;25116:6;;25059:63:::1;:::i;:::-;::::0;;;-1:-1:-1;;25009:129:0::1;25193:10;:8;:10::i;:::-;25184:19;::::0;:6;:19:::1;:::i;:::-;25169:10;25163:17;::::0;;;:5:::1;:17;::::0;;;;:40;;:17;;;:40:::1;::::0;;;::::1;:::i;:::-;::::0;;;-1:-1:-1;25237:10:0::1;::::0;-1:-1:-1;25237:8:0::1;:10::i;:::-;25228:19;::::0;:6;:19:::1;:::i;:::-;25214:10;;:33;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;25262:9:0::1;:22:::0;;;::::1;25274:10;25262:22;::::0;;25305:32:::1;20901:9;25305:15;:32;:::i;:::-;25295:7;:42:::0;25362:9:::1;::::0;:18:::1;::::0;25374:6;;25362:18:::1;:::i;:::-;25350:9;:30:::0;25428:10:::1;:8;:10::i;:::-;25419:19;::::0;:6;:19:::1;:::i;:::-;25398:41;::::0;25407:10:::1;::::0;25398:41:::1;::::0;;;::::1;-1:-1:-1::0;;22093:1:0;22084:6;:10;23958:1489::o;22937:208::-;22212:23;10509:30;22212:23;4853:10;10509;:30::i;:::-;-1:-1:-1;23043:14:0::1;:26:::0;;;;23080:13:::1;:24:::0;23115:11:::1;:20:::0;22937:208::o;12451:147::-;12132:7;12159:12;;;;;;;;;;:22;;;10509:30;10520:4;4853:10;10509;:30::i;:::-;12565:25:::1;12576:4;12582:7;12565:10;:25::i;:::-;12451:147:::0;;;:::o;27765:154::-;27830:4;27846:11;27877:10;;27870:6;27860:9;;:16;;;;:::i;:::-;:27;;;;:::i;13499:218::-;13595:23;;;4853:10;13595:23;13587:83;;;;-1:-1:-1;;;13587:83:0;;6272:2:1;13587:83:0;;;6254:21:1;6311:2;6291:18;;;6284:30;6350:34;6330:18;;;6323:62;6421:17;6401:18;;;6394:45;6456:19;;13587:83:0;6070:411:1;13587:83:0;13683:26;13695:4;13701:7;13683:11;:26::i;:::-;13499:218;;:::o;25461:520::-;25501:4;25533;25520:9;;:17;25517:457;;25553:19;25585:9;;25595:3;25585:13;;;;:::i;:::-;25575:23;;:7;:23;:::i;25517:457::-;25666:5;25654:9;;:17;25651:323;;;25703:9;;:12;;25713:2;25703:12;:::i;:::-;25694:21;;:6;:21;:::i;:::-;25687:28;;25461:520;:::o;25651:323::-;25747:5;25735:9;;:17;25732:242;;;25783:9;;25775:17;;:5;:17;:::i;25732:242::-;25824:6;25812:9;;:18;25809:165;;;-1:-1:-1;25853:4:0;;25461:520::o;25809:165::-;25889:7;25877:9;;:19;25874:100;;;-1:-1:-1;25919:3:0;;25461:520::o;25874:100::-;-1:-1:-1;25960:2:0;;25461:520::o;28747:152::-;22146:22;10509:30;22146:22;4853:10;10509;:30::i;:::-;28819:37:::1;::::0;28828:10:::1;::::0;28819:37;::::1;;;::::0;28849:6;;28819:37:::1;::::0;;;28849:6;28828:10;28819:37;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;28885:6;28867:14;;:24;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;;28747:152:0:o;29201:134::-;22146:22;10509:30;22146:22;4853:10;10509;:30::i;:::-;29269:11:::1;29283:9;29269:23;;29321:6;29303:14;;:24;;;;;;;:::i;29053:140::-:0;22146:22;10509:30;22146:22;4853:10;10509;:30::i;:::-;29124:11:::1;29138:9;29124:23;;29179:6;29158:17;;:27;;;;;;;:::i;27611:146::-:0;27715:10;;27703;27657:4;27697:17;;;:5;:17;;;;;;27687:9;;27657:4;;;;27715:10;;27687:27;;;:::i;:::-;:38;;;;:::i;25991:232::-;22212:23;10509:30;22212:23;4853:10;10509;:30::i;:::-;26078:7:::1;;26059:15;:26;;26051:57;;;::::0;-1:-1:-1;;;26051:57:0;;6688:2:1;26051:57:0::1;::::0;::::1;6670:21:1::0;6727:2;6707:18;;;6700:30;6766:20;6746:18;;;6739:48;6804:18;;26051:57:0::1;6486:342:1::0;26051:57:0::1;26127:9;::::0;;26147:7:::1;::::0;26127:9:::1;::::0;;::::1;::::0;26119:38:::1;::::0;26147:9:::1;::::0;26127;26147::::1;:::i;:::-;26119:38;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;26186:1;26178:7;;:9;;;;:::i;:::-;26168:7;:19:::0;26200:15:::1;:13;:15::i;:::-;25991:232:::0;:::o;28417:156::-;22146:22;10509:30;22146:22;4853:10;10509;:30::i;:::-;28490:37:::1;::::0;28499:10:::1;::::0;28490:37;::::1;;;::::0;28520:6;;28490:37:::1;::::0;;;28520:6;28499:10;28490:37;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;28557:6;28538:15;;:25;;;;;;;:::i;26231:120::-:0;22212:23;10509:30;22212:23;4853:10;10509;:30::i;:::-;26315:6:::1;::::0;26286:36:::1;::::0;26294:10:::1;::::0;26286:36;::::1;;;::::0;::::1;::::0;;;26315:6;26294:10;26286:36;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;26342:1:0::1;26333:6;:10:::0;26231:120::o;29619:305::-;22146:22;10509:30;22146:22;4853:10;10509;:30::i;:::-;29692:15:::1;29710:21;29692:39;;29742:19;29843:17;;29826:14;;29808:15;;29796:9;;29787:6;;29777:7;;29764:10;:20;;;;:::i;:::-;:29;;;;:::i;:::-;:41;;;;:::i;:::-;:59;;;;:::i;:::-;:76;;;;:::i;:::-;:96;;;;:::i;:::-;29871:45;::::0;29742:118;;-1:-1:-1;29880:10:0::1;::::0;29871:45;::::1;;;::::0;29742:118;;29871:45:::1;::::0;;;29742:118;29880:10;29871:45;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;29681:243;;29619:305:::0;:::o;23496:314::-;22212:23;10509:30;22212:23;4853:10;10509;:30::i;:::-;23652:7;23624:25:::1;23639:10:::0;23624:12;:25:::1;:::i;:::-;:35;;;;:::i;:::-;23663:3;23624:42;23616:58;;;;-1:-1:-1::0;;;23616:58:0::1;;;;;;7035:2:1::0;7017:21;;;7074:1;7054:18;;;7047:29;7112:6;7107:2;7092:18;;7085:34;7151:2;7136:18;;6833:327;23616:58:0::1;-1:-1:-1::0;23685:11:0::1;:26:::0;;;;23722:9:::1;:22:::0;;;;23755:6:::1;:16:::0;23782:8:::1;:20:::0;23496:314::o;27927:158::-;28043:10;;28031:11;;;27991:4;28031:11;;;:5;:11;;;;;;28021:9;;27991:4;;;;28043:10;;28021:21;;;:::i;28195:202::-;28239:7;28281;;28263:15;:25;28259:131;;;28322:15;28312:7;;:25;;;;:::i;28259:131::-;-1:-1:-1;28377:1:0;;28195:202::o;12843:149::-;12132:7;12159:12;;;;;;;;;;:22;;;10509:30;10520:4;4853:10;10509;:30::i;:::-;12958:26:::1;12970:4;12976:7;12958:11;:26::i;28581:158::-:0;22146:22;10509:30;22146:22;4853:10;10509;:30::i;:::-;28656:37:::1;::::0;28665:10:::1;::::0;28656:37;::::1;;;::::0;28686:6;;28656:37:::1;::::0;;;28686:6;28665:10;28656:37;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;28725:6;28704:17;;:27;;;;;;;:::i;26872:731::-:0;21993:6;;:11;21985:55;;;;-1:-1:-1;;;21985:55:0;;4049:2:1;21985:55:0;;;4031:21:1;4088:2;4068:18;;;4061:30;4127:33;4107:18;;;4100:61;4178:18;;21985:55:0;3847:355:1;21985:55:0;22060:1;22051:6;:10;26969::::1;26982:1;26963:17:::0;;;:5:::1;:17;::::0;;;;;26955:49:::1;;;::::0;-1:-1:-1;;;26955:49:0;;4409:2:1;26955:49:0::1;::::0;::::1;4391:21:1::0;4448:2;4428:18;;;4421:30;4487:19;4467:18;;;4460:47;4524:18;;26955:49:0::1;4207:341:1::0;26955:49:0::1;27031:1;27023:6;:9;27015:38;;;::::0;-1:-1:-1;;;27015:38:0;;4409:2:1;27015:38:0::1;::::0;::::1;4391:21:1::0;4448:2;4428:18;;;4421:30;4487:19;4467:18;;;4460:47;4524:18;;27015:38:0::1;4207:341:1::0;27015:38:0::1;27088:10;27082:17;::::0;;;:5:::1;:17;::::0;;;;;27072:27;::::1;;27064:56;;;::::0;-1:-1:-1;;;27064:56:0;;7367:2:1;27064:56:0::1;::::0;::::1;7349:21:1::0;7406:2;7386:18;;;7379:30;7445:19;7425:18;;;7418:47;7482:18;;27064:56:0::1;7165:341:1::0;27064:56:0::1;27136:28;::::0;27157:6;;27146:10:::1;::::0;27136:28:::1;::::0;;;::::1;27185:14;27202:30;27225:6;27202:22;:30::i;:::-;27185:47;;27243:21;27294:3;27284:8;;27278:3;:14;;;;:::i;:::-;27267:26;::::0;:9;:26:::1;:::i;:::-;:30;;;;:::i;:::-;27243:54;;27373:6;27359:10;;:20;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;27396:10:0::1;27390:17;::::0;;;:5:::1;:17;::::0;;;;:27;;27411:6;;27390:17;:27:::1;::::0;27411:6;;27390:27:::1;:::i;:::-;;;;;;;;27451:16;27438:9;;:29;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;27498:47:0::1;::::0;27507:10:::1;::::0;27498:47;::::1;;;::::0;27528:16;;27498:47:::1;::::0;;;27528:16;27507:10;27498:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;22093:1:0;22084:6;:10;-1:-1:-1;;26872:731:0:o;28907:138::-;22146:22;10509:30;22146:22;4853:10;10509;:30::i;:::-;28976:11:::1;28990:9;28976:23;;29029:6;29010:15;;:25;;;;;;;:::i;11364:505::-:0;11013:4;11037:12;;;;;;;;;;;:29;;;;;;;;;;;;;11448:414;;11641:41;11669:7;11641:41;;11679:2;11641:19;:41::i;:::-;11755:38;11783:4;11790:2;11755:19;:38::i;:::-;11546:270;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;11492:358:0;;;;;;;:::i;15000:238::-;11013:4;11037:12;;;;;;;;;;;:29;;;;;;;;;;;;;15079:152;;15123:6;:12;;;;;;;;;;;:29;;;;;;;;;;:36;;;;15155:4;15123:36;;;15206:12;4853:10;;4773:98;15206:12;15179:40;;15197:7;15179:40;;15191:4;15179:40;;;;;;;;;;15000:238;;:::o;15370:239::-;11013:4;11037:12;;;;;;;;;;;:29;;;;;;;;;;;;;15450:152;;;15525:5;15493:12;;;;;;;;;;;:29;;;;;;;;;;;:37;;;;;;15550:40;4853:10;;15493:12;;15550:40;;15525:5;15550:40;15370:239;;:::o;23822:128::-;23867:9;:22;;;;;;23910:32;20901:9;23910:15;:32;:::i;:::-;23900:7;:42;23822:128::o;3630:451::-;3705:13;3731:19;3763:10;3767:6;3763:1;:10;:::i;:::-;:14;;3776:1;3763:14;:::i;:::-;3753:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3753:25:0;;3731:47;;3789:15;:6;3796:1;3789:9;;;;;;;;:::i;:::-;;;;:15;;;;;;;;;;;3815;:6;3822:1;3815:9;;;;;;;;:::i;:::-;;;;:15;;;;;;;;;;-1:-1:-1;3846:9:0;3858:10;3862:6;3858:1;:10;:::i;:::-;:14;;3871:1;3858:14;:::i;:::-;3846:26;;3841:135;3878:1;3874;:5;3841:135;;;3913:12;3926:5;3934:3;3926:11;3913:25;;;;;;;:::i;:::-;;;;3901:6;3908:1;3901:9;;;;;;;;:::i;:::-;;;;:37;;;;;;;;;;-1:-1:-1;3963:1:0;3953:11;;;;;3881:3;;;:::i;:::-;;;3841:135;;;-1:-1:-1;3994:10:0;;3986:55;;;;-1:-1:-1;;;3986:55:0;;9824:2:1;3986:55:0;;;9806:21:1;;;9843:18;;;9836:30;9902:34;9882:18;;;9875:62;9954:18;;3986:55:0;9622:356:1;14:196;82:20;;142:42;131:54;;121:65;;111:93;;200:1;197;190:12;111:93;14:196;;;:::o;215:391::-;301:6;309;317;325;378:3;366:9;357:7;353:23;349:33;346:53;;;395:1;392;385:12;346:53;418:29;437:9;418:29;:::i;:::-;408:39;494:2;479:18;;466:32;;-1:-1:-1;545:2:1;530:18;;517:32;;596:2;581:18;568:32;;-1:-1:-1;215:391:1;-1:-1:-1;;;215:391:1:o;611:332::-;669:6;722:2;710:9;701:7;697:23;693:32;690:52;;;738:1;735;728:12;690:52;777:9;764:23;827:66;820:5;816:78;809:5;806:89;796:117;;909:1;906;899:12;1553:186;1612:6;1665:2;1653:9;1644:7;1640:23;1636:32;1633:52;;;1681:1;1678;1671:12;1633:52;1704:29;1723:9;1704:29;:::i;1744:180::-;1803:6;1856:2;1844:9;1835:7;1831:23;1827:32;1824:52;;;1872:1;1869;1862:12;1824:52;-1:-1:-1;1895:23:1;;1744:180;-1:-1:-1;1744:180:1:o;2296:316::-;2373:6;2381;2389;2442:2;2430:9;2421:7;2417:23;2413:32;2410:52;;;2458:1;2455;2448:12;2410:52;-1:-1:-1;;2481:23:1;;;2551:2;2536:18;;2523:32;;-1:-1:-1;2602:2:1;2587:18;;;2574:32;;2296:316;-1:-1:-1;2296:316:1:o;2617:254::-;2685:6;2693;2746:2;2734:9;2725:7;2721:23;2717:32;2714:52;;;2762:1;2759;2752:12;2714:52;2798:9;2785:23;2775:33;;2827:38;2861:2;2850:9;2846:18;2827:38;:::i;:::-;2817:48;;2617:254;;;;;:::o;3135:385::-;3221:6;3229;3237;3245;3298:3;3286:9;3277:7;3273:23;3269:33;3266:53;;;3315:1;3312;3305:12;3266:53;-1:-1:-1;;3338:23:1;;;3408:2;3393:18;;3380:32;;-1:-1:-1;3459:2:1;3444:18;;3431:32;;3510:2;3495:18;3482:32;;-1:-1:-1;3135:385:1;-1:-1:-1;3135:385:1:o;3525:184::-;3577:77;3574:1;3567:88;3674:4;3671:1;3664:15;3698:4;3695:1;3688:15;3714:128;3781:9;;;3802:11;;;3799:37;;;3816:18;;:::i;4553:168::-;4626:9;;;4657;;4674:15;;;4668:22;;4654:37;4644:71;;4695:18;;:::i;4726:274::-;4766:1;4792;4782:189;;4827:77;4824:1;4817:88;4928:4;4925:1;4918:15;4956:4;4953:1;4946:15;4782:189;-1:-1:-1;4985:9:1;;4726:274::o;5751:125::-;5816:9;;;5837:10;;;5834:36;;;5850:18;;:::i;5881:184::-;5951:6;6004:2;5992:9;5983:7;5979:23;5975:32;5972:52;;;6020:1;6017;6010:12;5972:52;-1:-1:-1;6043:16:1;;5881:184;-1:-1:-1;5881:184:1:o;7511:250::-;7596:1;7606:113;7620:6;7617:1;7614:13;7606:113;;;7696:11;;;7690:18;7677:11;;;7670:39;7642:2;7635:10;7606:113;;;-1:-1:-1;;7753:1:1;7735:16;;7728:27;7511:250::o;7766:812::-;8177:25;8172:3;8165:38;8147:3;8232:6;8226:13;8248:75;8316:6;8311:2;8306:3;8302:12;8295:4;8287:6;8283:17;8248:75;:::i;:::-;8387:19;8382:2;8342:16;;;8374:11;;;8367:40;8432:13;;8454:76;8432:13;8516:2;8508:11;;8501:4;8489:17;;8454:76;:::i;:::-;8550:17;8569:2;8546:26;;7766:812;-1:-1:-1;;;;7766:812:1:o;8583:455::-;8732:2;8721:9;8714:21;8695:4;8764:6;8758:13;8807:6;8802:2;8791:9;8787:18;8780:34;8823:79;8895:6;8890:2;8879:9;8875:18;8870:2;8862:6;8858:15;8823:79;:::i;:::-;8954:2;8942:15;8959:66;8938:88;8923:104;;;;9029:2;8919:113;;8583:455;-1:-1:-1;;8583:455:1:o;9043:184::-;9095:77;9092:1;9085:88;9192:4;9189:1;9182:15;9216:4;9213:1;9206:15;9232:184;9284:77;9281:1;9274:88;9381:4;9378:1;9371:15;9405:4;9402:1;9395:15;9421:196;9460:3;9488:5;9478:39;;9497:18;;:::i;:::-;-1:-1:-1;9544:66:1;9533:78;;9421:196::o
Swarm Source
ipfs://a3d4d103a06cbd1df8a3b7733035ea1f248fdf21ebf1297185213f7f265dce16
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.