Contract Overview
Balance:
0 AVAX
AVAX Value:
$0.00
My Name Tag:
Not Available, login to update
[ Download CSV Export ]
Contract Name:
Node
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at snowtrace.io on 2022-05-28 */ /** *Submitted for verification at snowtrace.io on 2022-05-26 */ // SPDX-License-Identifier: MIT // File @openzeppelin/contracts-old/token/ERC20/[email protected] pragma solidity ^0.6.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // File @openzeppelin/contracts-old/math/[email protected] pragma solidity ^0.6.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } // File @openzeppelin/contracts-old/utils/[email protected] pragma solidity ^0.6.2; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } } // File @openzeppelin/contracts-old/token/ERC20/[email protected] pragma solidity ^0.6.0; /** * @title SafeERC20 * @dev Wrappers around ERC20 operations that throw on failure (when the token * contract returns false). Tokens that return no value (and instead revert or * throw on failure) are also supported, non-reverting calls are assumed to be * successful. * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract, * which allows you to call the safe operations as `token.safeTransfer(...)`, etc. */ library SafeERC20 { using SafeMath for uint256; using Address for address; function safeTransfer(IERC20 token, address to, uint256 value) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); } function safeApprove(IERC20 token, address spender, uint256 value) internal { // safeApprove should only be called when setting an initial allowance, // or when resetting it to zero. To increase and decrease it, use // 'safeIncreaseAllowance' and 'safeDecreaseAllowance' // solhint-disable-next-line max-line-length require((value == 0) || (token.allowance(address(this), spender) == 0), "SafeERC20: approve from non-zero to non-zero allowance" ); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); } function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).add(value); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero"); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } /** * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement * on the return value: the return value is optional (but if data is returned, it must not be false). * @param token The token targeted by the call. * @param data The call data (encoded using abi.encode or one of its variants). */ function _callOptionalReturn(IERC20 token, bytes memory data) private { // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since // we're implementing it ourselves. // A Solidity high level call has three parts: // 1. The target address is checked to verify it contains contract code // 2. The call itself is made, and success asserted // 3. The return value is decoded, which in turn checks the size of the returned data. // solhint-disable-next-line max-line-length require(address(token).isContract(), "SafeERC20: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = address(token).call(data); require(success, "SafeERC20: low-level call failed"); if (returndata.length > 0) { // Return data is optional // solhint-disable-next-line max-line-length require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } // File contracts/distribution/Node.sol pragma experimental ABIEncoderV2; pragma solidity 0.6.12; contract Node { using SafeERC20 for IERC20; using SafeMath for uint256; IERC20 public constant TOKEN = IERC20(0x03d15E0451e54Eec95ac5AcB5B0a7ce69638c62A); uint256[] public tierAllocPoints = [1 ether, 1 ether, 1 ether]; uint256[] public tierAmounts = [0.0000018 ether, 1 ether, 1 ether]; struct User { uint256 total_deposits; uint256 total_claims; uint256 last_distPoints; } event CreateNode(uint256 timestamp, address account, uint256 num); address private dev; mapping(address => User) public users; mapping(address => mapping(uint256 => uint256)) public nodes; mapping(uint256 => uint256) public totalNodes; address[] public userIndices; uint256 public total_deposited; uint256 public total_claimed; uint256 public total_rewards; uint256 public treasury_rewards; uint256 public treasuryFeePercent; uint256 public totalDistributeRewards; uint256 public totalDistributePoints; uint256 public maxReturnPercent; uint256 public dripRate; uint256 public lastDripTime; uint256 public startTime; bool public enabled; uint256 public constant MULTIPLIER = 10e18; constructor(uint256 _startTime) public { maxReturnPercent = 500; dripRate = 2100000; treasuryFeePercent = 25; lastDripTime = _startTime > block.timestamp ? _startTime : block.timestamp; startTime = _startTime; enabled = true; dev = msg.sender; } receive() external payable { revert("Do not send AVAX."); } modifier onlyDev() { require(msg.sender == dev, "Caller is not the dev!"); _; } function changeDev(address payable newDev) external onlyDev { require(newDev != address(0), "Zero address"); dev = newDev; } function claimTreasuryRewards() external { if (treasury_rewards > 0) { TOKEN.safeTransfer(dev, treasury_rewards); treasury_rewards = 0; } } function setStartTime(uint256 _startTime) external onlyDev { startTime = _startTime; } function setEnabled(bool _enabled) external onlyDev { enabled = _enabled; } function setTreasuryFeePercent(uint256 percent) external onlyDev { treasuryFeePercent = percent; } function setDripRate(uint256 rate) external onlyDev { dripRate = rate; } function setLastDripTime(uint256 timestamp) external onlyDev { lastDripTime = timestamp; } function setMaxReturnPercent(uint256 percent) external onlyDev { maxReturnPercent = percent; } function setTierValues(uint256[] memory _tierAllocPoints, uint256[] memory _tierAmounts) external onlyDev { require(_tierAllocPoints.length == _tierAmounts.length, "Length mismatch"); tierAllocPoints = _tierAllocPoints; tierAmounts = _tierAmounts; } function setUser(address _addr, User memory _user) external onlyDev { total_deposited = total_deposited.sub(users[_addr].total_deposits).add(_user.total_deposits); total_claimed = total_claimed.sub(users[_addr].total_claims).add(_user.total_claims); users[_addr].total_deposits = _user.total_deposits; users[_addr].total_claims = _user.total_claims; } function setNodes(address _user, uint256[] memory _nodes) external onlyDev { for(uint256 i = 0; i < _nodes.length; i++) { totalNodes[i] = totalNodes[i].sub(nodes[_user][i]).add( _nodes[i]); nodes[_user][i] = _nodes[i]; } } function totalAllocPoints() public view returns (uint256) { uint256 total = 0; for (uint256 i = 0; i < tierAllocPoints.length; i++) { total = total.add(tierAllocPoints[i].mul(totalNodes[i])); } return total; } function allocPoints(address account) public view returns (uint256) { uint256 total = 0; for (uint256 i = 0; i < tierAllocPoints.length; i++) { total = total.add(tierAllocPoints[i].mul(nodes[account][i])); } return total; } function getDistributionRewards(address account) public view returns (uint256) { if (isMaxPayout(account)) return 0; uint256 newDividendPoints = totalDistributePoints.sub(users[account].last_distPoints); uint256 distribute = allocPoints(account).mul(newDividendPoints).div(MULTIPLIER); return distribute > total_rewards ? total_rewards : distribute; } function getTotalRewards(address _sender) public view returns (uint256) { if (users[_sender].total_deposits == 0) return 0; uint256 rewards = getDistributionRewards(_sender).add(getRewardDrip().mul(allocPoints(_sender)).div(totalAllocPoints())); uint256 totalClaims = users[_sender].total_claims; uint256 maxPay = maxPayout(_sender); // Payout remaining if exceeds max payout return totalClaims.add(rewards) > maxPay ? maxPay.sub(totalClaims) : rewards; } function create(uint256 nodeTier, uint256 numNodes) external { address _sender = msg.sender; require(enabled && block.timestamp >= startTime, "Disabled"); require(nodeTier < tierAllocPoints.length && nodeTier < tierAmounts.length, "Invalid nodeTier"); claim(); if (users[_sender].total_deposits == 0) { userIndices.push(_sender); // New user users[_sender].last_distPoints = totalDistributePoints; } if (users[_sender].total_deposits != 0 && isMaxPayout(_sender)) { users[_sender].last_distPoints = totalDistributePoints; } uint256 tierPrice = tierAmounts[nodeTier].mul(numNodes); require(TOKEN.balanceOf(_sender) >= tierPrice, "Insufficient balance"); require(TOKEN.allowance(_sender, address(this)) >= tierPrice, "Insufficient allowance"); TOKEN.safeTransferFrom(_sender, address(this), tierPrice); users[_sender].total_deposits = users[_sender].total_deposits.add(tierPrice); total_deposited = total_deposited.add(tierPrice); treasury_rewards = treasury_rewards.add( tierPrice.mul(treasuryFeePercent).div(100) ); nodes[_sender][nodeTier] = nodes[_sender][nodeTier].add(numNodes); totalNodes[nodeTier] = totalNodes[nodeTier].add(numNodes); emit CreateNode(block.timestamp, _sender, numNodes); } function claim() public { dripRewards(); address _sender = msg.sender; uint256 _rewards = getDistributionRewards(_sender); if (_rewards > 0) { total_rewards = total_rewards.sub(_rewards); uint256 totalClaims = users[_sender].total_claims; uint256 maxPay = maxPayout(_sender); // Payout remaining if exceeds max payout if(totalClaims.add(_rewards) > maxPay) { _rewards = maxPay.sub(totalClaims); } users[_sender].total_claims = users[_sender].total_claims.add(_rewards); total_claimed = total_claimed.add(_rewards); IERC20(TOKEN).safeTransfer(_sender, _rewards); users[_sender].last_distPoints = totalDistributePoints; } } function _compound(uint256 nodeTier, uint256 numNodes) internal { address _sender = msg.sender; require(enabled && block.timestamp >= startTime, "Disabled"); require(nodeTier < tierAllocPoints.length && nodeTier < tierAmounts.length, "Invalid nodeTier"); if (users[_sender].total_deposits == 0) { userIndices.push(_sender); // New user users[_sender].last_distPoints = totalDistributePoints; } if (users[_sender].total_deposits != 0 && isMaxPayout(_sender)) { users[_sender].last_distPoints = totalDistributePoints; } uint256 tierPrice = tierAmounts[nodeTier].mul(numNodes); require(TOKEN.balanceOf(_sender) >= tierPrice, "Insufficient balance"); require(TOKEN.allowance(_sender, address(this)) >= tierPrice, "Insufficient allowance"); TOKEN.safeTransferFrom(_sender, address(this), tierPrice); users[_sender].total_deposits = users[_sender].total_deposits.add(tierPrice); total_deposited = total_deposited.add(tierPrice); treasury_rewards = treasury_rewards.add( tierPrice.mul(treasuryFeePercent).div(100) ); nodes[_sender][nodeTier] = nodes[_sender][nodeTier].add(numNodes); totalNodes[nodeTier] = totalNodes[nodeTier].add(numNodes); emit CreateNode(block.timestamp, _sender, numNodes); } function compound() public { uint256 rewardsPending = getTotalRewards(msg.sender); require(rewardsPending >= tierAmounts[0], "Not enough to compound"); uint256 numPossible = rewardsPending.div(tierAmounts[0]); claim(); _compound(0, numPossible); } function maxPayout(address _sender) public view returns (uint256) { return users[_sender].total_deposits.mul(maxReturnPercent).div(100); } function isMaxPayout(address _sender) public view returns (bool) { return users[_sender].total_claims >= maxPayout(_sender); } function _disperse(uint256 amount) internal { if (amount > 0 ) { totalDistributePoints = totalDistributePoints.add(amount.mul(MULTIPLIER).div(totalAllocPoints())); totalDistributeRewards = totalDistributeRewards.add(amount); total_rewards = total_rewards.add(amount); } } function dripRewards() public { uint256 drip = getRewardDrip(); if (drip > 0) { _disperse(drip); lastDripTime = block.timestamp; } } function getRewardDrip() public view returns (uint256) { if (lastDripTime < block.timestamp) { uint256 poolBalance = getBalancePool(); uint256 secondsPassed = block.timestamp.sub(lastDripTime); uint256 drip = secondsPassed.mul(poolBalance).div(dripRate); if (drip > poolBalance) { drip = poolBalance; } return drip; } return 0; } function getDayDripEstimate(address _user) external view returns (uint256) { return allocPoints(_user) > 0 && !isMaxPayout(_user) ? getBalancePool() .mul(86400) .mul(allocPoints(_user)) .div(totalAllocPoints()) .div(dripRate) : 0; } function total_users() external view returns (uint256) { return userIndices.length; } function numNodes(address _sender, uint256 _nodeId) external view returns (uint256) { return nodes[_sender][_nodeId]; } function getNodes(address _sender) external view returns (uint256[] memory) { uint256[] memory userNodes = new uint256[](tierAllocPoints.length); for (uint256 i = 0; i < tierAllocPoints.length; i++) { userNodes[i] = userNodes[i].add(nodes[_sender][i]); } return userNodes; } function getTotalNodes() external view returns (uint256[] memory) { uint256[] memory totals = new uint256[](tierAllocPoints.length); for (uint256 i = 0; i < tierAllocPoints.length; i++) { totals[i] = totals[i].add(totalNodes[i]); } return totals; } function getBalance() public view returns (uint256) { return IERC20(TOKEN).balanceOf(address(this)); } function getBalancePool() public view returns (uint256) { return getBalance().sub(total_rewards).sub(treasury_rewards); } function emergencyWithdraw(IERC20 token, uint256 amnt) external onlyDev { token.safeTransfer(dev, amnt); } }
[{"inputs":[{"internalType":"uint256","name":"_startTime","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"num","type":"uint256"}],"name":"CreateNode","type":"event"},{"inputs":[],"name":"MULTIPLIER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"allocPoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"newDev","type":"address"}],"name":"changeDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimTreasuryRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"compound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeTier","type":"uint256"},{"internalType":"uint256","name":"numNodes","type":"uint256"}],"name":"create","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dripRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dripRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"amnt","type":"uint256"}],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBalancePool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getDayDripEstimate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getDistributionRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"}],"name":"getNodes","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRewardDrip","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalNodes","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"}],"name":"getTotalRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"}],"name":"isMaxPayout","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastDripTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"}],"name":"maxPayout","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxReturnPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"nodes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"},{"internalType":"uint256","name":"_nodeId","type":"uint256"}],"name":"numNodes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setDripRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"setLastDripTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"setMaxReturnPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256[]","name":"_nodes","type":"uint256[]"}],"name":"setNodes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_startTime","type":"uint256"}],"name":"setStartTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tierAllocPoints","type":"uint256[]"},{"internalType":"uint256[]","name":"_tierAmounts","type":"uint256[]"}],"name":"setTierValues","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"setTreasuryFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"components":[{"internalType":"uint256","name":"total_deposits","type":"uint256"},{"internalType":"uint256","name":"total_claims","type":"uint256"},{"internalType":"uint256","name":"last_distPoints","type":"uint256"}],"internalType":"struct Node.User","name":"_user","type":"tuple"}],"name":"setUser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tierAllocPoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tierAmounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalAllocPoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDistributePoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDistributeRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"totalNodes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"total_claimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"total_deposited","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"total_rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"total_users","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasuryFeePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasury_rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"userIndices","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"uint256","name":"total_deposits","type":"uint256"},{"internalType":"uint256","name":"total_claims","type":"uint256"},{"internalType":"uint256","name":"last_distPoints","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60e0604052670de0b6b3a7640000608081815260a082905260c0919091526200002d906000906003620000e7565b50604080516060810182526501a3185c50008152670de0b6b3a7640000602082018190529181019190915262000068906001906003620000e7565b503480156200007657600080fd5b506040516200251a3803806200251a833981016040819052620000999162000159565b6101f4600e5562200b20600f556019600b55428111620000ba5742620000bc565b805b6010556011556012805460ff19166001179055600280546001600160a01b0319163317905562000172565b82805482825590600052602060002090810192821562000130579160200282015b828111156200013057825182906001600160401b031690559160200191906001019062000108565b506200013e92915062000142565b5090565b5b808211156200013e576000815560010162000143565b6000602082840312156200016b578081fd5b5051919050565b61239880620001826000396000f3fe6080604052600436106102cd5760003560e01c80635c75dcbc116101755780639f7b4579116100dc578063d326159211610095578063e7cc62bd1161006f578063e7cc62bd1461082a578063f65f4eaf1461083f578063f69e204614610854578063fba1f7b014610869576102f3565b8063d3261592146107e0578063de560cca146107f5578063e300e98b1461080a576102f3565b80639f7b457914610727578063a87430ba14610747578063ab4e278514610776578063adf1b67e1461078b578063bcb11639146107ab578063c7ce9560146107cb576102f3565b8063740c8af71161012e578063740c8af71461068857806378e979251461069d57806382bfefc8146106b257806388a8c95c146106c757806394ac42cc146106e757806395ccea6714610707576102f3565b80635c75dcbc146105e95780635fb11d7e146105fe5780635fbb48dc1461061e57806363584ecd1461063e578063648acb09146106535780636af904c614610673576102f3565b80632ae2707111610234578063486af96a116101ed5780635083f17b116101c75780635083f17b1461057f57806356e1221c1461059f5780635b0d2d8c146105bf5780635b2f3c8e146105d4576102f3565b8063486af96a146105285780634b3dd5b5146105555780634e71d92d1461056a576102f3565b80632ae27071146104685780632bcf161c14610488578063328d8f72146104a857806335771fe0146104c85780633e0a322d146104e857806344886d7014610508576102f3565b80631fa36cbe116102865780631fa36cbe146103a4578063211aea02146103b95780632365d7bc146103e6578063238dafe0146104065780632702dfe714610428578063277e531614610448576102f3565b8063059f8b16146102f857806305c4744b1461032357806305d6bbf41461033a57806312065fe01461034f5780631d1c7b4e146103645780631ed5c6c214610384576102f3565b366102f35760405162461bcd60e51b81526004016102ea90612126565b60405180910390fd5b600080fd5b34801561030457600080fd5b5061030d61087e565b60405161031a91906122ae565b60405180910390f35b34801561032f57600080fd5b5061033861088a565b005b34801561034657600080fd5b5061030d6108cb565b34801561035b57600080fd5b5061030d6108d1565b34801561037057600080fd5b5061030d61037f366004611ea2565b610961565b34801561039057600080fd5b5061033861039f366004611ea2565b610973565b3480156103b057600080fd5b5061030d6109a2565b3480156103c557600080fd5b506103d96103d4366004611ea2565b610a05565b60405161031a9190611f0f565b3480156103f257600080fd5b5061030d610401366004611ea2565b610a2c565b34801561041257600080fd5b5061041b610a4a565b60405161031a9190611fbe565b34801561043457600080fd5b50610338610443366004611d86565b610a53565b34801561045457600080fd5b5061030d610463366004611d1c565b610b16565b34801561047457600080fd5b50610338610483366004611e13565b610b9e565b34801561049457600080fd5b5061030d6104a3366004611d1c565b610c15565b3480156104b457600080fd5b506103386104c3366004611e6a565b610cba565b3480156104d457600080fd5b5061030d6104e3366004611ea2565b610cf7565b3480156104f457600080fd5b50610338610503366004611ea2565b610d04565b34801561051457600080fd5b5061041b610523366004611d1c565b610d33565b34801561053457600080fd5b50610548610543366004611d1c565b610d63565b60405161031a9190611f7a565b34801561056157600080fd5b5061030d610e2e565b34801561057657600080fd5b50610338610e97565b34801561058b57600080fd5b5061033861059a366004611d38565b610fa0565b3480156105ab57600080fd5b506103386105ba366004611ea2565b61107a565b3480156105cb57600080fd5b5061030d6110a9565b3480156105e057600080fd5b506103386110c5565b3480156105f557600080fd5b5061030d6110e8565b34801561060a57600080fd5b5061030d610619366004611d1c565b6110ee565b34801561062a57600080fd5b50610338610639366004611ea2565b611140565b34801561064a57600080fd5b5061054861116f565b34801561065f57600080fd5b5061033861066e366004611ea2565b611209565b34801561067f57600080fd5b5061030d611238565b34801561069457600080fd5b5061030d61123e565b3480156106a957600080fd5b5061030d611244565b3480156106be57600080fd5b506103d961124a565b3480156106d357600080fd5b506103386106e2366004611d1c565b611262565b3480156106f357600080fd5b5061030d610702366004611d1c565b6112d4565b34801561071357600080fd5b50610338610722366004611de8565b611330565b34801561073357600080fd5b50610338610742366004611ed2565b611374565b34801561075357600080fd5b50610767610762366004611d1c565b611759565b60405161031a939291906122d6565b34801561078257600080fd5b5061030d61177a565b34801561079757600080fd5b5061030d6107a6366004611de8565b611780565b3480156107b757600080fd5b5061030d6107c6366004611de8565b61179d565b3480156107d757600080fd5b5061030d6117c5565b3480156107ec57600080fd5b5061030d6117cb565b34801561080157600080fd5b5061030d6117d1565b34801561081657600080fd5b5061030d610825366004611d1c565b6117d7565b34801561083657600080fd5b5061030d611806565b34801561084b57600080fd5b5061030d61180c565b34801561086057600080fd5b50610338611812565b34801561087557600080fd5b5061030d611899565b678ac7230489e8000081565b600a54156108c957600254600a546108c3917303d15e0451e54eec95ac5acb5b0a7ce69638c62a916001600160a01b039091169061189f565b6000600a555b565b60095481565b6040516370a0823160e01b81526000907303d15e0451e54eec95ac5acb5b0a7ce69638c62a906370a082319061090b903090600401611f0f565b60206040518083038186803b15801561092357600080fd5b505afa158015610937573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095b9190611eba565b90505b90565b60056020526000908152604090205481565b6002546001600160a01b0316331461099d5760405162461bcd60e51b81526004016102ea90611ffc565b601055565b600080805b6000548110156109ff5760008181526005602052604081205481546109f5926109ee9291859081106109d557fe5b90600052602060002001546118f590919063ffffffff16565b8390611936565b91506001016109a7565b50905090565b60068181548110610a1257fe5b6000918252602090912001546001600160a01b0316905081565b60008181548110610a3957fe5b600091825260209091200154905081565b60125460ff1681565b6002546001600160a01b03163314610a7d5760405162461bcd60e51b81526004016102ea90611ffc565b80516001600160a01b038316600090815260036020526040902054600754610ab09291610aaa919061195b565b90611936565b6007556020808201516001600160a01b03841660009081526003909252604090912060010154600854610ae89291610aaa919061195b565b60085580516001600160a01b0390921660009081526003602090815260409091209283550151600190910155565b6000610b2182610d33565b15610b2e57506000610b99565b6001600160a01b038216600090815260036020526040812060020154600d54610b569161195b565b90506000610b7f678ac7230489e80000610b7984610b73886110ee565b906118f5565b9061199d565b90506009548111610b905780610b94565b6009545b925050505b919050565b6002546001600160a01b03163314610bc85760405162461bcd60e51b81526004016102ea90611ffc565b8051825114610be95760405162461bcd60e51b81526004016102ea906121e2565b8151610bfc906000906020850190611c3c565b508051610c10906001906020840190611c3c565b505050565b6001600160a01b038116600090815260036020526040812054610c3a57506000610b99565b6000610c67610c5e610c4a6109a2565b610b79610c56876110ee565b610b73610e2e565b610aaa85610b16565b6001600160a01b038416600090815260036020526040812060010154919250610c8f856117d7565b905080610c9c8385611936565b11610ca75782610cb1565b610cb1818361195b565b95945050505050565b6002546001600160a01b03163314610ce45760405162461bcd60e51b81526004016102ea90611ffc565b6012805460ff1916911515919091179055565b60018181548110610a3957fe5b6002546001600160a01b03163314610d2e5760405162461bcd60e51b81526004016102ea90611ffc565b601155565b6000610d3e826117d7565b6001600160a01b03831660009081526003602052604090206001015410159050919050565b600054606090819067ffffffffffffffff81118015610d8157600080fd5b50604051908082528060200260200182016040528015610dab578160200160208202803683370190505b50905060005b600054811015610e27576001600160a01b03841660009081526004602090815260408083208484529091529020548251610e089190849084908110610df257fe5b602002602001015161193690919063ffffffff16565b828281518110610e1457fe5b6020908102919091010152600101610db1565b5092915050565b6000426010541015610e91576000610e446110a9565b90506000610e5d6010544261195b90919063ffffffff16565b90506000610e7a600f54610b7985856118f590919063ffffffff16565b905082811115610e875750815b925061095e915050565b50600090565b610e9f6110c5565b336000610eab82610b16565b90508015610f9c57600954610ec0908261195b565b6009556001600160a01b03821660009081526003602052604081206001015490610ee9846117d7565b905080610ef68385611936565b1115610f0957610f06818361195b565b92505b6001600160a01b038416600090815260036020526040902060010154610f2f9084611936565b6001600160a01b038516600090815260036020526040902060010155600854610f589084611936565b600855610f7a7303d15e0451e54eec95ac5acb5b0a7ce69638c62a858561189f565b5050600d546001600160a01b0383166000908152600360205260409020600201555b5050565b6002546001600160a01b03163314610fca5760405162461bcd60e51b81526004016102ea90611ffc565b60005b8151811015610c1057611026828281518110610fe557fe5b6020908102919091018101516001600160a01b038616600090815260048352604080822086835284528082205460059094529020549091610aaa919061195b565b600082815260056020526040902055815182908290811061104357fe5b6020908102919091018101516001600160a01b03851660009081526004835260408082208583529093529190912055600101610fcd565b6002546001600160a01b031633146110a45760405162461bcd60e51b81526004016102ea90611ffc565b600b55565b600061095b600a546110bf6009546110bf6108d1565b9061195b565b60006110cf610e2e565b905080156110e5576110e0816119df565b426010555b50565b600b5481565b600080805b600054811015610e27576001600160a01b03841660009081526004602090815260408083208484529091528120548154611136926109ee9291859081106109d557fe5b91506001016110f3565b6002546001600160a01b0316331461116a5760405162461bcd60e51b81526004016102ea90611ffc565b600f55565b600054606090819067ffffffffffffffff8111801561118d57600080fd5b506040519080825280602002602001820160405280156111b7578160200160208202803683370190505b50905060005b6000548110156109ff576111ea6005600083815260200190815260200160002054838381518110610df257fe5b8282815181106111f657fe5b60209081029190910101526001016111bd565b6002546001600160a01b031633146112335760405162461bcd60e51b81526004016102ea90611ffc565b600e55565b60085481565b600e5481565b60115481565b7303d15e0451e54eec95ac5acb5b0a7ce69638c62a81565b6002546001600160a01b0316331461128c5760405162461bcd60e51b81526004016102ea90611ffc565b6001600160a01b0381166112b25760405162461bcd60e51b81526004016102ea90612151565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000806112e0836110ee565b1180156112f357506112f182610d33565b155b6112fe57600061132a565b61132a600f54610b7961130f6109a2565b610b7961131b876110ee565b610b7362015180610b736110a9565b92915050565b6002546001600160a01b0316331461135a5760405162461bcd60e51b81526004016102ea90611ffc565b600254610f9c906001600160a01b0384811691168361189f565b601254339060ff16801561138a57506011544210155b6113a65760405162461bcd60e51b81526004016102ea9061220b565b600054831080156113b8575060015483105b6113d45760405162461bcd60e51b81526004016102ea90612177565b6113dc610e97565b6001600160a01b0381166000908152600360205260409020546114595760068054600181019091557ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319166001600160a01b038316908117909155600d54600091825260036020526040909120600201555b6001600160a01b03811660009081526003602052604090205415801590611484575061148481610d33565b156114a957600d546001600160a01b0382166000908152600360205260409020600201555b60006114bc83600186815481106109d557fe5b6040516370a0823160e01b815290915081907303d15e0451e54eec95ac5acb5b0a7ce69638c62a906370a08231906114f8908690600401611f0f565b60206040518083038186803b15801561151057600080fd5b505afa158015611524573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115489190611eba565b10156115665760405162461bcd60e51b81526004016102ea906120c3565b604051636eb1769f60e11b815281907303d15e0451e54eec95ac5acb5b0a7ce69638c62a9063dd62ed3e906115a19086903090600401611f23565b60206040518083038186803b1580156115b957600080fd5b505afa1580156115cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f19190611eba565b101561160f5760405162461bcd60e51b81526004016102ea90612093565b61162f7303d15e0451e54eec95ac5acb5b0a7ce69638c62a833084611a34565b6001600160a01b0382166000908152600360205260409020546116529082611936565b6001600160a01b0383166000908152600360205260409020556007546116789082611936565b600755600b5461169d9061169490606490610b799085906118f5565b600a5490611936565b600a556001600160a01b03821660009081526004602090815260408083208784529091529020546116ce9084611936565b6001600160a01b03831660009081526004602090815260408083208884528252808320939093556005905220546117059084611936565b6000858152600560205260409081902091909155517fddc82401ab579d868e816af720a563cdf9f9d0350abb3fa3266bcf33dd4f48ab9061174b904290859087906122b7565b60405180910390a150505050565b60036020526000908152604090208054600182015460029092015490919083565b600a5481565b600460209081526000928352604080842090915290825290205481565b6001600160a01b03919091166000908152600460209081526040808320938352929052205490565b600d5481565b600f5481565b60075481565b600e546001600160a01b038216600090815260036020526040812054909161132a91606491610b7991906118f5565b60065490565b600c5481565b600061181d33610c15565b9050600160008154811061182d57fe5b90600052602060002001548110156118575760405162461bcd60e51b81526004016102ea9061202c565b6000611884600160008154811061186a57fe5b90600052602060002001548361199d90919063ffffffff16565b905061188e610e97565b610f9c600082611a5b565b60105481565b610c108363a9059cbb60e01b84846040516024016118be929190611f61565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611abb565b6000826119045750600061132a565b8282028284828161191157fe5b041461192f5760405162461bcd60e51b81526004016102ea906121a1565b9392505050565b60008282018381101561192f5760405162461bcd60e51b81526004016102ea9061205c565b600061192f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ba0565b600061192f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bcc565b80156110e557611a0e611a056119f36109a2565b610b7984678ac7230489e800006118f5565b600d5490611936565b600d55600c54611a1e9082611936565b600c55600954611a2e9082611936565b60095550565b611a55846323b872dd60e01b8585856040516024016118be93929190611f3d565b50505050565b601254339060ff168015611a7157506011544210155b611a8d5760405162461bcd60e51b81526004016102ea9061220b565b60005483108015611a9f575060015483105b6113dc5760405162461bcd60e51b81526004016102ea90612177565b611acd826001600160a01b0316611c03565b611ae95760405162461bcd60e51b81526004016102ea90612277565b60006060836001600160a01b031683604051611b059190611ef3565b6000604051808303816000865af19150503d8060008114611b42576040519150601f19603f3d011682016040523d82523d6000602084013e611b47565b606091505b509150915081611b695760405162461bcd60e51b81526004016102ea906120f1565b805115611a555780806020019051810190611b849190611e86565b611a555760405162461bcd60e51b81526004016102ea9061222d565b60008184841115611bc45760405162461bcd60e51b81526004016102ea9190611fc9565b505050900390565b60008183611bed5760405162461bcd60e51b81526004016102ea9190611fc9565b506000838581611bf957fe5b0495945050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610b94575050151592915050565b828054828255906000526020600020908101928215611c77579160200282015b82811115611c77578251825591602001919060010190611c5c565b50611c83929150611c87565b5090565b5b80821115611c835760008155600101611c88565b600082601f830112611cac578081fd5b813567ffffffffffffffff811115611cc2578182fd5b6020808202611cd28282016122ec565b83815293508184018583018287018401881015611cee57600080fd5b600092505b84831015611d11578035825260019290920191908301908301611cf3565b505050505092915050565b600060208284031215611d2d578081fd5b813561192f8161233f565b60008060408385031215611d4a578081fd5b8235611d558161233f565b9150602083013567ffffffffffffffff811115611d70578182fd5b611d7c85828601611c9c565b9150509250929050565b6000808284036080811215611d99578283fd5b8335611da48161233f565b92506060601f1982011215611db7578182fd5b50611dc260606122ec565b602084013581526040840135602082015260608401356040820152809150509250929050565b60008060408385031215611dfa578182fd5b8235611e058161233f565b946020939093013593505050565b60008060408385031215611e25578182fd5b823567ffffffffffffffff80821115611e3c578384fd5b611e4886838701611c9c565b93506020850135915080821115611e5d578283fd5b50611d7c85828601611c9c565b600060208284031215611e7b578081fd5b813561192f81612354565b600060208284031215611e97578081fd5b815161192f81612354565b600060208284031215611eb3578081fd5b5035919050565b600060208284031215611ecb578081fd5b5051919050565b60008060408385031215611ee4578182fd5b50508035926020909101359150565b60008251611f05818460208701612313565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015611fb257835183529284019291840191600101611f96565b50909695505050505050565b901515815260200190565b6000602082528251806020840152611fe8816040850160208701612313565b601f01601f19169190910160400192915050565b60208082526016908201527543616c6c6572206973206e6f7420746865206465762160501b604082015260600190565b602080825260169082015275139bdd08195b9bdd59da081d1bc818dbdb5c1bdd5b9960521b604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b602080825260169082015275496e73756666696369656e7420616c6c6f77616e636560501b604082015260600190565b602080825260149082015273496e73756666696369656e742062616c616e636560601b604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252601190820152702237903737ba1039b2b7321020ab20ac1760791b604082015260600190565b6020808252600c908201526b5a65726f206164647265737360a01b604082015260600190565b60208082526010908201526f24b73b30b634b2103737b232aa34b2b960811b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252600f908201526e098cadccee8d040dad2e6dac2e8c6d608b1b604082015260600190565b602080825260089082015267111a5cd8589b195960c21b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601f908201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604082015260600190565b90815260200190565b9283526001600160a01b03919091166020830152604082015260600190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561230b57600080fd5b604052919050565b60005b8381101561232e578181015183820152602001612316565b83811115611a555750506000910152565b6001600160a01b03811681146110e557600080fd5b80151581146110e557600080fdfea2646970667358221220418d98a1a2395fd3971e276fb9b2bfefa73525650b0030435e9e6c10f628e97a64736f6c634300060c00330000000000000000000000000000000000000000000000000000000062921cd0
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000062921cd0
-----Decoded View---------------
Arg [0] : _startTime (uint256): 1653742800
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000062921cd0
Deployed ByteCode Sourcemap
14979:12337:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16578:27;;-1:-1:-1;;;16578:27:0;;;;;;;:::i;:::-;;;;;;;;14979:12337;;;;16161:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16886:191;;;;;;;;;;;;;:::i;:::-;;15802:28;;;;;;;;;;;;;:::i;26925:116::-;;;;;;;;;;;;;:::i;15641:45::-;;;;;;;;;;-1:-1:-1;15641:45:0;;;;;:::i;:::-;;:::i;17512:104::-;;;;;;;;;;-1:-1:-1;17512:104:0;;;;;:::i;:::-;;:::i;18708:263::-;;;;;;;;;;;;;:::i;15693:28::-;;;;;;;;;;-1:-1:-1;15693:28:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;15156:62::-;;;;;;;;;;-1:-1:-1;15156:62:0;;;;;:::i;:::-;;:::i;16135:19::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;18029:392::-;;;;;;;;;;-1:-1:-1;18029:392:0;;;;;:::i;:::-;;:::i;19264:394::-;;;;;;;;;;-1:-1:-1;19264:394:0;;;;;:::i;:::-;;:::i;17740:281::-;;;;;;;;;;-1:-1:-1;17740:281:0;;;;;:::i;:::-;;:::i;19670:540::-;;;;;;;;;;-1:-1:-1;19670:540:0;;;;;:::i;:::-;;:::i;17197:89::-;;;;;;;;;;-1:-1:-1;17197:89:0;;;;;:::i;:::-;;:::i;15225:66::-;;;;;;;;;;-1:-1:-1;15225:66:0;;;;;:::i;:::-;;:::i;17085:100::-;;;;;;;;;;-1:-1:-1;17085:100:0;;;;;:::i;:::-;;:::i;24485:140::-;;;;;;;;;;-1:-1:-1;24485:140:0;;;;;:::i;:::-;;:::i;26275:328::-;;;;;;;;;;-1:-1:-1;26275:328:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;25174:460::-;;;;;;;;;;;;;:::i;21693:864::-;;;;;;;;;;;;;:::i;18429:271::-;;;;;;;;;;-1:-1:-1;18429:271:0;;;;;:::i;:::-;;:::i;17294:112::-;;;;;;;;;;-1:-1:-1;17294:112:0;;;;;:::i;:::-;;:::i;27050:135::-;;;;;;;;;;;;;:::i;24974:192::-;;;;;;;;;;;;;:::i;15875:33::-;;;;;;;;;;;;;:::i;18979:277::-;;;;;;;;;;-1:-1:-1;18979:277:0;;;;;:::i;:::-;;:::i;17414:86::-;;;;;;;;;;-1:-1:-1;17414:86:0;;;;;:::i;:::-;;:::i;26615:302::-;;;;;;;;;;;;;:::i;17624:108::-;;;;;;;;;;-1:-1:-1;17624:108:0;;;;;:::i;:::-;;:::i;15767:28::-;;;;;;;;;;;;;:::i;16002:31::-;;;;;;;;;;;;;:::i;16104:24::-;;;;;;;;;;;;;:::i;15068:81::-;;;;;;;;;;;;;:::i;16731:147::-;;;;;;;;;;-1:-1:-1;16731:147:0;;;;;:::i;:::-;;:::i;25642:377::-;;;;;;;;;;-1:-1:-1;25642:377:0;;;;;:::i;:::-;;:::i;27193:120::-;;;;;;;;;;-1:-1:-1;27193:120:0;;;;;:::i;:::-;;:::i;20220:1465::-;;;;;;;;;;-1:-1:-1;20220:1465:0;;;;;:::i;:::-;;:::i;15530:37::-;;;;;;;;;;-1:-1:-1;15530:37:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;15837:31::-;;;;;;;;;;;;;:::i;15574:60::-;;;;;;;;;;-1:-1:-1;15574:60:0;;;;;:::i;:::-;;:::i;26134:133::-;;;;;;;;;;-1:-1:-1;26134:133:0;;;;;:::i;:::-;;:::i;15959:36::-;;;;;;;;;;;;;:::i;16040:23::-;;;;;;;;;;;;;:::i;15730:30::-;;;;;;;;;;;;;:::i;24325:152::-;;;;;;;;;;-1:-1:-1;24325:152:0;;;;;:::i;:::-;;:::i;26027:99::-;;;;;;;;;;;;;:::i;15915:37::-;;;;;;;;;;;;;:::i;24024:291::-;;;;;;;;;;;;;:::i;16070:27::-;;;;;;;;;;;;;:::i;16161:42::-;16198:5;16161:42;:::o;16886:191::-;16942:16;;:20;16938:129;;16998:3;;17003:16;;16979:41;;15106:42;;-1:-1:-1;;;;;16998:3:0;;;;16979:18;:41::i;:::-;17054:1;17035:16;:20;16938:129;16886:191::o;15802:28::-;;;;:::o;26925:116::-;26995:38;;-1:-1:-1;;;26995:38:0;;26968:7;;15106:42;;26995:23;;:38;;27027:4;;26995:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26988:45;;26925:116;;:::o;15641:45::-;;;;;;;;;;;;;:::o;17512:104::-;16673:3;;-1:-1:-1;;;;;16673:3:0;16659:10;:17;16651:52;;;;-1:-1:-1;;;16651:52:0;;;;;;;:::i;:::-;17584:12:::1;:24:::0;17512:104::o;18708:263::-;18757:7;;;18805:136;18829:15;:22;18825:26;;18805:136;;;18914:13;;;;:10;:13;;;;;;18891:18;;18881:48;;18891:37;;18914:13;18925:1;;18891:18;;;;;;;;;;;;;;:22;;:37;;;;:::i;:::-;18881:5;;:9;:48::i;:::-;18873:56;-1:-1:-1;18853:3:0;;18805:136;;;-1:-1:-1;18958:5:0;-1:-1:-1;18708:263:0;:::o;15693:28::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15693:28:0;;-1:-1:-1;15693:28:0;:::o;15156:62::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15156:62:0;:::o;16135:19::-;;;;;;:::o;18029:392::-;16673:3;;-1:-1:-1;;;;;16673:3:0;16659:10;:17;16651:52;;;;-1:-1:-1;;;16651:52:0;;;;;;;:::i;:::-;18179:20;;-1:-1:-1;;;;;18146:12:0;::::1;18179:20;18146:12:::0;;;:5:::1;:12;::::0;;;;:27;18126:15:::1;::::0;:74:::1;::::0;18179:20;18126:48:::1;::::0;:15;:19:::1;:48::i;:::-;:52:::0;::::1;:74::i;:::-;18108:15;:92:::0;18276:18:::1;::::0;;::::1;::::0;-1:-1:-1;;;;;18245:12:0;::::1;;::::0;;;:5:::1;:12:::0;;;;;;;:25:::1;;::::0;18227:13:::1;::::0;:68:::1;::::0;18276:18;18227:44:::1;::::0;:13;:17:::1;:44::i;:68::-;18211:13;:84:::0;18336:20;;-1:-1:-1;;;;;18306:12:0;;::::1;18336:20;18306:12:::0;;;:5:::1;:12;::::0;;;;;;;:50;;;18395:18:::1;::::0;18367:25:::1;::::0;;::::1;:46:::0;18029:392::o;19264:394::-;19334:7;19358:20;19370:7;19358:11;:20::i;:::-;19354:34;;;-1:-1:-1;19387:1:0;19380:8;;19354:34;-1:-1:-1;;;;;19455:14:0;;19401:25;19455:14;;;:5;:14;;;;;:30;;;19429:21;;:57;;:25;:57::i;:::-;19401:85;;19497:18;19518:59;16198:5;19518:43;19543:17;19518:20;19530:7;19518:11;:20::i;:::-;:24;;:43::i;:::-;:47;;:59::i;:::-;19497:80;;19608:13;;19595:10;:26;:55;;19640:10;19595:55;;;19624:13;;19595:55;19588:62;;;;19264:394;;;;:::o;17740:281::-;16673:3;;-1:-1:-1;;;;;16673:3:0;16659:10;:17;16651:52;;;;-1:-1:-1;;;16651:52:0;;;;;;;:::i;:::-;17892:12:::1;:19;17865:16;:23;:46;17857:74;;;;-1:-1:-1::0;;;17857:74:0::1;;;;;;;:::i;:::-;17942:34:::0;;::::1;::::0;:15:::1;::::0;:34:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;17987:26:0;;::::1;::::0;:11:::1;::::0;:26:::1;::::0;::::1;::::0;::::1;:::i;:::-;;17740:281:::0;;:::o;19670:540::-;-1:-1:-1;;;;;19757:14:0;;19733:7;19757:14;;;:5;:14;;;;;:29;19753:62;;-1:-1:-1;19814:1:0;19807:8;;19753:62;19836:15;19854:102;19890:65;19936:18;:16;:18::i;:::-;19890:41;19910:20;19922:7;19910:11;:20::i;:::-;19890:15;:13;:15::i;:65::-;19854:31;19877:7;19854:22;:31::i;:102::-;-1:-1:-1;;;;;19989:14:0;;19967:19;19989:14;;;:5;:14;;;;;:27;;;19836:120;;-1:-1:-1;20044:18:0;19995:7;20044:9;:18::i;:::-;20027:35;-1:-1:-1;20027:35:0;20133:24;:11;20149:7;20133:15;:24::i;:::-;:33;:69;;20195:7;20133:69;;;20169:23;:6;20180:11;20169:10;:23::i;:::-;20126:76;19670:540;-1:-1:-1;;;;;19670:540:0:o;17197:89::-;16673:3;;-1:-1:-1;;;;;16673:3:0;16659:10;:17;16651:52;;;;-1:-1:-1;;;16651:52:0;;;;;;;:::i;:::-;17260:7:::1;:18:::0;;-1:-1:-1;;17260:18:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17197:89::o;15225:66::-;;;;;;;;;;17085:100;16673:3;;-1:-1:-1;;;;;16673:3:0;16659:10;:17;16651:52;;;;-1:-1:-1;;;16651:52:0;;;;;;;:::i;:::-;17155:9:::1;:22:::0;17085:100::o;24485:140::-;24544:4;24599:18;24609:7;24599:9;:18::i;:::-;-1:-1:-1;;;;;24568:14:0;;;;;;:5;:14;;;;;:27;;;:49;;;-1:-1:-1;24485:140:0;;;:::o;26275:328::-;26405:15;:22;26333:16;;;;26391:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26391:37:0;;26362:66;;26444:9;26439:130;26463:15;:22;26459:26;;26439:130;;;-1:-1:-1;;;;;26539:14:0;;;;;;:5;:14;;;;;;;;:17;;;;;;;;;26522:12;;:35;;26539:17;26522:9;;26554:1;;26522:12;;;;;;;;;;;;:16;;:35;;;;:::i;:::-;26507:9;26517:1;26507:12;;;;;;;;;;;;;;;;;:50;26487:3;;26439:130;;;-1:-1:-1;26586:9:0;26275:328;-1:-1:-1;;26275:328:0:o;25174:460::-;25220:7;25259:15;25244:12;;:30;25240:368;;;25291:19;25313:16;:14;:16::i;:::-;25291:38;;25344:21;25368:33;25388:12;;25368:15;:19;;:33;;;;:::i;:::-;25344:57;;25416:12;25431:44;25466:8;;25431:30;25449:11;25431:13;:17;;:30;;;;:::i;:44::-;25416:59;;25503:11;25496:4;:18;25492:77;;;-1:-1:-1;25542:11:0;25492:77;25592:4;-1:-1:-1;25585:11:0;;-1:-1:-1;;25585:11:0;25240:368;-1:-1:-1;25625:1:0;25174:460;:::o;21693:864::-;21728:13;:11;:13::i;:::-;21772:10;21754:15;21812:31;21772:10;21812:22;:31::i;:::-;21793:50;-1:-1:-1;21868:12:0;;21864:686;;21927:13;;:27;;21945:8;21927:17;:27::i;:::-;21911:13;:43;-1:-1:-1;;;;;21991:14:0;;21969:19;21991:14;;;:5;:14;;;;;:27;;;;22050:18;21997:7;22050:9;:18::i;:::-;22033:35;-1:-1:-1;22033:35:0;22143:25;:11;22159:8;22143:15;:25::i;:::-;:34;22140:108;;;22209:23;:6;22220:11;22209:10;:23::i;:::-;22198:34;;22140:108;-1:-1:-1;;;;;22294:14:0;;;;;;:5;:14;;;;;:27;;;:41;;22326:8;22294:31;:41::i;:::-;-1:-1:-1;;;;;22264:14:0;;;;;;:5;:14;;;;;:27;;:71;22366:13;;:27;;22384:8;22366:17;:27::i;:::-;22350:13;:43;22410:45;15106:42;22437:7;22446:8;22410:26;:45::i;:::-;-1:-1:-1;;22517:21:0;;-1:-1:-1;;;;;22484:14:0;;;;;;:5;:14;;;;;:30;;:54;21864:686;21693:864;;:::o;18429:271::-;16673:3;;-1:-1:-1;;;;;16673:3:0;16659:10;:17;16651:52;;;;-1:-1:-1;;;16651:52:0;;;;;;;:::i;:::-;18519:9:::1;18515:178;18538:6;:13;18534:1;:17;18515:178;;;18589:50;18629:6;18636:1;18629:9;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;18607:12:0;::::1;;::::0;;;:5:::1;:12:::0;;;;;;:15;;;;;;;;;18589:10:::1;:13:::0;;;;;;18629:9;;18589:34:::1;::::0;:13;:17:::1;:34::i;:50::-;18573:13;::::0;;;:10:::1;:13;::::0;;;;:66;18672:9;;:6;;18584:1;;18672:9;::::1;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;18654:12:0;::::1;;::::0;;;:5:::1;:12:::0;;;;;;:15;;;;;;;;;;:27;18553:3:::1;;18515:178;;17294:112:::0;16673:3;;-1:-1:-1;;;;;16673:3:0;16659:10;:17;16651:52;;;;-1:-1:-1;;;16651:52:0;;;;;;;:::i;:::-;17370:18:::1;:28:::0;17294:112::o;27050:135::-;27097:7;27124:53;27160:16;;27124:31;27141:13;;27124:12;:10;:12::i;:::-;:16;;:31::i;24974:192::-;25015:12;25030:15;:13;:15::i;:::-;25015:30;-1:-1:-1;25062:8:0;;25058:101;;25087:15;25097:4;25087:9;:15::i;:::-;25132;25117:12;:30;25058:101;24974:192;:::o;15875:33::-;;;;:::o;18979:277::-;19038:7;;;19086:140;19110:15;:22;19106:26;;19086:140;;;-1:-1:-1;;;;;19195:14:0;;;;;;:5;:14;;;;;;;;:17;;;;;;;;;19172:18;;19162:52;;19172:41;;19195:17;19210:1;;19172:18;;;;;19162:52;19154:60;-1:-1:-1;19134:3:0;;19086:140;;17414:86;16673:3;;-1:-1:-1;;;;;16673:3:0;16659:10;:17;16651:52;;;;-1:-1:-1;;;16651:52:0;;;;;;;:::i;:::-;17477:8:::1;:15:::0;17414:86::o;26615:302::-;26732:15;:22;26663:16;;;;26718:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26718:37:0;;26692:63;;26771:9;26766:120;26790:15;:22;26786:26;;26766:120;;;26846:28;26860:10;:13;26871:1;26860:13;;;;;;;;;;;;26846:6;26853:1;26846:9;;;;;;;:28;26834:6;26841:1;26834:9;;;;;;;;;;;;;;;;;:40;26814:3;;26766:120;;17624:108;16673:3;;-1:-1:-1;;;;;16673:3:0;16659:10;:17;16651:52;;;;-1:-1:-1;;;16651:52:0;;;;;;;:::i;:::-;17698:16:::1;:26:::0;17624:108::o;15767:28::-;;;;:::o;16002:31::-;;;;:::o;16104:24::-;;;;:::o;15068:81::-;15106:42;15068:81;:::o;16731:147::-;16673:3;;-1:-1:-1;;;;;16673:3:0;16659:10;:17;16651:52;;;;-1:-1:-1;;;16651:52:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16810:20:0;::::1;16802:45;;;;-1:-1:-1::0;;;16802:45:0::1;;;;;;;:::i;:::-;16858:3;:12:::0;;-1:-1:-1;;;;;;16858:12:0::1;-1:-1:-1::0;;;;;16858:12:0;;;::::1;::::0;;;::::1;::::0;;16731:147::o;25642:377::-;25708:7;25769:1;25748:18;25760:5;25748:11;:18::i;:::-;:22;:45;;;;;25775:18;25787:5;25775:11;:18::i;:::-;25774:19;25748:45;:263;;26010:1;25748:263;;;25813:177;25981:8;;25813:141;25935:18;:16;:18::i;:::-;25813:95;25889:18;25901:5;25889:11;:18::i;:::-;25813:49;25856:5;25813:16;:14;:16::i;:177::-;25728:283;25642:377;-1:-1:-1;;25642:377:0:o;27193:120::-;16673:3;;-1:-1:-1;;;;;16673:3:0;16659:10;:17;16651:52;;;;-1:-1:-1;;;16651:52:0;;;;;;;:::i;:::-;27295:3:::1;::::0;27276:29:::1;::::0;-1:-1:-1;;;;;27276:18:0;;::::1;::::0;27295:3:::1;27300:4:::0;27276:18:::1;:29::i;20220:1465::-:0;20339:7;;20310:10;;20339:7;;:39;;;;;20369:9;;20350:15;:28;;20339:39;20331:60;;;;-1:-1:-1;;;20331:60:0;;;;;;;:::i;:::-;20421:15;:22;20410:33;;:66;;;;-1:-1:-1;20458:11:0;:18;20447:29;;20410:66;20402:95;;;;-1:-1:-1;;;20402:95:0;;;;;;;:::i;:::-;20510:7;:5;:7::i;:::-;-1:-1:-1;;;;;20534:14:0;;;;;;:5;:14;;;;;:29;20530:173;;20585:11;:25;;;;;;;;;;;;-1:-1:-1;;;;;;20585:25:0;-1:-1:-1;;;;;20585:25:0;;;;;;;;20670:21;;-1:-1:-1;20637:14:0;;;:5;20585:25;20637:14;;;;;:30;;:54;20530:173;-1:-1:-1;;;;;20718:14:0;;;;;;:5;:14;;;;;:29;:34;;;;:58;;;20756:20;20768:7;20756:11;:20::i;:::-;20714:145;;;20826:21;;-1:-1:-1;;;;;20793:14:0;;;;;;:5;:14;;;;;:30;;:54;20714:145;20871:17;20891:35;20917:8;20891:11;20903:8;20891:21;;;;;;;:35;20955:24;;-1:-1:-1;;;20955:24:0;;20871:55;;-1:-1:-1;20871:55:0;;15106:42;;20955:15;;:24;;20971:7;;20955:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:37;;20947:70;;;;-1:-1:-1;;;20947:70:0;;;;;;;:::i;:::-;21036:39;;-1:-1:-1;;;21036:39:0;;21079:9;;15106:42;;21036:15;;:39;;21052:7;;21069:4;;21036:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:52;;21028:87;;;;-1:-1:-1;;;21028:87:0;;;;;;;:::i;:::-;21126:57;15106:42;21149:7;21166:4;21173:9;21126:22;:57::i;:::-;-1:-1:-1;;;;;21228:14:0;;;;;;:5;:14;;;;;:29;:44;;21262:9;21228:33;:44::i;:::-;-1:-1:-1;;;;;21196:14:0;;;;;;:5;:14;;;;;:76;21311:15;;:30;;21331:9;21311:19;:30::i;:::-;21293:15;:48;21420:18;;21371:88;;21406:42;;21444:3;;21406:33;;:9;;:13;:33::i;:42::-;21371:16;;;:20;:88::i;:::-;21352:16;:107;-1:-1:-1;;;;;21507:14:0;;;;;;:5;:14;;;;;;;;:24;;;;;;;;;:38;;21536:8;21507:28;:38::i;:::-;-1:-1:-1;;;;;21480:14:0;;;;;;:5;:14;;;;;;;;:24;;;;;;;;:65;;;;21579:10;:20;;;;:34;;21604:8;21579:24;:34::i;:::-;21556:20;;;;:10;:20;;;;;;;:57;;;;21631:46;;;;;21642:15;;21659:7;;21668:8;;21631:46;:::i;:::-;;;;;;;;20220:1465;;;;:::o;15530:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15837:31::-;;;;:::o;15574:60::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;26134:133::-;-1:-1:-1;;;;;26236:14:0;;;;26209:7;26236:14;;;:5;:14;;;;;;;;:23;;;;;;;;;26134:133::o;15959:36::-;;;;:::o;16040:23::-;;;;:::o;15730:30::-;;;;:::o;24325:152::-;24443:16;;-1:-1:-1;;;;;24409:14:0;;24382:7;24409:14;;;:5;:14;;;;;:29;24382:7;;24409:60;;24465:3;;24409:51;;:29;:33;:51::i;26027:99::-;26100:11;:18;26027:99;:::o;15915:37::-;;;;:::o;24024:291::-;24060:22;24085:27;24101:10;24085:15;:27::i;:::-;24060:52;;24149:11;24161:1;24149:14;;;;;;;;;;;;;;;;24131;:32;;24123:67;;;;-1:-1:-1;;;24123:67:0;;;;;;;:::i;:::-;24201:19;24223:34;24242:11;24254:1;24242:14;;;;;;;;;;;;;;;;24223;:18;;:34;;;;:::i;:::-;24201:56;;24266:7;:5;:7::i;:::-;24282:25;24292:1;24295:11;24282:9;:25::i;16070:27::-;;;;:::o;11706:177::-;11789:86;11809:5;11839:23;;;11864:2;11868:5;11816:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;11816:58:0;;;;;;;;;;;;;;-1:-1:-1;;;;;11816:58:0;-1:-1:-1;;;;;;11816:58:0;;;;;;;;;;11789:19;:86::i;5170:471::-;5228:7;5473:6;5469:47;;-1:-1:-1;5503:1:0;5496:8;;5469:47;5540:5;;;5544:1;5540;:5;:1;5564:5;;;;;:10;5556:56;;;;-1:-1:-1;;;5556:56:0;;;;;;;:::i;:::-;5632:1;5170:471;-1:-1:-1;;;5170:471:0:o;3840:181::-;3898:7;3930:5;;;3954:6;;;;3946:46;;;;-1:-1:-1;;;3946:46:0;;;;;;;:::i;4296:136::-;4354:7;4381:43;4385:1;4388;4381:43;;;;;;;;;;;;;;;;;:3;:43::i;6109:132::-;6167:7;6194:39;6198:1;6201;6194:39;;;;;;;;;;;;;;;;;:3;:39::i;24633:333::-;24692:10;;24688:271;;24744:73;24770:46;24797:18;:16;:18::i;:::-;24770:22;:6;16198:5;24770:10;:22::i;:46::-;24744:21;;;:25;:73::i;:::-;24720:21;:97;24857:22;;:34;;24884:6;24857:26;:34::i;:::-;24832:22;:59;24922:13;;:25;;24940:6;24922:17;:25::i;:::-;24906:13;:41;24633:333;:::o;11891:205::-;11992:96;12012:5;12042:27;;;12071:4;12077:2;12081:5;12019:68;;;;;;;;;;:::i;11992:96::-;11891:205;;;;:::o;22568:1448::-;22690:7;;22661:10;;22690:7;;:39;;;;;22720:9;;22701:15;:28;;22690:39;22682:60;;;;-1:-1:-1;;;22682:60:0;;;;;;;:::i;:::-;22772:15;:22;22761:33;;:66;;;;-1:-1:-1;22809:11:0;:18;22798:29;;22761:66;22753:95;;;;-1:-1:-1;;;22753:95:0;;;;;;;:::i;13750:1115::-;14355:27;14363:5;-1:-1:-1;;;;;14355:25:0;;:27::i;:::-;14347:71;;;;-1:-1:-1;;;14347:71:0;;;;;;;:::i;:::-;14492:12;14506:23;14541:5;-1:-1:-1;;;;;14533:19:0;14553:4;14533:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14491:67;;;;14577:7;14569:52;;;;-1:-1:-1;;;14569:52:0;;;;;;;:::i;:::-;14638:17;;:21;14634:224;;14780:10;14769:30;;;;;;;;;;;;:::i;:::-;14761:85;;;;-1:-1:-1;;;14761:85:0;;;;;;;:::i;4727:192::-;4813:7;4849:12;4841:6;;;;4833:29;;;;-1:-1:-1;;;4833:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;4885:5:0;;;4727:192::o;6729:345::-;6815:7;6917:12;6910:5;6902:28;;;;-1:-1:-1;;;6902:28:0;;;;;;;;:::i;:::-;;6941:9;6957:1;6953;:5;;;;;;;6729:345;-1:-1:-1;;;;;6729:345:0:o;9085:619::-;9145:4;9613:20;;9456:66;9653:23;;;;;;:42;;-1:-1:-1;;9680:15:0;;;9085:619;-1:-1:-1;;9085:619:0:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;313:707;;430:3;423:4;415:6;411:17;407:27;397:2;;-1:-1;;438:12;397:2;485:6;472:20;24307:18;24299:6;24296:30;24293:2;;;-1:-1;;24329:12;24293:2;24374:4;;24366:6;24362:17;507:80;24374:4;24362:17;24427:15;507:80;:::i;:::-;615:21;;;498:89;-1:-1;672:14;;;647:17;;;752:27;;;;;749:36;-1:-1;746:2;;;798:1;;788:12;746:2;823:1;814:10;;808:206;833:6;830:1;827:13;808:206;;;2190:20;;901:50;;855:1;848:9;;;;;965:14;;;;993;;808:206;;;812:14;;;;;390:630;;;;:::o;2401:241::-;;2505:2;2493:9;2484:7;2480:23;2476:32;2473:2;;;-1:-1;;2511:12;2473:2;85:6;72:20;97:33;124:5;97:33;:::i;2913:502::-;;;3059:2;3047:9;3038:7;3034:23;3030:32;3027:2;;;-1:-1;;3065:12;3027:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;3117:63;-1:-1;3245:2;3230:18;;3217:32;3269:18;3258:30;;3255:2;;;-1:-1;;3291:12;3255:2;3321:78;3391:7;3382:6;3371:9;3367:22;3321:78;:::i;:::-;3311:88;;;3021:394;;;;;:::o;3422:409::-;;;3552:9;3543:7;3539:23;3564:3;3539:23;3535:33;3532:2;;;-1:-1;;3571:12;3532:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;3623:63;-1:-1;1590:4;-1:-1;;1569:19;;1565:30;1562:2;;;-1:-1;;1598:12;1562:2;;1626:20;1590:4;1626:20;:::i;:::-;3723:2;3787:9;3783:22;2190:20;1720:16;1713:75;1911:22;3787:9;1911:22;2190:20;3723:2;1876:5;1872:16;1865:75;1590:4;3787:9;2066:22;2190:20;1911:22;2031:5;2027:16;2020:75;3731:84;;;;3526:305;;;;;:::o;3838:366::-;;;3959:2;3947:9;3938:7;3934:23;3930:32;3927:2;;;-1:-1;;3965:12;3927:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;4017:63;4117:2;4156:22;;;;2190:20;;-1:-1;;;3921:283::o;4211:638::-;;;4382:2;4370:9;4361:7;4357:23;4353:32;4350:2;;;-1:-1;;4388:12;4350:2;4446:17;4433:31;4484:18;;4476:6;4473:30;4470:2;;;-1:-1;;4506:12;4470:2;4536:78;4606:7;4597:6;4586:9;4582:22;4536:78;:::i;:::-;4526:88;;4679:2;4668:9;4664:18;4651:32;4637:46;;4484:18;4695:6;4692:30;4689:2;;;-1:-1;;4725:12;4689:2;;4755:78;4825:7;4816:6;4805:9;4801:22;4755:78;:::i;4856:235::-;;4957:2;4945:9;4936:7;4932:23;4928:32;4925:2;;;-1:-1;;4963:12;4925:2;1105:6;1092:20;1117:30;1141:5;1117:30;:::i;5098:257::-;;5210:2;5198:9;5189:7;5185:23;5181:32;5178:2;;;-1:-1;;5216:12;5178:2;1240:6;1234:13;1252:30;1276:5;1252:30;:::i;5761:241::-;;5865:2;5853:9;5844:7;5840:23;5836:32;5833:2;;;-1:-1;;5871:12;5833:2;-1:-1;2190:20;;5827:175;-1:-1;5827:175::o;6009:263::-;;6124:2;6112:9;6103:7;6099:23;6095:32;6092:2;;;-1:-1;;6130:12;6092:2;-1:-1;2338:13;;6086:186;-1:-1;6086:186::o;6279:366::-;;;6400:2;6388:9;6379:7;6375:23;6371:32;6368:2;;;-1:-1;;6406:12;6368:2;-1:-1;;2190:20;;;6558:2;6597:22;;;2190:20;;-1:-1;6362:283::o;13767:271::-;;8103:5;24720:12;8214:52;8259:6;8254:3;8247:4;8240:5;8236:16;8214:52;:::i;:::-;8278:16;;;;;13901:137;-1:-1;;13901:137::o;14045:222::-;-1:-1;;;;;26114:54;;;;7054:37;;14172:2;14157:18;;14143:124::o;14519:349::-;-1:-1;;;;;26114:54;;;7054:37;;26114:54;;14854:2;14839:18;;6913:58;14682:2;14667:18;;14653:215::o;14875:444::-;-1:-1;;;;;26114:54;;;7054:37;;26114:54;;;;15222:2;15207:18;;7054:37;15305:2;15290:18;;13598:37;;;;15058:2;15043:18;;15029:290::o;15326:333::-;-1:-1;;;;;26114:54;;;;7054:37;;15645:2;15630:18;;13598:37;15481:2;15466:18;;15452:207::o;15666:370::-;15843:2;15857:47;;;24720:12;;15828:18;;;25252:19;;;15666:370;;15843:2;24574:14;;;;25292;;;;15666:370;7542:260;7567:6;7564:1;7561:13;7542:260;;;7628:13;;13598:37;;25107:14;;;;6806;;;;7589:1;7582:9;7542:260;;;-1:-1;15910:116;;15814:222;-1:-1;;;;;;15814:222::o;16043:210::-;25915:13;;25908:21;7897:34;;16164:2;16149:18;;16135:118::o;16515:310::-;;16662:2;16683:17;16676:47;8610:5;24720:12;25264:6;16662:2;16651:9;16647:18;25252:19;8704:52;8749:6;25292:14;16651:9;25292:14;16662:2;8730:5;8726:16;8704:52;:::i;:::-;1569:19;27265:14;-1:-1;;27261:28;8768:39;;;;25292:14;8768:39;;16633:192;-1:-1;;16633:192::o;16832:416::-;17032:2;17046:47;;;9044:2;17017:18;;;25252:19;-1:-1;;;25292:14;;;9060:45;9124:12;;;17003:245::o;17255:416::-;17455:2;17469:47;;;9375:2;17440:18;;;25252:19;-1:-1;;;25292:14;;;9391:45;9455:12;;;17426:245::o;17678:416::-;17878:2;17892:47;;;9706:2;17863:18;;;25252:19;9742:29;25292:14;;;9722:50;9791:12;;;17849:245::o;18101:416::-;18301:2;18315:47;;;10042:2;18286:18;;;25252:19;-1:-1;;;25292:14;;;10058:45;10122:12;;;18272:245::o;18524:416::-;18724:2;18738:47;;;10373:2;18709:18;;;25252:19;-1:-1;;;25292:14;;;10389:43;10451:12;;;18695:245::o;18947:416::-;19147:2;19161:47;;;19132:18;;;25252:19;10738:34;25292:14;;;10718:55;10792:12;;;19118:245::o;19370:416::-;19570:2;19584:47;;;11043:2;19555:18;;;25252:19;-1:-1;;;25292:14;;;11059:40;11118:12;;;19541:245::o;19793:416::-;19993:2;20007:47;;;11369:2;19978:18;;;25252:19;-1:-1;;;25292:14;;;11385:35;11439:12;;;19964:245::o;20216:416::-;20416:2;20430:47;;;11690:2;20401:18;;;25252:19;-1:-1;;;25292:14;;;11706:39;11764:12;;;20387:245::o;20639:416::-;20839:2;20853:47;;;12015:2;20824:18;;;25252:19;12051:34;25292:14;;;12031:55;-1:-1;;;12106:12;;;12099:25;12143:12;;;20810:245::o;21062:416::-;21262:2;21276:47;;;12394:2;21247:18;;;25252:19;-1:-1;;;25292:14;;;12410:38;12467:12;;;21233:245::o;21485:416::-;21685:2;21699:47;;;12718:1;21670:18;;;25252:19;-1:-1;;;25292:14;;;12733:31;12783:12;;;21656:245::o;21908:416::-;22108:2;22122:47;;;13034:2;22093:18;;;25252:19;13070:34;25292:14;;;13050:55;-1:-1;;;13125:12;;;13118:34;13171:12;;;22079:245::o;22331:416::-;22531:2;22545:47;;;13422:2;22516:18;;;25252:19;13458:33;25292:14;;;13438:54;13511:12;;;22502:245::o;22754:222::-;13598:37;;;22881:2;22866:18;;22852:124::o;22983:444::-;13598:37;;;-1:-1;;;;;26114:54;;;;23330:2;23315:18;;7054:37;23413:2;23398:18;;13598:37;23166:2;23151:18;;23137:290::o;23434:444::-;13598:37;;;23781:2;23766:18;;13598:37;;;;23864:2;23849:18;;13598:37;23617:2;23602:18;;23588:290::o;23885:256::-;23947:2;23941:9;23973:17;;;24048:18;24033:34;;24069:22;;;24030:62;24027:2;;;24105:1;;24095:12;24027:2;23947;24114:22;23925:216;;-1:-1;23925:216::o;26921:268::-;26986:1;26993:101;27007:6;27004:1;27001:13;26993:101;;;27074:11;;;27068:18;27055:11;;;27048:39;27029:2;27022:10;26993:101;;;27109:6;27106:1;27103:13;27100:2;;;-1:-1;;26986:1;27156:16;;27149:27;26970:219::o;27302:117::-;-1:-1;;;;;26114:54;;27361:35;;27351:2;;27410:1;;27400:12;27566:111;27647:5;25915:13;25908:21;27625:5;27622:32;27612:2;;27668:1;;27658:12
Swarm Source
ipfs://418d98a1a2395fd3971e276fb9b2bfefa73525650b0030435e9e6c10f628e97a
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.