ETH Price: $2,990.99 (-2.76%)
Gas: 5 Gwei

Token

Cryptoindex 100 (CIX100)
 

Overview

Max Total Supply

300,000,000 CIX100

Holders

3,110 (0.00%)

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

AI-powered Indexes & smart analytical tools

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
CryptoIndexToken

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-11-14
*/

// CryptoIndex token smart contract.
// Developed by Phenom.Team <[email protected]>

pragma solidity ^0.4.24;

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address private _owner;


  event OwnershipRenounced(address indexed previousOwner);
  event OwnershipTransferred(
    address indexed previousOwner,
    address indexed newOwner
  );


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    _owner = msg.sender;
  }

  /**
   * @return the address of the owner.
   */
  function owner() public view returns(address) {
    return _owner;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(isOwner());
    _;
  }

  /**
   * @return true if `msg.sender` is the owner of the contract.
   */
  function isOwner() public view returns(bool) {
    return msg.sender == _owner;
  }

  /**
   * @dev Allows the current owner to relinquish control of the contract.
   * @notice Renouncing to ownership will leave the contract without an owner.
   * It will not be possible to call the functions with the `onlyOwner`
   * modifier anymore.
   */
  function renounceOwnership() public onlyOwner {
    emit OwnershipRenounced(_owner);
    _owner = address(0);
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    _transferOwnership(newOwner);
  }

  /**
   * @dev Transfers control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function _transferOwnership(address newOwner) internal {
    require(newOwner != address(0));
    emit OwnershipTransferred(_owner, newOwner);
    _owner = newOwner;
  }
}

/**
 *   @title ERC20
 *   @dev Standart ERC20 token interface
 */

contract ERC20 {
    mapping(address => uint) balances;
    mapping(address => mapping (address => uint)) allowed;

    function balanceOf(address _owner) public view returns (uint);
    function transfer(address _to, uint _value) public returns (bool);
    function transferFrom(address _from, address _to, uint _value) public returns (bool);
    function approve(address _spender, uint _value) public returns (bool);
    function allowance(address _owner, address _spender) public view returns (uint);

    event Transfer(address indexed _from, address indexed _to, uint _value);
    event Approval(address indexed _owner, address indexed _spender, uint _value);

} 


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint a, uint b) internal pure returns (uint) {
    if (a == 0) {
      return 0;
    }
    uint c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint a, uint b) internal pure returns (uint) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  /**
  * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint a, uint b) internal pure returns (uint) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint a, uint b) internal pure returns (uint) {
    uint c = a + b;
    assert(c >= a);
    return c;
  }
}

/**
 *   @title CryptoIndexToken
 *   @dev СryptoIndexToken smart-contract
 */
