Contract
0x11bd1841A10845970AD5432a38e1735e5c9E2fE4
4
Contract Overview
My Name Tag:
Not Available, login to update
[ Download CSV Export ]
Latest 1 internal transaction
Parent Txn Hash | Block | From | To | Value | |||
---|---|---|---|---|---|---|---|
0x5c893a8f8e083b454cdeafcf268fdc34cd6d4660de1a3eaf22c506750ac582e8 | 31381489 | 403 days 16 hrs ago | 0x8b43eb774bae835b20ac8a222c5a91dcd339f376 | Contract Creation | 0 FTM |
[ Download CSV Export ]
Contract Name:
FairPriceLaunch
Compiler Version
v0.8.5+commit.a4f2e591
Contract Source Code (Solidity)
/** *Submitted for verification at FtmScan.com on 2022-02-19 */ pragma solidity 0.8.5; // OpenZeppelin Contracts v4.4.1 (token/ERC20/IERC20.sol) /** * @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); } // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) /** * @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; } } // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // OpenZeppelin Contracts v4.4.1 (utils/math/SafeMath.sol) // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // 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 (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @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) { return a + b; } /** * @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 a - b; } /** * @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) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting 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 a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting 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) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * 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) { unchecked { require(b > 0, errorMessage); return a % b; } } } // SPDX-License-Identifier: AGPL-3.0-or-later //NRT is like a private stock //can only be traded with the issuer who remains in control of the market //until he opens the redemption window contract FairLaunchNRT is Ownable { uint256 private _issuedSupply; uint256 private _outstandingSupply; uint256 private _decimals; string private _symbol; mapping(address => uint256) private _balances; event Issued(address account, uint256 amount); event Redeemed(address account, uint256 amount); constructor(string memory __symbol, uint256 __decimals) { _symbol = __symbol; _decimals = __decimals; _issuedSupply = 0; _outstandingSupply = 0; } // Creates amount NRT and assigns them to account function issue(address account, uint256 amount) public onlyOwner { require(account != address(0), "zero address"); _issuedSupply += amount; _outstandingSupply += amount; _balances[account] += amount; emit Issued(account, amount); } //redeem, caller handles transfer of created value function redeem(address account, uint256 amount) public onlyOwner { require(account != address(0), "zero address"); require(_balances[account] >= amount, "Insufficent balance"); _balances[account] -= amount; _outstandingSupply -= amount; emit Redeemed(account, amount); } function balanceOf(address account) public view returns (uint256) { return _balances[account]; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint256) { return _decimals; } function issuedSupply() public view returns (uint256) { return _issuedSupply; } function outstandingSupply() public view returns (uint256) { return _outstandingSupply; } } // https://eips.ethereum.org/EIPS/eip-20 //////////////////////////////////// // // Fair Price Launch Contract // Every gets the same price in the end // Users get issued a non-transferable token and redeem for the final token // //////////////////////////////////// contract FairPriceLaunch is Ownable { using SafeMath for uint256; FairLaunchNRT public nrt; address public fundsRedeemer; // The token used for contributions address public investToken; // the token to be launched address public launchToken; //Limits uint256 public maxInvestAllowed; uint256 public minInvestAllowed; uint256 public maxInvestRemovablePerPeriod; uint256 public maxGlobalInvestAllowed; uint256 public maxRedeemableToIssue; //totals uint256 public totalGlobalInvested; uint256 public totalGlobalIssued; uint256 public totalGlobalRedeemed; uint256 public totalInvestors; //TIMES // The time that sale will begin uint256 public launchStartTime; // length of sale period uint256 public saleDuration; // launchStartTime.add(sale) durations uint256 public launchEndTime; //The delay required between investment removal uint256 public investRemovalDelay; //Prices uint256 public startingPrice; uint256 public finalPrice; //toggles // sale has started bool public saleEnabled; bool public claimEnabled; bool public redeemEnabled; bool public finalized; //EVENTS event SaleEnabled(bool enabled, uint256 time); event ClaimEnabled(bool enabled, uint256 time); event RedeemEnabled(bool enabled, uint256 time); event Invest( address investor, uint256 amount, uint256 totalInvested, uint256 price ); event RemoveInvestment( address investor, uint256 amount, uint256 totalInvested, uint256 price ); event Claimed(address account, uint256 amount); event Redeemed(address account, uint256 amount); //Structs struct Withdrawal { uint256 timestamp; uint256 amount; } struct InvestorInfo { uint256 totalInvested; uint256 totalClaimed; uint256 totalRedeemed; uint256 totalInvestableExchanged; Withdrawal[] withdrawHistory; bool hasClaimed; bool hasRedeemed; } mapping(address => InvestorInfo) public investorInfoMap; address[] public investorList; constructor( address _fundsRedeemer, address _investToken, address _nrtAddress, uint256 _launchStartTime, uint256 _saleDuration, uint256 _investRemovalDelay, uint256 _maxInvestAllowed, uint256 _minInvestAllowed, uint256 _maxInvestRemovablePerPeriod, uint256 _maxGlobalInvestAllowed, uint256 _maxRedeemableToIssue, uint256 _startingPrice ) { require( _launchStartTime > block.timestamp, "Start time must be in the future." ); require( _minInvestAllowed >= 0, "Min invest amount must not be negative" ); require(_startingPrice >= 0, "Starting price must not be negative"); require(_fundsRedeemer != address(0), "fundsRedeemer address is not set."); fundsRedeemer = _fundsRedeemer; investToken = _investToken; //times launchStartTime = _launchStartTime; require(_saleDuration < 4 days, "duration too long"); launchEndTime = _launchStartTime.add(_saleDuration); saleDuration = _saleDuration; investRemovalDelay = _investRemovalDelay; //limits maxInvestAllowed = _maxInvestAllowed; minInvestAllowed = _minInvestAllowed; maxGlobalInvestAllowed = _maxGlobalInvestAllowed; maxInvestRemovablePerPeriod = _maxInvestRemovablePerPeriod; maxRedeemableToIssue = _maxRedeemableToIssue; startingPrice = _startingPrice; //NRT is passed in as argument and this contract needs to be set as owner saleEnabled = false; claimEnabled = false; redeemEnabled = false; // NRT nrt = FairLaunchNRT(_nrtAddress); } //User functions /** @dev Invests the specified amoount of investToken */ function invest(uint256 amountToInvest) public { require(saleEnabled, "Sale is not enabled yet"); require(block.timestamp >= launchStartTime, "Sale has not started yet"); require(amountToInvest >= minInvestAllowed, "Invest amount too small"); require(!hasSaleEnded(), "Sale period has ended"); require( totalGlobalInvested.add(amountToInvest) <= maxGlobalInvestAllowed, "Maximum Investments reached" ); InvestorInfo storage investor = investorInfoMap[msg.sender]; require( investor.totalInvested.add(amountToInvest) <= maxInvestAllowed, "Max individual investment reached" ); //transact require( IERC20(investToken).transferFrom( msg.sender, address(this), amountToInvest ), "transfer failed" ); if (investor.totalInvested == 0) { totalInvestors += 1; investorList.push(msg.sender); } investor.totalInvestableExchanged += amountToInvest; investor.totalInvested += amountToInvest; totalGlobalInvested += amountToInvest; //continuously updates finalPrice until the last contribution is made. finalPrice = currentPrice(); emit Invest( msg.sender, amountToInvest, totalGlobalInvested, finalPrice ); } /** @dev Returns the total amount withdrawn by the _address during the last hour **/ function getLastPeriodWithdrawals(address _address) public view returns (uint256 totalWithdrawLastHour) { InvestorInfo storage investor = investorInfoMap[_address]; Withdrawal[] storage withdrawHistory = investor.withdrawHistory; for (uint256 i = 0; i < withdrawHistory.length; i++) { Withdrawal memory withdraw = withdrawHistory[i]; if (withdraw.timestamp >= block.timestamp.sub(investRemovalDelay)) { totalWithdrawLastHour = totalWithdrawLastHour.add( withdrawHistory[i].amount ); } } } /** @dev Removes the specified amount from the users totalInvested balance and returns the amount of investTokens back to them */ function removeInvestment(uint256 amountToRemove) public { require(saleEnabled, "Sale is not enabled yet"); require(block.timestamp >= launchStartTime, "Sale has not started yet"); require(block.timestamp < launchEndTime, "Sale has ended"); require( totalGlobalInvested < maxGlobalInvestAllowed, "Maximum Investments reached, deposits/withdrawal are disabled" ); require(amountToRemove <= maxInvestRemovablePerPeriod, "Cannot remove more than the maximum by period"); InvestorInfo storage investor = investorInfoMap[msg.sender]; //Two checks of funds to prevent over widrawal require( amountToRemove <= investor.totalInvested, "Cannot Remove more than invested" ); //Make sure they can't withdraw too often. Withdrawal[] storage withdrawHistory = investor.withdrawHistory; uint256 authorizedWithdraw = maxInvestRemovablePerPeriod.sub( getLastPeriodWithdrawals(msg.sender) ); require( amountToRemove <= authorizedWithdraw, "Max withdraw reached for this hour" ); withdrawHistory.push( Withdrawal({timestamp: block.timestamp, amount: amountToRemove}) ); //transact investor.totalInvestableExchanged += amountToRemove; investor.totalInvested -= amountToRemove; totalGlobalInvested -= amountToRemove; require( IERC20(investToken).transferFrom( address(this), msg.sender, amountToRemove ), "transfer failed" ); finalPrice = currentPrice(); emit RemoveInvestment( msg.sender, amountToRemove, totalGlobalInvested, finalPrice ); } /** * @dev Claims the NRT tokens equivalent to their contribution */ function claimRedeemable() public { require(claimEnabled, "claim not enabled"); require(block.timestamp >= launchEndTime, "Time to claim has not arrived"); InvestorInfo storage investor = investorInfoMap[msg.sender]; require(!investor.hasClaimed, "Tokens already claimed"); require(investor.totalInvested > 0, "No investment made"); uint256 issueAmount = investor.totalInvested.mul(10**9).div(finalPrice); investor.hasClaimed = true; investor.totalClaimed = issueAmount; totalGlobalIssued = totalGlobalIssued.add(issueAmount); // Claim bFrock require(issueAmount > 0, "no amount issued"); nrt.issue(msg.sender, issueAmount); emit Claimed(msg.sender, issueAmount); } /** * @dev redeem all tokens */ function redeem() public { require(redeemEnabled, "redeem not enabled"); require(block.timestamp > launchEndTime, "not redeemable yet"); uint256 redeemAmount = nrt.balanceOf(msg.sender); require(redeemAmount > 0, "no amount issued"); InvestorInfo storage investor = investorInfoMap[msg.sender]; require(!investor.hasRedeemed, "already redeemed"); require(launchToken != address(0), "Launth token not setted"); // Set ad Redeemed investor.hasRedeemed = true; // Send Frock Token to Investor require( IERC20(launchToken).transfer( msg.sender, redeemAmount ), "transfer failed" ); // Redeem NRT and burn the NRT nrt.redeem(msg.sender, redeemAmount); // Add Flobal Redeemed amount totalGlobalRedeemed += redeemAmount; emit Redeemed(msg.sender, redeemAmount); } //getters //calculates current price function currentPrice() public view returns (uint256) { uint256 price = computePrice(); if (price <= startingPrice) { return startingPrice; } else { return price; } } function computePrice() public view returns (uint256) { return totalGlobalInvested.mul(1e9).div(maxRedeemableToIssue); } function hasSaleEnded() public view returns (bool) { return block.timestamp > launchStartTime.add(saleDuration); } //------ Owner Functions ------ // define the launch token to be redeemed function setLaunchToken(address _launchToken) public onlyOwner { launchToken = _launchToken; } function enableSale() public onlyOwner { saleEnabled = true; emit SaleEnabled(true, block.timestamp); } function enableClaim() public onlyOwner { claimEnabled = true; emit ClaimEnabled(true, block.timestamp); } function enableRedeem() public onlyOwner { redeemEnabled = true; emit RedeemEnabled(true, block.timestamp); } function withdrawInvestablePool() public onlyOwner { require(block.timestamp > launchEndTime, "Sale has not ended"); uint256 amount = IERC20(investToken).balanceOf(address(this)); IERC20(investToken).transfer(fundsRedeemer, amount); } // withdraw in case some tokens were not redeemed function withdrawLaunchtoken(uint256 amount) public onlyOwner { require( IERC20(launchToken).transfer(msg.sender, amount), "transfer failed" ); } function changeStartTime(uint256 newTime) public onlyOwner { require(newTime > block.timestamp, "Start time must be in the future."); require(block.timestamp < launchStartTime, "Sale has already started"); launchStartTime = newTime; //update endTime launchEndTime = newTime.add(saleDuration); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_fundsRedeemer","type":"address"},{"internalType":"address","name":"_investToken","type":"address"},{"internalType":"address","name":"_nrtAddress","type":"address"},{"internalType":"uint256","name":"_launchStartTime","type":"uint256"},{"internalType":"uint256","name":"_saleDuration","type":"uint256"},{"internalType":"uint256","name":"_investRemovalDelay","type":"uint256"},{"internalType":"uint256","name":"_maxInvestAllowed","type":"uint256"},{"internalType":"uint256","name":"_minInvestAllowed","type":"uint256"},{"internalType":"uint256","name":"_maxInvestRemovablePerPeriod","type":"uint256"},{"internalType":"uint256","name":"_maxGlobalInvestAllowed","type":"uint256"},{"internalType":"uint256","name":"_maxRedeemableToIssue","type":"uint256"},{"internalType":"uint256","name":"_startingPrice","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"ClaimEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Claimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"investor","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalInvested","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"Invest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"RedeemEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Redeemed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"investor","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalInvested","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"RemoveInvestment","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"SaleEnabled","type":"event"},{"inputs":[{"internalType":"uint256","name":"newTime","type":"uint256"}],"name":"changeStartTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimRedeemable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"computePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableRedeem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finalPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fundsRedeemer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getLastPeriodWithdrawals","outputs":[{"internalType":"uint256","name":"totalWithdrawLastHour","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hasSaleEnded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountToInvest","type":"uint256"}],"name":"invest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"investRemovalDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"investToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"investorInfoMap","outputs":[{"internalType":"uint256","name":"totalInvested","type":"uint256"},{"internalType":"uint256","name":"totalClaimed","type":"uint256"},{"internalType":"uint256","name":"totalRedeemed","type":"uint256"},{"internalType":"uint256","name":"totalInvestableExchanged","type":"uint256"},{"internalType":"bool","name":"hasClaimed","type":"bool"},{"internalType":"bool","name":"hasRedeemed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"investorList","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":"launchStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxGlobalInvestAllowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxInvestAllowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxInvestRemovablePerPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxRedeemableToIssue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minInvestAllowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nrt","outputs":[{"internalType":"contract FairLaunchNRT","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"redeem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"redeemEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountToRemove","type":"uint256"}],"name":"removeInvestment","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"saleDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"saleEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_launchToken","type":"address"}],"name":"setLaunchToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startingPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalGlobalInvested","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalGlobalIssued","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalGlobalRedeemed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalInvestors","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawInvestablePool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawLaunchtoken","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162001f9f38038062001f9f833981016040819052620000349162000279565b6200003f33620001f7565b4289116200009e5760405162461bcd60e51b815260206004820152602160248201527f53746172742074696d65206d75737420626520696e20746865206675747572656044820152601760f91b60648201526084015b60405180910390fd5b6001600160a01b038c16620001005760405162461bcd60e51b815260206004820152602160248201527f66756e647352656465656d65722061646472657373206973206e6f74207365746044820152601760f91b606482015260840162000095565b600280546001600160a01b03808f166001600160a01b03199283161790925560038054928e1692909116919091179055600e8990556205460088106200017d5760405162461bcd60e51b81526020600482015260116024820152706475726174696f6e20746f6f206c6f6e6760781b604482015260640162000095565b62000197888a6200024760201b620019fc1790919060201c565b601055600f97909755601195909555600593909355600691909155600891909155600755600955601255506014805462ffffff19169055600180546001600160a01b0319166001600160a01b039290921691909117905550620003449050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006200025582846200031d565b9392505050565b80516001600160a01b03811681146200027457600080fd5b919050565b6000806000806000806000806000806000806101808d8f0312156200029d57600080fd5b620002a88d6200025c565b9b50620002b860208e016200025c565b9a50620002c860408e016200025c565b995060608d0151985060808d0151975060a08d0151965060c08d0151955060e08d015194506101008d015193506101208d015192506101408d015191506101608d015190509295989b509295989b509295989b565b600082198211156200033f57634e487b7160e01b600052601160045260246000fd5b500190565b611c4b80620003546000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c80638b65be0811610151578063be040fb0116100c3578063e230fbe711610087578063e230fbe714610472578063e545338c1461047b578063f2fde38b1461048e578063f703f36f146104a1578063ff16e7501461051b578063ff6807cb1461052e57600080fd5b8063be040fb014610433578063c0212d031461043b578063c683d8e41461044e578063d2f8253614610456578063d6fbf2021461046957600080fd5b8063a4cea3b211610115578063a4cea3b2146103e9578063a6b513ee146103f1578063b17253e6146103fa578063b3f05b9714610403578063badf822b14610417578063bc4c3bb31461042a57600080fd5b80638b65be08146103ab5780638da5cb5b146103b457806393c7c04e146103c55780639d1b464a146103ce578063a28a4d86146103d657600080fd5b806338771754116101ea578063715018a6116101ae578063715018a61461035f57806371b9b64614610367578063727dba53146103745780637bb501ec14610387578063884aa200146103905780638aa5b2c31461039857600080fd5b8063387717541461032a57806349a433a214610333578063604a85da1461033c57806369e1da2d1461034f5780636bacc0fa1461035757600080fd5b806328dae6e31161023157806328dae6e3146102ea57806329b8caff146102f25780632afcf480146102fb578063336a29011461030e5780633711d9fb1461032157600080fd5b8063061873e81461026e5780631217a69c1461027857806312f9b48e146102945780631920508d146102bf5780632866ed21146102c8575b600080fd5b610276610537565b005b610281600c5481565b6040519081526020015b60405180910390f35b6102a76102a2366004611ace565b6105b7565b6040516001600160a01b03909116815260200161028b565b61028160075481565b6014546102da90610100900460ff1681565b604051901515815260200161028b565b6102766105e1565b610281600d5481565b610276610309366004611ace565b610650565b6002546102a7906001600160a01b031681565b610281600f5481565b61028160055481565b61028160105481565b61027661034a366004611a83565b610a0e565b610276610a5a565b6102da610bd4565b610276610bf4565b6014546102da9060ff1681565b610281610382366004611a83565b610c2a565b610281600e5481565b610281610d04565b6102766103a6366004611ace565b610d30565b610281600b5481565b6000546001600160a01b03166102a7565b61028160115481565b610281610e1d565b6004546102a7906001600160a01b031681565b610276610e40565b61028160135481565b61028160065481565b6014546102da906301000000900460ff1681565b6003546102a7906001600160a01b031681565b610281600a5481565b61027661109c565b610276610449366004611ace565b611407565b610276611827565b6014546102da9062010000900460ff1681565b61028160125481565b61028160085481565b6001546102a7906001600160a01b031681565b61027661049c366004611a83565b611896565b6104ea6104af366004611a83565b601560205260009081526040902080546001820154600283015460038401546005909401549293919290919060ff8082169161010090041686565b60408051968752602087019590955293850192909252606084015215156080830152151560a082015260c00161028b565b610276610529366004611ace565b611931565b61028160095481565b6000546001600160a01b0316331461056a5760405162461bcd60e51b815260040161056190611b00565b60405180910390fd5b6014805462ff000019166201000017905560408051600181524260208201527fef5fd91dc9b012f3e4b41e00dc71466a39c83d97c3cc3879de5b9193f456c63091015b60405180910390a1565b601681815481106105c757600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b0316331461060b5760405162461bcd60e51b815260040161056190611b00565b6014805461ff00191661010017905560408051600181524260208201527f4c19a247afa6e76f0ce951834d6e092126cc3ac979b6bf5bc521e84b36ad568d91016105ad565b60145460ff1661069c5760405162461bcd60e51b815260206004820152601760248201527614d85b19481a5cc81b9bdd08195b98589b1959081e595d604a1b6044820152606401610561565b600e544210156106e95760405162461bcd60e51b815260206004820152601860248201527714d85b19481a185cc81b9bdd081cdd185c9d1959081e595d60421b6044820152606401610561565b60065481101561073b5760405162461bcd60e51b815260206004820152601760248201527f496e7665737420616d6f756e7420746f6f20736d616c6c0000000000000000006044820152606401610561565b610743610bd4565b156107885760405162461bcd60e51b815260206004820152601560248201527414d85b19481c195c9a5bd9081a185cc8195b991959605a1b6044820152606401610561565b600854600a5461079890836119fc565b11156107e65760405162461bcd60e51b815260206004820152601b60248201527f4d6178696d756d20496e766573746d656e7473207265616368656400000000006044820152606401610561565b336000908152601560205260409020600554815461080490846119fc565b111561085c5760405162461bcd60e51b815260206004820152602160248201527f4d617820696e646976696475616c20696e766573746d656e74207265616368656044820152601960fa1b6064820152608401610561565b6003546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd90606401602060405180830381600087803b1580156108ae57600080fd5b505af11580156108c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e69190611aac565b6109025760405162461bcd60e51b815260040161056190611b35565b8054610963576001600d600082825461091b9190611b5e565b9091555050601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b51242890180546001600160a01b031916331790555b818160030160008282546109779190611b5e565b9091555050805482908290600090610990908490611b5e565b9250508190555081600a60008282546109a99190611b5e565b909155506109b79050610e1d565b6013819055600a5460408051338152602081018690529081019190915260608101919091527f4df9cbfa66cbbabb528375b3af00207b446225af5a96b8a4b5c413b18226fb95906080015b60405180910390a15050565b6000546001600160a01b03163314610a385760405162461bcd60e51b815260040161056190611b00565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610a845760405162461bcd60e51b815260040161056190611b00565b6010544211610aca5760405162461bcd60e51b815260206004820152601260248201527114d85b19481a185cc81b9bdd08195b99195960721b6044820152606401610561565b6003546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b158015610b0e57600080fd5b505afa158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190611ae7565b60035460025460405163a9059cbb60e01b81526001600160a01b03918216600482015260248101849052929350169063a9059cbb90604401602060405180830381600087803b158015610b9857600080fd5b505af1158015610bac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd09190611aac565b5050565b6000610bed600f54600e546119fc90919063ffffffff16565b4211905090565b6000546001600160a01b03163314610c1e5760405162461bcd60e51b815260040161056190611b00565b610c286000611a0f565b565b6001600160a01b038116600090815260156020526040812060048101825b8154811015610cfc576000828281548110610c6557610c65611bff565b9060005260206000209060020201604051806040016040529081600082015481526020016001820154815250509050610ca960115442611a5f90919063ffffffff16565b815110610ce957610ce6838381548110610cc557610cc5611bff565b906000526020600020906002020160010154866119fc90919063ffffffff16565b94505b5080610cf481611bce565b915050610c48565b505050919050565b6000610d2b600954610d25633b9aca00600a54611a6b90919063ffffffff16565b90611a77565b905090565b6000546001600160a01b03163314610d5a5760405162461bcd60e51b815260040161056190611b00565b428111610db35760405162461bcd60e51b815260206004820152602160248201527f53746172742074696d65206d75737420626520696e20746865206675747572656044820152601760f91b6064820152608401610561565b600e544210610e045760405162461bcd60e51b815260206004820152601860248201527f53616c652068617320616c7265616479207374617274656400000000000000006044820152606401610561565b600e819055600f54610e179082906119fc565b60105550565b600080610e28610d04565b90506012548111610e3b57505060125490565b919050565b601454610100900460ff16610e8b5760405162461bcd60e51b815260206004820152601160248201527018db185a5b481b9bdd08195b98589b1959607a1b6044820152606401610561565b601054421015610edd5760405162461bcd60e51b815260206004820152601d60248201527f54696d6520746f20636c61696d20686173206e6f7420617272697665640000006044820152606401610561565b336000908152601560205260409020600581015460ff1615610f3a5760405162461bcd60e51b8152602060048201526016602482015275151bdad95b9cc8185b1c9958591e4818db185a5b595960521b6044820152606401610561565b8054610f7d5760405162461bcd60e51b81526020600482015260126024820152714e6f20696e766573746d656e74206d61646560701b6044820152606401610561565b6013548154600091610f9791610d2590633b9aca00611a6b565b60058301805460ff191660019081179091558301819055600b54909150610fbe90826119fc565b600b55806110015760405162461bcd60e51b815260206004820152601060248201526f1b9bc8185b5bdd5b9d081a5cdcdd595960821b6044820152606401610561565b60015460405163219e412d60e21b8152336004820152602481018390526001600160a01b039091169063867904b490604401600060405180830381600087803b15801561104d57600080fd5b505af1158015611061573d6000803e3d6000fd5b505060408051338152602081018590527fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a9350019050610a02565b60145462010000900460ff166110e95760405162461bcd60e51b81526020600482015260126024820152711c995919595b481b9bdd08195b98589b195960721b6044820152606401610561565b601054421161112f5760405162461bcd60e51b81526020600482015260126024820152711b9bdd081c995919595b58589b19481e595d60721b6044820152606401610561565b6001546040516370a0823160e01b81523360048201526000916001600160a01b0316906370a082319060240160206040518083038186803b15801561117357600080fd5b505afa158015611187573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ab9190611ae7565b9050600081116111f05760405162461bcd60e51b815260206004820152601060248201526f1b9bc8185b5bdd5b9d081a5cdcdd595960821b6044820152606401610561565b3360009081526015602052604090206005810154610100900460ff161561124c5760405162461bcd60e51b815260206004820152601060248201526f185b1c9958591e481c995919595b595960821b6044820152606401610561565b6004546001600160a01b03166112a45760405162461bcd60e51b815260206004820152601760248201527f4c61756e746820746f6b656e206e6f74207365747465640000000000000000006044820152606401610561565b60058101805461ff0019166101001790556004805460405163a9059cbb60e01b81523392810192909252602482018490526001600160a01b03169063a9059cbb90604401602060405180830381600087803b15801561130257600080fd5b505af1158015611316573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133a9190611aac565b6113565760405162461bcd60e51b815260040161056190611b35565b6001546040516301e9a69560e41b8152336004820152602481018490526001600160a01b0390911690631e9a695090604401600060405180830381600087803b1580156113a257600080fd5b505af11580156113b6573d6000803e3d6000fd5b5050505081600c60008282546113cc9190611b5e565b909155505060408051338152602081018490527f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b93699101610a02565b60145460ff166114535760405162461bcd60e51b815260206004820152601760248201527614d85b19481a5cc81b9bdd08195b98589b1959081e595d604a1b6044820152606401610561565b600e544210156114a05760405162461bcd60e51b815260206004820152601860248201527714d85b19481a185cc81b9bdd081cdd185c9d1959081e595d60421b6044820152606401610561565b60105442106114e25760405162461bcd60e51b815260206004820152600e60248201526d14d85b19481a185cc8195b99195960921b6044820152606401610561565b600854600a541061155b5760405162461bcd60e51b815260206004820152603d60248201527f4d6178696d756d20496e766573746d656e747320726561636865642c2064657060448201527f6f736974732f7769746864726177616c206172652064697361626c65640000006064820152608401610561565b6007548111156115c35760405162461bcd60e51b815260206004820152602d60248201527f43616e6e6f742072656d6f7665206d6f7265207468616e20746865206d61786960448201526c1b5d5b48189e481c195c9a5bd9609a1b6064820152608401610561565b33600090815260156020526040902080548211156116235760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f742052656d6f7665206d6f7265207468616e20696e7665737465646044820152606401610561565b60048101600061163e61163533610c2a565b60075490611a5f565b90508084111561169b5760405162461bcd60e51b815260206004820152602260248201527f4d6178207769746864726177207265616368656420666f72207468697320686f6044820152613ab960f11b6064820152608401610561565b60408051808201909152428152602080820186815284546001818101875560008781529384209451600290920290940190815590519201919091556003840180548692906116ea908490611b5e565b9091555050825484908490600090611703908490611bb7565b9250508190555083600a600082825461171c9190611bb7565b90915550506003546040516323b872dd60e01b8152306004820152336024820152604481018690526001600160a01b03909116906323b872dd90606401602060405180830381600087803b15801561177357600080fd5b505af1158015611787573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ab9190611aac565b6117c75760405162461bcd60e51b815260040161056190611b35565b6117cf610e1d565b6013819055600a5460408051338152602081018890529081019190915260608101919091527f5b938ffadc562aeed2a41670639ca329cc324ab076745a80f2849467dec6e45a9060800160405180910390a150505050565b6000546001600160a01b031633146118515760405162461bcd60e51b815260040161056190611b00565b6014805460ff19166001908117909155604080519182524260208301527f020b56eb5031e351b28c7914a3185d679342016d533b3fe0d056b43fe5ecb86891016105ad565b6000546001600160a01b031633146118c05760405162461bcd60e51b815260040161056190611b00565b6001600160a01b0381166119255760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610561565b61192e81611a0f565b50565b6000546001600160a01b0316331461195b5760405162461bcd60e51b815260040161056190611b00565b6004805460405163a9059cbb60e01b81523392810192909252602482018390526001600160a01b03169063a9059cbb90604401602060405180830381600087803b1580156119a857600080fd5b505af11580156119bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e09190611aac565b61192e5760405162461bcd60e51b815260040161056190611b35565b6000611a088284611b5e565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611a088284611bb7565b6000611a088284611b98565b6000611a088284611b76565b600060208284031215611a9557600080fd5b81356001600160a01b0381168114611a0857600080fd5b600060208284031215611abe57600080fd5b81518015158114611a0857600080fd5b600060208284031215611ae057600080fd5b5035919050565b600060208284031215611af957600080fd5b5051919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600f908201526e1d1c985b9cd9995c8819985a5b1959608a1b604082015260600190565b60008219821115611b7157611b71611be9565b500190565b600082611b9357634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611bb257611bb2611be9565b500290565b600082821015611bc957611bc9611be9565b500390565b6000600019821415611be257611be2611be9565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fdfea26469706673582212206241c6ce3fa5d6773abc9436144d069b4c7fad4f4a5def5091a64e9476a01c6a64736f6c634300080500330000000000000000000000000b7b7ae45bc137ea0a36422eac5bc52e7657a22500000000000000000000000004068da6c83afcfa0e13ba15a6696662335d5b75000000000000000000000000c31b15d2113784a9c4c23416db5249f279631d2e0000000000000000000000000000000000000000000000000000000062111400000000000000000000000000000000000000000000000000000000000002a3000000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000009502f9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000145f680b0000000000000000000000000000000000000000000000000000013e52b9abe0000000000000000000000000000000000000000000000000000000000000013880
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000b7b7ae45bc137ea0a36422eac5bc52e7657a22500000000000000000000000004068da6c83afcfa0e13ba15a6696662335d5b75000000000000000000000000c31b15d2113784a9c4c23416db5249f279631d2e0000000000000000000000000000000000000000000000000000000062111400000000000000000000000000000000000000000000000000000000000002a3000000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000009502f9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000145f680b0000000000000000000000000000000000000000000000000000013e52b9abe0000000000000000000000000000000000000000000000000000000000000013880
-----Decoded View---------------
Arg [0] : _fundsRedeemer (address): 0x0b7b7ae45bc137ea0a36422eac5bc52e7657a225
Arg [1] : _investToken (address): 0x04068da6c83afcfa0e13ba15a6696662335d5b75
Arg [2] : _nrtAddress (address): 0xc31b15d2113784a9c4c23416db5249f279631d2e
Arg [3] : _launchStartTime (uint256): 1645286400
Arg [4] : _saleDuration (uint256): 172800
Arg [5] : _investRemovalDelay (uint256): 3600
Arg [6] : _maxInvestAllowed (uint256): 2500000000
Arg [7] : _minInvestAllowed (uint256): 0
Arg [8] : _maxInvestRemovablePerPeriod (uint256): 1000000000
Arg [9] : _maxGlobalInvestAllowed (uint256): 87500000000
Arg [10] : _maxRedeemableToIssue (uint256): 350000000000000
Arg [11] : _startingPrice (uint256): 80000
-----Encoded View---------------
12 Constructor Arguments found :
Arg [0] : 0000000000000000000000000b7b7ae45bc137ea0a36422eac5bc52e7657a225
Arg [1] : 00000000000000000000000004068da6c83afcfa0e13ba15a6696662335d5b75
Arg [2] : 000000000000000000000000c31b15d2113784a9c4c23416db5249f279631d2e
Arg [3] : 0000000000000000000000000000000000000000000000000000000062111400
Arg [4] : 000000000000000000000000000000000000000000000000000000000002a300
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000e10
Arg [6] : 000000000000000000000000000000000000000000000000000000009502f900
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [8] : 000000000000000000000000000000000000000000000000000000003b9aca00
Arg [9] : 000000000000000000000000000000000000000000000000000000145f680b00
Arg [10] : 00000000000000000000000000000000000000000000000000013e52b9abe000
Arg [11] : 0000000000000000000000000000000000000000000000000000000000013880
Deployed ByteCode Sourcemap
15328:12688:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26989:132;;;:::i;:::-;;15949:34;;;;;;;;;12548:25:1;;;12536:2;12521:18;15949:34:0;;;;;;;;17592:29;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1125:32:1;;;1107:51;;1095:2;1080:18;17592:29:0;1062:102:1;15718:42:0;;;;;;16505:24;;;;;;;;;;;;;;;2415:14:1;;2408:22;2390:41;;2378:2;2363:18;16505:24:0;2345:92:1;26852:129:0;;;:::i;15990:29::-;;;;;;19551:1520;;;;;;:::i;:::-;;:::i;15443:28::-;;;;;-1:-1:-1;;;;;15443:28:0;;;16146:27;;;;;;15642:31;;;;;;16224:28;;;;;;26602:108;;;;;;:::i;:::-;;:::i;27129:274::-;;;:::i;26379:128::-;;;:::i;5285:103::-;;;:::i;16475:23::-;;;;;;;;;21181:657;;;;;;:::i;:::-;;:::i;16079:30::-;;;;;;26237:134;;;:::i;27669:344::-;;;;;;:::i;:::-;;:::i;15910:32::-;;;;;;4634:87;4680:7;4707:6;-1:-1:-1;;;;;4707:6:0;4634:87;;16312:33;;;;;;25996:233;;;:::i;15587:26::-;;;;;-1:-1:-1;;;;;15587:26:0;;;24018:825;;;:::i;16401:25::-;;;;;;15680:31;;;;;;16568:21;;;;;;;;;;;;15519:26;;;;;-1:-1:-1;;;;;15519:26:0;;;15869:34;;;;;;24903:1037;;;:::i;21992:1934::-;;;;;;:::i;:::-;;:::i;26718:126::-;;;:::i;16536:25::-;;;;;;;;;;;;16366:28;;;;;;15767:37;;;;;;15410:24;;;;;-1:-1:-1;;;;;15410:24:0;;;5543:201;;;;;;:::i;:::-;;:::i;17530:55::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12859:25:1;;;12915:2;12900:18;;12893:34;;;;12943:18;;;12936:34;;;;13001:2;12986:18;;12979:34;13057:14;13050:22;13044:3;13029:19;;13022:51;13117:14;13110:22;13104:3;13089:19;;13082:51;12846:3;12831:19;17530:55:0;12813:326:1;27467:194:0;;;;;;:::i;:::-;;:::i;15811:35::-;;;;;;26989:132;4680:7;4707:6;-1:-1:-1;;;;;4707:6:0;3516:10;4854:23;4846:68;;;;-1:-1:-1;;;4846:68:0;;;;;;;:::i;:::-;;;;;;;;;27041:13:::1;:20:::0;;-1:-1:-1;;27041:20:0::1;::::0;::::1;::::0;;27077:36:::1;::::0;;-1:-1:-1;2610:41:1;;27097:15:0::1;2682:2:1::0;2667:18;;2660:34;27077:36:0::1;::::0;2583:18:1;27077:36:0::1;;;;;;;;26989:132::o:0;17592:29::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17592:29:0;;-1:-1:-1;17592:29:0;:::o;26852:129::-;4680:7;4707:6;-1:-1:-1;;;;;4707:6:0;3516:10;4854:23;4846:68;;;;-1:-1:-1;;;4846:68:0;;;;;;;:::i;:::-;26903:12:::1;:19:::0;;-1:-1:-1;;26903:19:0::1;;;::::0;;26938:35:::1;::::0;;-1:-1:-1;2610:41:1;;26957:15:0::1;2682:2:1::0;2667:18;;2660:34;26938:35:0::1;::::0;2583:18:1;26938:35:0::1;2565:135:1::0;19551:1520:0;19617:11;;;;19609:47;;;;-1:-1:-1;;;19609:47:0;;12252:2:1;19609:47:0;;;12234:21:1;12291:2;12271:18;;;12264:30;-1:-1:-1;;;12310:18:1;;;12303:53;12373:18;;19609:47:0;12224:173:1;19609:47:0;19694:15;;19675;:34;;19667:71;;;;-1:-1:-1;;;19667:71:0;;3566:2:1;19667:71:0;;;3548:21:1;3605:2;3585:18;;;3578:30;-1:-1:-1;;;3624:18:1;;;3617:54;3688:18;;19667:71:0;3538:174:1;19667:71:0;19775:16;;19757:14;:34;;19749:70;;;;-1:-1:-1;;;19749:70:0;;5130:2:1;19749:70:0;;;5112:21:1;5169:2;5149:18;;;5142:30;5208:25;5188:18;;;5181:53;5251:18;;19749:70:0;5102:173:1;19749:70:0;19839:14;:12;:14::i;:::-;19838:15;19830:49;;;;-1:-1:-1;;;19830:49:0;;6228:2:1;19830:49:0;;;6210:21:1;6267:2;6247:18;;;6240:30;-1:-1:-1;;;6286:18:1;;;6279:51;6347:18;;19830:49:0;6200:171:1;19830:49:0;19963:22;;19920:19;;:39;;19944:14;19920:23;:39::i;:::-;:65;;19898:142;;;;-1:-1:-1;;;19898:142:0;;9806:2:1;19898:142:0;;;9788:21:1;9845:2;9825:18;;;9818:30;9884:29;9864:18;;;9857:57;9931:18;;19898:142:0;9778:177:1;19898:142:0;20101:10;20053:29;20085:27;;;:15;:27;;;;;20191:16;;20145:22;;:42;;20172:14;20145:26;:42::i;:::-;:62;;20123:145;;;;-1:-1:-1;;;20123:145:0;;4728:2:1;20123:145:0;;;4710:21:1;4767:2;4747:18;;;4740:30;4806:34;4786:18;;;4779:62;-1:-1:-1;;;4857:18:1;;;4850:31;4898:19;;20123:145:0;4700:223:1;20123:145:0;20328:11;;20321:141;;-1:-1:-1;;;20321:141:0;;20372:10;20321:141;;;1409:34:1;20409:4:0;1459:18:1;;;1452:43;1511:18;;;1504:34;;;-1:-1:-1;;;;;20328:11:0;;;;20321:32;;1344:18:1;;20321:141:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20299:206;;;;-1:-1:-1;;;20299:206:0;;;;;;;:::i;:::-;20520:22;;20516:123;;20582:1;20564:14;;:19;;;;;;;:::i;:::-;;;;-1:-1:-1;;20598:12:0;:29;;;;;;;-1:-1:-1;20598:29:0;;;;;;;;-1:-1:-1;;;;;;20598:29:0;20616:10;20598:29;;;20516:123;20686:14;20649:8;:33;;;:51;;;;;;;:::i;:::-;;;;-1:-1:-1;;20711:40:0;;20737:14;;20711:8;;:22;;:40;;20737:14;;20711:40;:::i;:::-;;;;;;;;20785:14;20762:19;;:37;;;;;;;:::i;:::-;;;;-1:-1:-1;20903:14:0;;-1:-1:-1;20903:12:0;:14::i;:::-;20890:10;:27;;;21008:19;;20933:130;;;20954:10;2059:51:1;;2141:2;2126:18;;2119:34;;;2169:18;;;2162:34;;;;2227:2;2212:18;;2205:34;;;;20933:130:0;;2046:3:1;2031:19;20933:130:0;;;;;;;;19598:1473;19551:1520;:::o;26602:108::-;4680:7;4707:6;-1:-1:-1;;;;;4707:6:0;3516:10;4854:23;4846:68;;;;-1:-1:-1;;;4846:68:0;;;;;;;:::i;:::-;26676:11:::1;:26:::0;;-1:-1:-1;;;;;;26676:26:0::1;-1:-1:-1::0;;;;;26676:26:0;;;::::1;::::0;;;::::1;::::0;;26602:108::o;27129:274::-;4680:7;4707:6;-1:-1:-1;;;;;4707:6:0;3516:10;4854:23;4846:68;;;;-1:-1:-1;;;4846:68:0;;;;;;;:::i;:::-;27217:13:::1;;27199:15;:31;27191:62;;;::::0;-1:-1:-1;;;27191:62:0;;7339:2:1;27191:62:0::1;::::0;::::1;7321:21:1::0;7378:2;7358:18;;;7351:30;-1:-1:-1;;;7397:18:1;;;7390:48;7455:18;;27191:62:0::1;7311:168:1::0;27191:62:0::1;27288:11;::::0;27281:44:::1;::::0;-1:-1:-1;;;27281:44:0;;27319:4:::1;27281:44;::::0;::::1;1107:51:1::0;27264:14:0::1;::::0;-1:-1:-1;;;;;27288:11:0::1;::::0;27281:29:::1;::::0;1080:18:1;;27281:44:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27343:11;::::0;27365:13:::1;::::0;27336:51:::1;::::0;-1:-1:-1;;;27336:51:0;;-1:-1:-1;;;;;27365:13:0;;::::1;27336:51;::::0;::::1;1723::1::0;1790:18;;;1783:34;;;27264:61:0;;-1:-1:-1;27343:11:0::1;::::0;27336:28:::1;::::0;1696:18:1;;27336:51:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;27180:223;27129:274::o:0;26379:128::-;26424:4;26466:33;26486:12;;26466:15;;:19;;:33;;;;:::i;:::-;26448:15;:51;26441:58;;26379:128;:::o;5285:103::-;4680:7;4707:6;-1:-1:-1;;;;;4707:6:0;3516:10;4854:23;4846:68;;;;-1:-1:-1;;;4846:68:0;;;;;;;:::i;:::-;5350:30:::1;5377:1;5350:18;:30::i;:::-;5285:103::o:0;21181:657::-;-1:-1:-1;;;;;21360:25:0;;21281:29;21360:25;;;:15;:25;;;;;21437:24;;;21281:29;21472:359;21496:22;;21492:26;;21472:359;;;21540:26;21569:15;21585:1;21569:18;;;;;;;;:::i;:::-;;;;;;;;;;;21540:47;;;;;;;;;;;;;;;;;;;;;;;;;;;21628:39;21648:18;;21628:15;:19;;:39;;;;:::i;:::-;21606:18;;:61;21602:218;;21712:92;21760:15;21776:1;21760:18;;;;;;;;:::i;:::-;;;;;;;;;;;:25;;;21712:21;:25;;:92;;;;:::i;:::-;21688:116;;21602:218;-1:-1:-1;21520:3:0;;;;:::i;:::-;;;;21472:359;;;;21317:521;;21181:657;;;:::o;26237:134::-;26282:7;26309:54;26342:20;;26309:28;26333:3;26309:19;;:23;;:28;;;;:::i;:::-;:32;;:54::i;:::-;26302:61;;26237:134;:::o;27669:344::-;4680:7;4707:6;-1:-1:-1;;;;;4707:6:0;3516:10;4854:23;4846:68;;;;-1:-1:-1;;;4846:68:0;;;;;;;:::i;:::-;27757:15:::1;27747:7;:25;27739:71;;;::::0;-1:-1:-1;;;27739:71:0;;3919:2:1;27739:71:0::1;::::0;::::1;3901:21:1::0;3958:2;3938:18;;;3931:30;3997:34;3977:18;;;3970:62;-1:-1:-1;;;4048:18:1;;;4041:31;4089:19;;27739:71:0::1;3891:223:1::0;27739:71:0::1;27847:15;;27829;:33;27821:70;;;::::0;-1:-1:-1;;;27821:70:0;;7686:2:1;27821:70:0::1;::::0;::::1;7668:21:1::0;7725:2;7705:18;;;7698:30;7764:26;7744:18;;;7737:54;7808:18;;27821:70:0::1;7658:174:1::0;27821:70:0::1;27902:15;:25:::0;;;27992:12:::1;::::0;27980:25:::1;::::0;27920:7;;27980:11:::1;:25::i;:::-;27964:13;:41:::0;-1:-1:-1;27669:344:0:o;25996:233::-;26041:7;26061:13;26077:14;:12;:14::i;:::-;26061:30;;26115:13;;26106:5;:22;26102:120;;-1:-1:-1;;26152:13:0;;;25996:233::o;26102:120::-;26205:5;25996:233;-1:-1:-1;25996:233:0:o;24018:825::-;24071:12;;;;;;;24063:42;;;;-1:-1:-1;;;24063:42:0;;11214:2:1;24063:42:0;;;11196:21:1;11253:2;11233:18;;;11226:30;-1:-1:-1;;;11272:18:1;;;11265:47;11329:18;;24063:42:0;11186:167:1;24063:42:0;24143:13;;24124:15;:32;;24116:74;;;;-1:-1:-1;;;24116:74:0;;8039:2:1;24116:74:0;;;8021:21:1;8078:2;8058:18;;;8051:30;8117:31;8097:18;;;8090:59;8166:18;;24116:74:0;8011:179:1;24116:74:0;24259:10;24211:29;24243:27;;;:15;:27;;;;;24290:19;;;;;;24289:20;24281:55;;;;-1:-1:-1;;;24281:55:0;;9455:2:1;24281:55:0;;;9437:21:1;9494:2;9474:18;;;9467:30;-1:-1:-1;;;9513:18:1;;;9506:52;9575:18;;24281:55:0;9427:172:1;24281:55:0;24355:22;;24347:57;;;;-1:-1:-1;;;24347:57:0;;6578:2:1;24347:57:0;;;6560:21:1;6617:2;6597:18;;;6590:30;-1:-1:-1;;;6636:18:1;;;6629:48;6694:18;;24347:57:0;6550:168:1;24347:57:0;24485:10;;24447:22;;24425:19;;24447:49;;:33;;24474:5;24447:26;:33::i;:49::-;24507:19;;;:26;;-1:-1:-1;;24507:26:0;24529:4;24507:26;;;;;;24544:21;;:35;;;24610:17;;24425:71;;-1:-1:-1;24610:34:0;;24425:71;24610:21;:34::i;:::-;24590:17;:54;24698:15;24690:44;;;;-1:-1:-1;;;24690:44:0;;11560:2:1;24690:44:0;;;11542:21:1;11599:2;11579:18;;;11572:30;-1:-1:-1;;;11618:18:1;;;11611:46;11674:18;;24690:44:0;11532:166:1;24690:44:0;24745:3;;:34;;-1:-1:-1;;;24745:34:0;;24755:10;24745:34;;;1723:51:1;1790:18;;;1783:34;;;-1:-1:-1;;;;;24745:3:0;;;;:9;;1696:18:1;;24745:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;24803:32:0;;;24811:10;1723:51:1;;1805:2;1790:18;;1783:34;;;24803:32:0;;-1:-1:-1;1696:18:1;;-1:-1:-1;24803:32:0;1678:145:1;24903:1037:0;24955:13;;;;;;;24947:44;;;;-1:-1:-1;;;24947:44:0;;11905:2:1;24947:44:0;;;11887:21:1;11944:2;11924:18;;;11917:30;-1:-1:-1;;;11963:18:1;;;11956:48;12021:18;;24947:44:0;11877:168:1;24947:44:0;25028:13;;25010:15;:31;25002:62;;;;-1:-1:-1;;;25002:62:0;;10867:2:1;25002:62:0;;;10849:21:1;10906:2;10886:18;;;10879:30;-1:-1:-1;;;10925:18:1;;;10918:48;10983:18;;25002:62:0;10839:168:1;25002:62:0;25098:3;;:25;;-1:-1:-1;;;25098:25:0;;25112:10;25098:25;;;1107:51:1;25075:20:0;;-1:-1:-1;;;;;25098:3:0;;:13;;1080:18:1;;25098:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25075:48;;25157:1;25142:12;:16;25134:45;;;;-1:-1:-1;;;25134:45:0;;11560:2:1;25134:45:0;;;11542:21:1;11599:2;11579:18;;;11572:30;-1:-1:-1;;;11618:18:1;;;11611:46;11674:18;;25134:45:0;11532:166:1;25134:45:0;25238:10;25190:29;25222:27;;;:15;:27;;;;;25269:20;;;;;;;;;25268:21;25260:50;;;;-1:-1:-1;;;25260:50:0;;9110:2:1;25260:50:0;;;9092:21:1;9149:2;9129:18;;;9122:30;-1:-1:-1;;;9168:18:1;;;9161:46;9224:18;;25260:50:0;9082:166:1;25260:50:0;25329:11;;-1:-1:-1;;;;;25329:11:0;25321:61;;;;-1:-1:-1;;;25321:61:0;;8397:2:1;25321:61:0;;;8379:21:1;8436:2;8416:18;;;8409:30;8475:25;8455:18;;;8448:53;8518:18;;25321:61:0;8369:173:1;25321:61:0;25423:20;;;:27;;-1:-1:-1;;25423:27:0;;;;;25533:11;;;25526:103;;-1:-1:-1;;;25526:103:0;;25573:10;25526:103;;;1723:51:1;;;;1790:18;;;1783:34;;;-1:-1:-1;;;;;25533:11:0;;25526:28;;1696:18:1;;25526:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25504:168;;;;-1:-1:-1;;;25504:168:0;;;;;;;:::i;:::-;25725:3;;:36;;-1:-1:-1;;;25725:36:0;;25736:10;25725:36;;;1723:51:1;1790:18;;;1783:34;;;-1:-1:-1;;;;;25725:3:0;;;;:10;;1696:18:1;;25725:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25844:12;25821:19;;:35;;;;;;;:::i;:::-;;;;-1:-1:-1;;25890:34:0;;;25899:10;1723:51:1;;1805:2;1790:18;;1783:34;;;25890::0;;1696:18:1;25890:34:0;1678:145:1;21992:1934:0;22068:11;;;;22060:47;;;;-1:-1:-1;;;22060:47:0;;12252:2:1;22060:47:0;;;12234:21:1;12291:2;12271:18;;;12264:30;-1:-1:-1;;;12310:18:1;;;12303:53;12373:18;;22060:47:0;12224:173:1;22060:47:0;22145:15;;22126;:34;;22118:71;;;;-1:-1:-1;;;22118:71:0;;3566:2:1;22118:71:0;;;3548:21:1;3605:2;3585:18;;;3578:30;-1:-1:-1;;;3624:18:1;;;3617:54;3688:18;;22118:71:0;3538:174:1;22118:71:0;22226:13;;22208:15;:31;22200:58;;;;-1:-1:-1;;;22200:58:0;;5885:2:1;22200:58:0;;;5867:21:1;5924:2;5904:18;;;5897:30;-1:-1:-1;;;5943:18:1;;;5936:44;5997:18;;22200:58:0;5857:164:1;22200:58:0;22313:22;;22291:19;;:44;22269:155;;;;-1:-1:-1;;;22269:155:0;;3136:2:1;22269:155:0;;;3118:21:1;3175:2;3155:18;;;3148:30;3214:34;3194:18;;;3187:62;3285:31;3265:18;;;3258:59;3334:19;;22269:155:0;3108:251:1;22269:155:0;22461:27;;22443:14;:45;;22435:103;;;;-1:-1:-1;;;22435:103:0;;6925:2:1;22435:103:0;;;6907:21:1;6964:2;6944:18;;;6937:30;7003:34;6983:18;;;6976:62;-1:-1:-1;;;7054:18:1;;;7047:43;7107:19;;22435:103:0;6897:235:1;22435:103:0;22599:10;22551:29;22583:27;;;:15;:27;;;;;22719:22;;22701:40;;;22679:122;;;;-1:-1:-1;;;22679:122:0;;10162:2:1;22679:122:0;;;10144:21:1;;;10181:18;;;10174:30;10240:34;10220:18;;;10213:62;10292:18;;22679:122:0;10134:182:1;22679:122:0;22913:24;;;22874:36;22977:93;23023:36;23048:10;23023:24;:36::i;:::-;22977:27;;;:31;:93::i;:::-;22948:122;;23121:18;23103:14;:36;;23081:120;;;;-1:-1:-1;;;23081:120:0;;5482:2:1;23081:120:0;;;5464:21:1;5521:2;5501:18;;;5494:30;5560:34;5540:18;;;5533:62;-1:-1:-1;;;5611:18:1;;;5604:32;5653:19;;23081:120:0;5454:224:1;23081:120:0;23247:64;;;;;;;;;23270:15;23247:64;;;;;;;;;23212:110;;;;;;;;-1:-1:-1;23212:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;23353:33;;;:51;;23295:14;;-1:-1:-1;23353:51:0;;23295:14;;23353:51;:::i;:::-;;;;-1:-1:-1;;23415:40:0;;23441:14;;23415:8;;:22;;:40;;23441:14;;23415:40;:::i;:::-;;;;;;;;23489:14;23466:19;;:37;;;;;;;:::i;:::-;;;;-1:-1:-1;;23543:11:0;;23536:141;;-1:-1:-1;;;23536:141:0;;23595:4;23536:141;;;1409:34:1;23619:10:0;1459:18:1;;;1452:43;1511:18;;;1504:34;;;-1:-1:-1;;;;;23543:11:0;;;;23536:32;;1344:18:1;;23536:141:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23514:206;;;;-1:-1:-1;;;23514:206:0;;;;;;;:::i;:::-;23746:14;:12;:14::i;:::-;23733:10;:27;;;23863:19;;23778:140;;;23809:10;2059:51:1;;2141:2;2126:18;;2119:34;;;2169:18;;;2162:34;;;;2227:2;2212:18;;2205:34;;;;23778:140:0;;2046:3:1;2031:19;23778:140:0;;;;;;;22049:1877;;;21992:1934;:::o;26718:126::-;4680:7;4707:6;-1:-1:-1;;;;;4707:6:0;3516:10;4854:23;4846:68;;;;-1:-1:-1;;;4846:68:0;;;;;;;:::i;:::-;26768:11:::1;:18:::0;;-1:-1:-1;;26768:18:0::1;26782:4;26768:18:::0;;::::1;::::0;;;26802:34:::1;::::0;;2610:41:1;;;26820:15:0::1;2682:2:1::0;2667:18;;2660:34;26802::0::1;::::0;2583:18:1;26802:34:0::1;2565:135:1::0;5543:201:0;4680:7;4707:6;-1:-1:-1;;;;;4707:6:0;3516:10;4854:23;4846:68;;;;-1:-1:-1;;;4846:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5632:22:0;::::1;5624:73;;;::::0;-1:-1:-1;;;5624:73:0;;4321:2:1;5624:73:0::1;::::0;::::1;4303:21:1::0;4360:2;4340:18;;;4333:30;4399:34;4379:18;;;4372:62;-1:-1:-1;;;4450:18:1;;;4443:36;4496:19;;5624:73:0::1;4293:228:1::0;5624:73:0::1;5708:28;5727:8;5708:18;:28::i;:::-;5543:201:::0;:::o;27467:194::-;4680:7;4707:6;-1:-1:-1;;;;;4707:6:0;3516:10;4854:23;4846:68;;;;-1:-1:-1;;;4846:68:0;;;;;;;:::i;:::-;27569:11:::1;::::0;;27562:48:::1;::::0;-1:-1:-1;;;27562:48:0;;27591:10:::1;27562:48:::0;;::::1;1723:51:1::0;;;;1790:18;;;1783:34;;;-1:-1:-1;;;;;27569:11:0::1;::::0;27562:28:::1;::::0;1696:18:1;;27562:48:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27540:113;;;;-1:-1:-1::0;;;27540:113:0::1;;;;;;;:::i;8879:98::-:0;8937:7;8964:5;8968:1;8964;:5;:::i;:::-;8957:12;8879:98;-1:-1:-1;;;8879:98:0:o;5904:191::-;5978:16;5997:6;;-1:-1:-1;;;;;6014:17:0;;;-1:-1:-1;;;;;;6014:17:0;;;;;;6047:40;;5997:6;;;;;;;6047:40;;5978:16;6047:40;5967:128;5904:191;:::o;9260:98::-;9318:7;9345:5;9349:1;9345;:5;:::i;9617:98::-;9675:7;9702:5;9706:1;9702;:5;:::i;10016:98::-;10074:7;10101:5;10105:1;10101;:5;:::i;14:286:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;142:1;139;132:12;94:2;168:23;;-1:-1:-1;;;;;220:31:1;;210:42;;200:2;;266:1;263;256:12;305:277;372:6;425:2;413:9;404:7;400:23;396:32;393:2;;;441:1;438;431:12;393:2;473:9;467:16;526:5;519:13;512:21;505:5;502:32;492:2;;548:1;545;538:12;587:180;646:6;699:2;687:9;678:7;674:23;670:32;667:2;;;715:1;712;705:12;667:2;-1:-1:-1;738:23:1;;657:110;-1:-1:-1;657:110:1:o;772:184::-;842:6;895:2;883:9;874:7;870:23;866:32;863:2;;;911:1;908;901:12;863:2;-1:-1:-1;934:16:1;;853:103;-1:-1:-1;853:103:1:o;8547:356::-;8749:2;8731:21;;;8768:18;;;8761:30;8827:34;8822:2;8807:18;;8800:62;8894:2;8879:18;;8721:182::o;10321:339::-;10523:2;10505:21;;;10562:2;10542:18;;;10535:30;-1:-1:-1;;;10596:2:1;10581:18;;10574:45;10651:2;10636:18;;10495:165::o;13144:128::-;13184:3;13215:1;13211:6;13208:1;13205:13;13202:2;;;13221:18;;:::i;:::-;-1:-1:-1;13257:9:1;;13192:80::o;13277:217::-;13317:1;13343;13333:2;;13387:10;13382:3;13378:20;13375:1;13368:31;13422:4;13419:1;13412:15;13450:4;13447:1;13440:15;13333:2;-1:-1:-1;13479:9:1;;13323:171::o;13499:168::-;13539:7;13605:1;13601;13597:6;13593:14;13590:1;13587:21;13582:1;13575:9;13568:17;13564:45;13561:2;;;13612:18;;:::i;:::-;-1:-1:-1;13652:9:1;;13551:116::o;13672:125::-;13712:4;13740:1;13737;13734:8;13731:2;;;13745:18;;:::i;:::-;-1:-1:-1;13782:9:1;;13721:76::o;13802:135::-;13841:3;-1:-1:-1;;13862:17:1;;13859:2;;;13882:18;;:::i;:::-;-1:-1:-1;13929:1:1;13918:13;;13849:88::o;13942:127::-;14003:10;13998:3;13994:20;13991:1;13984:31;14034:4;14031:1;14024:15;14058:4;14055:1;14048:15;14074:127;14135:10;14130:3;14126:20;14123:1;14116:31;14166:4;14163:1;14156:15;14190:4;14187:1;14180:15
Swarm Source
ipfs://6241c6ce3fa5d6773abc9436144d069b4c7fad4f4a5def5091a64e9476a01c6a
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Validator ID :
0 FTM
Amount Staked
0
Amount Delegated
0
Staking Total
0
Staking Start Epoch
0
Staking Start Time
0
Proof of Importance
0
Origination Score
0
Validation Score
0
Active
0
Online
0
Downtime
0 s
Address | Amount | claimed Rewards | Created On Epoch | Created On |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.