contract CryptoIndexToken is ERC20, Ownable() {
    using SafeMath for uint;

    string public name = "Cryptoindex 100";
    string public symbol = "CIX100";
    uint public decimals = 18;

    uint public totalSupply = 300000000*1e18;
    uint public mintedAmount;

    uint public advisorsFundPercent = 3; // 3% of private sale for advisors fund 
    uint public teamFundPercent = 7; // 7% of private sale for team fund

    uint public bonusFundValue;
    uint public forgetFundValue;

    bool public mintingIsStarted;
    bool public mintingIsFinished;

    address public teamFund;
    address public advisorsFund;
    address public bonusFund;
    address public forgetFund;
    address public reserveFund;

    modifier onlyController() {
        require(controllers[msg.sender] == true);
        _;
    }

    // controllers
    mapping(address => bool) public controllers;

    //event
    event Burn(address indexed from, uint value);
    event MintingStarted(uint timestamp);
    event MintingFinished(uint timestamp);
    

   /**
    *   @dev Contract constructor function sets Ico address
    *   @param _teamFund       team fund address
    */
    constructor(address _forgetFund, address _teamFund, address _advisorsFund, address _bonusFund, address _reserveFund) public {
        controllers[msg.sender] = true;
        forgetFund = _forgetFund;
        teamFund = _teamFund;
        advisorsFund = _advisorsFund;
        bonusFund = _bonusFund;
        reserveFund = _reserveFund;
    }

   /**
    *   @dev Start minting
    *   @param _forgetFundValue        number of tokens for forgetFund
    *   @param _bonusFundValue         number of tokens for bonusFund
    */
    function startMinting(uint _forgetFundValue, uint _bonusFundValue) public onlyOwner {
        forgetFundValue = _forgetFundValue;
        bonusFundValue = _bonusFundValue;
        mintingIsStarted = true;
        emit MintingStarted(now);
    }

   /**
    *   @dev Finish minting
    */
    function finishMinting() public onlyOwner {
        require(mint(forgetFund, forgetFundValue));
        uint currentMintedAmount = mintedAmount;
        require(mint(teamFund, currentMintedAmount.mul(teamFundPercent).div(100)));
        require(mint(advisorsFund, currentMintedAmount.mul(advisorsFundPercent).div(100)));
        require(mint(bonusFund, bonusFundValue));
        require(mint(reserveFund, totalSupply.sub(mintedAmount)));
        mintingIsFinished = true;
        emit MintingFinished(now);
    }

   /**
    *   @dev Get balance of tokens holder
    *   @param _holder        holder's address
    *   @return               balance of investor
    */
    function balanceOf(address _holder) public view returns (uint) {
        return balances[_holder];
    }

   /**
    *   @dev Send coins
    *   throws on any error rather then return a false flag to minimize
    *   user errors
    *   @param _to           target address
    *   @param _amount       transfer amount
    *
    *   @return true if the transfer was successful
    */
    function transfer(address _to, uint _amount) public returns (bool) {
        require(mintingIsFinished);
        require(_to != address(0) && _to != address(this));
        balances[msg.sender] = balances[msg.sender].sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        emit Transfer(msg.sender, _to, _amount);
        return true;
    }

    /**
    *   @dev Transfer token in batches
    *   
    *   @param _adresses     token holders' adresses
    *   @param _values       token holders' values
    */
    function batchTransfer(address[] _adresses, uint[] _values) public returns (bool) {
        require(_adresses.length == _values.length);
        for (uint i = 0; i < _adresses.length; i++) {
            require(transfer(_adresses[i], _values[i]));
        }
        return true;
    }

   /**
    *   @dev An account/contract attempts to get the coins
    *   throws on any error rather then return a false flag to minimize user errors
    *
    *   @param _from         source address
    *   @param _to           target address
    *   @param _amount       transfer amount
    *
    *   @return true if the transfer was successful
    */
    function transferFrom(address _from, address _to, uint _amount) public returns (bool) {
        require(mintingIsFinished);

        require(_to != address(0) && _to != address(this));
        balances[_from] = balances[_from].sub(_amount);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        emit Transfer(_from, _to, _amount);
        return true;
    }

    /**
    *   @dev Add controller address
    *   
    *   @param _controller     controller's address
    */
    function addController(address _controller) public onlyOwner {
        require(mintingIsStarted);
        controllers[_controller] = true;
    }
    
    /**
    *   @dev Remove controller address
    *   
    *   @param _controller     controller's address
    */
    function removeController(address _controller) public onlyOwner {
        controllers[_controller] = false;
    }
    
    /**
    *   @dev Mint token in batches
    *   
    *   @param _adresses     token holders' adresses
    *   @param _values       token holders' values
    */
    function batchMint(address[] _adresses, uint[] _values) public onlyController {
        require(_adresses.length == _values.length);
        for (uint i = 0; i < _adresses.length; i++) {
            require(mint(_adresses[i], _values[i]));
            emit Transfer(address(0), _adresses[i], _values[i]);
        }
    }

    function burn(address _from, uint _value) public {
        if (msg.sender != _from) {
          require(!mintingIsFinished);
          // burn tokens from _from only if minting stage is not finished
          // allows owner to correct initial balance before finishing minting
          require(msg.sender == this.owner());
          mintedAmount = mintedAmount.sub(_value);          
        } else {
          require(mintingIsFinished);
          totalSupply = totalSupply.sub(_value);
        }
        balances[_from] = balances[_from].sub(_value);
        emit Burn(_from, _value);
    }
   /**
    *   @dev Allows another account/contract to spend some tokens on its behalf
    *   throws on any error rather then return a false flag to minimize user errors
    *
    *   also, to minimize the risk of the approve/transferFrom attack vector
    *   approve has to be called twice in 2 separate transactions - once to
    *   change the allowance to 0 and secondly to change it to the new allowance
    *   value
    *
    *   @param _spender      approved address
    *   @param _amount       allowance amount
    *
    *   @return true if the approval was successful
    */
    function approve(address _spender, uint _amount) public returns (bool) {
        require((_amount == 0) || (allowed[msg.sender][_spender] == 0));
        allowed[msg.sender][_spender] = _amount;
        emit Approval(msg.sender, _spender, _amount);
        return true;
    }


   /**
    *   @dev Function to check the amount of tokens that an owner allowed to a spender.
    *
    *   @param _owner        the address which owns the funds
    *   @param _spender      the address which will spend the funds
    *
    *   @return              the amount of tokens still avaible for the spender
    */
    function allowance(address _owner, address _spender) public view returns (uint) {
        return allowed[_owner][_spender];
    }

    /** 
    *   @dev Allows to transfer out any accidentally sent ERC20 tokens
    *   @param _tokenAddress  token address
    *   @param _amount        transfer amount
    */
    function transferAnyTokens(address _tokenAddress, uint _amount) 
        public
        returns (bool success) {
        return ERC20(_tokenAddress).transfer(this.owner(), _amount);
    }

    function mint(address _to, uint _value) internal returns (bool) {
        // Mint tokens only if minting stage is not finished
        require(mintingIsStarted);
        require(!mintingIsFinished);
        require(mintedAmount.add(_value) <= totalSupply);
        balances[_to] = balances[_to].add(_value);
        mintedAmount = mintedAmount.add(_value);
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"advisorsFund","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mintedAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mintingIsFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"advisorsFundPercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_forgetFundValue","type":"uint256"},{"name":"_bonusFundValue","type":"uint256"}],"name":"startMinting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"forgetFundValue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"teamFund","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_adresses","type":"address[]"},{"name":"_values","type":"uint256[]"}],"name":"batchMint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_adresses","type":"address[]"},{"name":"_values","type":"uint256[]"}],"name":"batchTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bonusFundValue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bonusFund","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_controller","type":"address"}],"name":"addController","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mintingIsStarted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"reserveFund","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"controllers","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"forgetFund","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferAnyTokens","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_controller","type":"address"}],"name":"removeController","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"teamFundPercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_forgetFund","type":"address"},{"name":"_teamFund","type":"address"},{"name":"_advisorsFund","type":"address"},{"name":"_bonusFund","type":"address"},{"name":"_reserveFund","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"MintingStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"MintingFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]

60806040526040805190810160405280600f81526020017f43727970746f696e646578203130300000000000000000000000000000000000815250600390805190602001906200005192919062000300565b506040805190810160405280600681526020017f4349583130300000000000000000000000000000000000000000000000000000815250600490805190602001906200009f92919062000300565b5060126005556af8277896582678ac00000060065560036008556007600955348015620000cb57600080fd5b5060405160a08062002781833981018060405281019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555084600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600c60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050620003af565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200034357805160ff191683800117855562000374565b8280016001018555821562000374579182015b828111156200037357825182559160200191906001019062000356565b5b50905062000383919062000387565b5090565b620003ac91905b80821115620003a85760008160009055506001016200038e565b5090565b90565b6123c280620003bf6000396000f3006080604052600436106101ac576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101b1578063095ea7b314610241578063150876f4146102a657806318160ddd146102fd57806323b872dd146103285780632d380242146103ad578063313ce567146103d857806337c75992146104035780633822abaa146104325780634509eb5d1461045d57806347ce9009146104945780635495699f146104bf578063685731071461051657806370a08231146105bf578063715018a6146106165780637d64bcb41461062d57806388d695b2146106445780638da5cb5b146107055780638f32d59b1461075c57806395d89b411461078b578063981267141461081b5780639db6537d146108465780639dc29fac1461089d578063a7fc7a07146108ea578063a85c4dcf1461092d578063a9059cbb1461095c578063b7f92b71146109c1578063da8c229e14610a18578063dd62ed3e14610a73578063eda2144d14610aea578063f2fde38b14610b41578063f5d7326114610b84578063f6a74ed714610be9578063fa724ee414610c2c575b600080fd5b3480156101bd57600080fd5b506101c6610c57565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102065780820151818401526020810190506101eb565b50505050905090810190601f1680156102335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024d57600080fd5b5061028c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cf5565b604051808215151515815260200191505060405180910390f35b3480156102b257600080fd5b506102bb610e7c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561030957600080fd5b50610312610ea2565b6040518082815260200191505060405180910390f35b34801561033457600080fd5b50610393600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ea8565b604051808215151515815260200191505060405180910390f35b3480156103b957600080fd5b506103c26111de565b6040518082815260200191505060405180910390f35b3480156103e457600080fd5b506103ed6111e4565b6040518082815260200191505060405180910390f35b34801561040f57600080fd5b506104186111ea565b604051808215151515815260200191505060405180910390f35b34801561043e57600080fd5b506104476111fd565b6040518082815260200191505060405180910390f35b34801561046957600080fd5b506104926004803603810190808035906020019092919080359060200190929190505050611203565b005b3480156104a057600080fd5b506104a961127a565b6040518082815260200191505060405180910390f35b3480156104cb57600080fd5b506104d4611280565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052257600080fd5b506105bd60048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506112a6565b005b3480156105cb57600080fd5b50610600600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061140e565b6040518082815260200191505060405180910390f35b34801561062257600080fd5b5061062b611456565b005b34801561063957600080fd5b50610642611512565b005b34801561065057600080fd5b506106eb60048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506116fc565b604051808215151515815260200191505060405180910390f35b34801561071157600080fd5b5061071a611778565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561076857600080fd5b506107716117a2565b604051808215151515815260200191505060405180910390f35b34801561079757600080fd5b506107a06117fa565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107e05780820151818401526020810190506107c5565b50505050905090810190601f16801561080d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561082757600080fd5b50610830611898565b6040518082815260200191505060405180910390f35b34801561085257600080fd5b5061085b61189e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108a957600080fd5b506108e8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118c4565b005b3480156108f657600080fd5b5061092b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b29565b005b34801561093957600080fd5b50610942611bb2565b604051808215151515815260200191505060405180910390f35b34801561096857600080fd5b506109a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611bc5565b604051808215151515815260200191505060405180910390f35b3480156109cd57600080fd5b506109d6611deb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a2457600080fd5b50610a59600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e11565b604051808215151515815260200191505060405180910390f35b348015610a7f57600080fd5b50610ad4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e31565b6040518082815260200191505060405180910390f35b348015610af657600080fd5b50610aff611eb8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b4d57600080fd5b50610b82600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ede565b005b348015610b9057600080fd5b50610bcf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611efd565b604051808215151515815260200191505060405180910390f35b348015610bf557600080fd5b50610c2a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612083565b005b348015610c3857600080fd5b50610c416120f1565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ced5780601f10610cc257610100808354040283529160200191610ced565b820191906000526020600020905b815481529060010190602001808311610cd057829003601f168201915b505050505081565b600080821480610d8157506000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1515610d8c57600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b6000600c60019054906101000a900460ff161515610ec557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610f2e57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1515610f3957600080fd5b610f8a826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120f790919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061105b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120f790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061112c826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211090919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60075481565b60055481565b600c60019054906101000a900460ff1681565b60085481565b61120b6117a2565b151561121657600080fd5b81600b8190555080600a819055506001600c60006101000a81548160ff0219169083151502179055507fd9124090290580997a8afe9ccbbbb9343f47fb65e61b15bab931f65de22f3a01426040518082815260200191505060405180910390a15050565b600b5481565b600c60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060011515601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561130757600080fd5b8151835114151561131757600080fd5b600090505b82518110156114095761135d838281518110151561133657fe5b90602001906020020151838381518110151561134e57fe5b9060200190602002015161212e565b151561136857600080fd5b828181518110151561137657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84848151811015156113dd57fe5b906020019060200201516040518082815260200191505060405180910390a3808060010191505061131c565b505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61145e6117a2565b151561146957600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600061151c6117a2565b151561152757600080fd5b611555600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b5461212e565b151561156057600080fd5b60075490506115b8600c60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff166115b360646115a56009548661224490919063ffffffff16565b61227f90919063ffffffff16565b61212e565b15156115c357600080fd5b611616600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661161160646116036008548661224490919063ffffffff16565b61227f90919063ffffffff16565b61212e565b151561162157600080fd5b61164f600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a5461212e565b151561165a57600080fd5b61169c601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166116976007546006546120f790919063ffffffff16565b61212e565b15156116a757600080fd5b6001600c60016101000a81548160ff0219169083151502179055507ff6af8e1d23f8a5997a11116c1e59bd11c947226b74890b8e0fde60d95a7c076a426040518082815260200191505060405180910390a150565b6000808251845114151561170f57600080fd5b600090505b835181101561176d57611755848281518110151561172e57fe5b90602001906020020151848381518110151561174657fe5b90602001906020020151611bc5565b151561176057600080fd5b8080600101915050611714565b600191505092915050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118905780601f1061186557610100808354040283529160200191611890565b820191906000526020600020905b81548152906001019060200180831161187357829003601f168201915b505050505081565b600a5481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a0d57600c60019054906101000a900460ff1615151561191557600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561197957600080fd5b505af115801561198d573d6000803e3d6000fd5b505050506040513d60208110156119a357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119ed57600080fd5b611a02816007546120f790919063ffffffff16565b600781905550611a44565b600c60019054906101000a900460ff161515611a2857600080fd5b611a3d816006546120f790919063ffffffff16565b6006819055505b611a95816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120f790919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25050565b611b316117a2565b1515611b3c57600080fd5b600c60009054906101000a900460ff161515611b5757600080fd5b6001601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600c60009054906101000a900460ff1681565b6000600c60019054906101000a900460ff161515611be257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c4b57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1515611c5657600080fd5b611ca7826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120f790919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d3a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211090919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60116020528060005260406000206000915054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611ee66117a2565b1515611ef157600080fd5b611efa8161229a565b50565b60008273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611f7f57600080fd5b505af1158015611f93573d6000803e3d6000fd5b505050506040513d6020811015611fa957600080fd5b8101908080519060200190929190505050846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561204057600080fd5b505af1158015612054573d6000803e3d6000fd5b505050506040513d602081101561206a57600080fd5b8101908080519060200190929190505050905092915050565b61208b6117a2565b151561209657600080fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60095481565b600082821115151561210557fe5b818303905092915050565b600080828401905083811015151561212457fe5b8091505092915050565b6000600c60009054906101000a900460ff16151561214b57600080fd5b600c60019054906101000a900460ff1615151561216757600080fd5b60065461217f8360075461211090919063ffffffff16565b1115151561218c57600080fd5b6121dd826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211090919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122348260075461211090919063ffffffff16565b6007819055506001905092915050565b60008060008414156122595760009150612278565b828402905082848281151561226a57fe5b0414151561227457fe5b8091505b5092915050565b600080828481151561228d57fe5b0490508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156122d657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820e29792ea360544104d0969a5d2fcd1d9efb3f1a43ae4e75e93d376d4b1962a7600290000000000000000000000008d78ee2f722bcb5dbac0577fe583c772df8749c8000000000000000000000000105ba7629815dbee2ef478c2be7ca9e05373d5f2000000000000000000000000421d282194bbffbcf199c8fd6dd39f6d577f1c970000000000000000000000008c630a065ce364b0a599e225a17edd1c188706de00000000000000000000000078c37da9884cdedae97d328c625af21c2b49b547

Deployed Bytecode

0x6080604052600436106101ac576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101b1578063095ea7b314610241578063150876f4146102a657806318160ddd146102fd57806323b872dd146103285780632d380242146103ad578063313ce567146103d857806337c75992146104035780633822abaa146104325780634509eb5d1461045d57806347ce9009146104945780635495699f146104bf578063685731071461051657806370a08231146105bf578063715018a6146106165780637d64bcb41461062d57806388d695b2146106445780638da5cb5b146107055780638f32d59b1461075c57806395d89b411461078b578063981267141461081b5780639db6537d146108465780639dc29fac1461089d578063a7fc7a07146108ea578063a85c4dcf1461092d578063a9059cbb1461095c578063b7f92b71146109c1578063da8c229e14610a18578063dd62ed3e14610a73578063eda2144d14610aea578063f2fde38b14610b41578063f5d7326114610b84578063f6a74ed714610be9578063fa724ee414610c2c575b600080fd5b3480156101bd57600080fd5b506101c6610c57565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102065780820151818401526020810190506101eb565b50505050905090810190601f1680156102335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024d57600080fd5b5061028c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cf5565b604051808215151515815260200191505060405180910390f35b3480156102b257600080fd5b506102bb610e7c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561030957600080fd5b50610312610ea2565b6040518082815260200191505060405180910390f35b34801561033457600080fd5b50610393600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ea8565b604051808215151515815260200191505060405180910390f35b3480156103b957600080fd5b506103c26111de565b6040518082815260200191505060405180910390f35b3480156103e457600080fd5b506103ed6111e4565b6040518082815260200191505060405180910390f35b34801561040f57600080fd5b506104186111ea565b604051808215151515815260200191505060405180910390f35b34801561043e57600080fd5b506104476111fd565b6040518082815260200191505060405180910390f35b34801561046957600080fd5b506104926004803603810190808035906020019092919080359060200190929190505050611203565b005b3480156104a057600080fd5b506104a961127a565b6040518082815260200191505060405180910390f35b3480156104cb57600080fd5b506104d4611280565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052257600080fd5b506105bd60048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506112a6565b005b3480156105cb57600080fd5b50610600600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061140e565b6040518082815260200191505060405180910390f35b34801561062257600080fd5b5061062b611456565b005b34801561063957600080fd5b50610642611512565b005b34801561065057600080fd5b506106eb60048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506116fc565b604051808215151515815260200191505060405180910390f35b34801561071157600080fd5b5061071a611778565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561076857600080fd5b506107716117a2565b604051808215151515815260200191505060405180910390f35b34801561079757600080fd5b506107a06117fa565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107e05780820151818401526020810190506107c5565b50505050905090810190601f16801561080d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561082757600080fd5b50610830611898565b6040518082815260200191505060405180910390f35b34801561085257600080fd5b5061085b61189e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108a957600080fd5b506108e8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118c4565b005b3480156108f657600080fd5b5061092b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b29565b005b34801561093957600080fd5b50610942611bb2565b604051808215151515815260200191505060405180910390f35b34801561096857600080fd5b506109a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611bc5565b604051808215151515815260200191505060405180910390f35b3480156109cd57600080fd5b506109d6611deb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a2457600080fd5b50610a59600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e11565b604051808215151515815260200191505060405180910390f35b348015610a7f57600080fd5b50610ad4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e31565b6040518082815260200191505060405180910390f35b348015610af657600080fd5b50610aff611eb8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b4d57600080fd5b50610b82600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ede565b005b348015610b9057600080fd5b50610bcf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611efd565b604051808215151515815260200191505060405180910390f35b348015610bf557600080fd5b50610c2a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612083565b005b348015610c3857600080fd5b50610c416120f1565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ced5780601f10610cc257610100808354040283529160200191610ced565b820191906000526020600020905b815481529060010190602001808311610cd057829003601f168201915b505050505081565b600080821480610d8157506000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1515610d8c57600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b6000600c60019054906101000a900460ff161515610ec557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610f2e57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1515610f3957600080fd5b610f8a826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120f790919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061105b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120f790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061112c826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211090919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60075481565b60055481565b600c60019054906101000a900460ff1681565b60085481565b61120b6117a2565b151561121657600080fd5b81600b8190555080600a819055506001600c60006101000a81548160ff0219169083151502179055507fd9124090290580997a8afe9ccbbbb9343f47fb65e61b15bab931f65de22f3a01426040518082815260200191505060405180910390a15050565b600b5481565b600c60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060011515601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561130757600080fd5b8151835114151561131757600080fd5b600090505b82518110156114095761135d838281518110151561133657fe5b90602001906020020151838381518110151561134e57fe5b9060200190602002015161212e565b151561136857600080fd5b828181518110151561137657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84848151811015156113dd57fe5b906020019060200201516040518082815260200191505060405180910390a3808060010191505061131c565b505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61145e6117a2565b151561146957600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600061151c6117a2565b151561152757600080fd5b611555600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b5461212e565b151561156057600080fd5b60075490506115b8600c60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff166115b360646115a56009548661224490919063ffffffff16565b61227f90919063ffffffff16565b61212e565b15156115c357600080fd5b611616600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661161160646116036008548661224490919063ffffffff16565b61227f90919063ffffffff16565b61212e565b151561162157600080fd5b61164f600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a5461212e565b151561165a57600080fd5b61169c601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166116976007546006546120f790919063ffffffff16565b61212e565b15156116a757600080fd5b6001600c60016101000a81548160ff0219169083151502179055507ff6af8e1d23f8a5997a11116c1e59bd11c947226b74890b8e0fde60d95a7c076a426040518082815260200191505060405180910390a150565b6000808251845114151561170f57600080fd5b600090505b835181101561176d57611755848281518110151561172e57fe5b90602001906020020151848381518110151561174657fe5b90602001906020020151611bc5565b151561176057600080fd5b8080600101915050611714565b600191505092915050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118905780601f1061186557610100808354040283529160200191611890565b820191906000526020600020905b81548152906001019060200180831161187357829003601f168201915b505050505081565b600a5481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a0d57600c60019054906101000a900460ff1615151561191557600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561197957600080fd5b505af115801561198d573d6000803e3d6000fd5b505050506040513d60208110156119a357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119ed57600080fd5b611a02816007546120f790919063ffffffff16565b600781905550611a44565b600c60019054906101000a900460ff161515611a2857600080fd5b611a3d816006546120f790919063ffffffff16565b6006819055505b611a95816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120f790919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25050565b611b316117a2565b1515611b3c57600080fd5b600c60009054906101000a900460ff161515611b5757600080fd5b6001601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600c60009054906101000a900460ff1681565b6000600c60019054906101000a900460ff161515611be257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c4b57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1515611c5657600080fd5b611ca7826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120f790919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d3a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211090919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60116020528060005260406000206000915054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611ee66117a2565b1515611ef157600080fd5b611efa8161229a565b50565b60008273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611f7f57600080fd5b505af1158015611f93573d6000803e3d6000fd5b505050506040513d6020811015611fa957600080fd5b8101908080519060200190929190505050846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561204057600080fd5b505af1158015612054573d6000803e3d6000fd5b505050506040513d602081101561206a57600080fd5b8101908080519060200190929190505050905092915050565b61208b6117a2565b151561209657600080fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60095481565b600082821115151561210557fe5b818303905092915050565b600080828401905083811015151561212457fe5b8091505092915050565b6000600c60009054906101000a900460ff16151561214b57600080fd5b600c60019054906101000a900460ff1615151561216757600080fd5b60065461217f8360075461211090919063ffffffff16565b1115151561218c57600080fd5b6121dd826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211090919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122348260075461211090919063ffffffff16565b6007819055506001905092915050565b60008060008414156122595760009150612278565b828402905082848281151561226a57fe5b0414151561227457fe5b8091505b5092915050565b600080828481151561228d57fe5b0490508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156122d657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820e29792ea360544104d0969a5d2fcd1d9efb3f1a43ae4e75e93d376d4b1962a760029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000008d78ee2f722bcb5dbac0577fe583c772df8749c8000000000000000000000000105ba7629815dbee2ef478c2be7ca9e05373d5f2000000000000000000000000421d282194bbffbcf199c8fd6dd39f6d577f1c970000000000000000000000008c630a065ce364b0a599e225a17edd1c188706de00000000000000000000000078c37da9884cdedae97d328c625af21c2b49b547

-----Decoded View---------------
Arg [0] : _forgetFund (address): 0x8D78eE2F722bCb5DBaC0577FE583c772df8749C8
Arg [1] : _teamFund (address): 0x105ba7629815DbEE2ef478C2Be7ca9e05373D5F2
Arg [2] : _advisorsFund (address): 0x421d282194BbfFBCf199C8FD6dd39F6d577f1C97
Arg [3] : _bonusFund (address): 0x8C630A065Ce364B0A599E225A17edD1c188706DE
Arg [4] : _reserveFund (address): 0x78C37da9884cdEDae97d328C625Af21c2B49B547

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000008d78ee2f722bcb5dbac0577fe583c772df8749c8
Arg [1] : 000000000000000000000000105ba7629815dbee2ef478c2be7ca9e05373d5f2
Arg [2] : 000000000000000000000000421d282194bbffbcf199c8fd6dd39f6d577f1c97
Arg [3] : 0000000000000000000000008c630a065ce364b0a599e225a17edd1c188706de
Arg [4] : 00000000000000000000000078c37da9884cdedae97d328c625af21c2b49b547


Swarm Source

bzzr://e29792ea360544104d0969a5d2fcd1d9efb3f1a43ae4e75e93d376d4b1962a76
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.