Contract Overview
Balance: 0 Ether
Transactions: 3 txns
Token Tracker: Easy Life Coin (ELC)
 Latest 3 txns

TxHash Age From To Value [TxFee]
0xdff77706da60095de322e07f4200bba73edd95cad6e0cecb98475556c7d570809 days 27 mins ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xa93b1199a45229b45ed8a761e4fa08c4ed5adbe10 Ether0.000030148
0x8aab590b1975476bcade4108a4f4ebd1dcb84df0ae63b24547214a56f18d8c4d9 days 36 mins ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xa93b1199a45229b45ed8a761e4fa08c4ed5adbe10 Ether0.000037214
0x7337b60c10d46d61541038cae25564044c338509da65171d70fb56c5eb9a9e249 days 37 mins ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN    Contract Creation0 Ether0.001988735
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 1 Internal Transaction

ParentTxHash Block Age From To Value
0xdff77706da60095de322e07f4200bba73edd95cad6e0cecb98475556c7d5708031488319 days 27 mins ago0xa93b1199a45229b45ed8a761e4fa08c4ed5adbe10xb36c38bfe4bd56c780eea5010abe93a669c570980.5 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact Match)
Contract Name: EasyLifeCoin
Compiler Text: v0.4.25+commit.59dbf8f1
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity 0.4.25;
// ----------------------------------------------------------------------------
// 'Easy Life Coin' contract with following features
//      => In-built ICO functionality
//      => ERC20 Compliance
//      => Higher control of ICO by owner
//      => selfdestruct functionality
//      => SafeMath implementation 
//      => Air-drop
//      => User whitelisting
//      => Minting new tokens by owner
//
// Deployed to : 0xb36c38Bfe4BD56C780EEa5010aBE93A669c57098
// Symbol      : ELC
// Name        : Easy Life Coin
// Total supply: 100,000,000,000,000  (100 Trillion)
// Reserved coins for ICO: 2,500,000,000 ELC (2.5 Billion)
// Decimals    : 2
//
// Copyright (c) 2018 Human Ecological Business Holding International Inc., USA (https://easylifecommunity.com)
// Contract designed by Ether Authority (https://EtherAuthority.io)
// ----------------------------------------------------------------------------
   

//*******************************************************************//
//------------------------ SafeMath Library -------------------------//
//*******************************************************************//
    /**
     * @title SafeMath
     * @dev Math operations with safety checks that throw on error
     */
    library SafeMath {
      function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
          return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
      }
    
      function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
      }
    
      function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
      }
    
      function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
      }
    }


//*******************************************************************//
//------------------ Contract to Manage Ownership -------------------//
//*******************************************************************//
    
    contract owned {
        address public owner;
    	using SafeMath for uint256;
    	
         constructor () public {
            owner = msg.sender;
        }
    
        modifier onlyOwner {
            require(msg.sender == owner);
            _;
        }
    
        function transferOwnership(address newOwner) onlyOwner public {
            owner = newOwner;
        }
    }
    
    interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) external; }


//***************************************************************//
//------------------ ERC20 Standard Template -------------------//
//***************************************************************//
    
    contract TokenERC20 {
        // Public variables of the token
        using SafeMath for uint256;
    	string public name;
        string public symbol;
        uint8 public decimals = 2; // 18 decimals is the strongly suggested default, avoid changing it
        uint256 public totalSupply;
        uint256 public reservedForICO;
        bool public safeguard = false;  //putting safeguard on will halt all non-owner functions
    
        // This creates an array with all balances
        mapping (address => uint256) public balanceOf;
        mapping (address => mapping (address => uint256)) public allowance;
    
        // This generates a public event on the blockchain that will notify clients
        event Transfer(address indexed from, address indexed to, uint256 value);
    
        // This notifies clients about the amount burnt
        event Burn(address indexed from, uint256 value);
    
        /**
         * Constrctor function
         *
         * Initializes contract with initial supply tokens to the creator of the contract
         */
        constructor (
            uint256 initialSupply,
            uint256 allocatedForICO,
            string tokenName,
            string tokenSymbol
        ) public {
            totalSupply = initialSupply.mul(100);       // Update total supply with the decimal amount
            reservedForICO = allocatedForICO.mul(100);  // Tokens reserved For ICO
            balanceOf[this] = reservedForICO;           // 2.5 Billion ELC will remain in the contract
            balanceOf[msg.sender]=totalSupply.sub(reservedForICO); // Rest of tokens will be sent to owner
            name = tokenName;                           // Set the name for display purposes
            symbol = tokenSymbol;                       // Set the symbol for display purposes
        }
    
        /**
         * Internal transfer, only can be called by this contract
         */
        function _transfer(address _from, address _to, uint _value) internal {
            require(!safeguard);
            // Prevent transfer to 0x0 address. Use burn() instead
            require(_to != 0x0);
            // Check if the sender has enough
            require(balanceOf[_from] >= _value);
            // Check for overflows
            require(balanceOf[_to].add(_value) > balanceOf[_to]);
            // Save this for an assertion in the future
            uint previousBalances = balanceOf[_from].add(balanceOf[_to]);
            // Subtract from the sender
            balanceOf[_from] = balanceOf[_from].sub(_value);
            // Add the same to the recipient
            balanceOf[_to] = balanceOf[_to].add(_value);
            emit Transfer(_from, _to, _value);
            // Asserts are used to use static analysis to find bugs in your code. They should never fail
            assert(balanceOf[_from].add(balanceOf[_to]) == previousBalances);
        }
    
        /**
         * Transfer tokens
         *
         * Send `_value` tokens to `_to` from your account
         *
         * @param _to The address of the recipient
         * @param _value the amount to send
         */
        function transfer(address _to, uint256 _value) public returns (bool success) {
            _transfer(msg.sender, _to, _value);
            return true;
        }
    
        /**
         * Transfer tokens from other address
         *
         * Send `_value` tokens to `_to` in behalf of `_from`
         *
         * @param _from The address of the sender
         * @param _to The address of the recipient
         * @param _value the amount to send
         */
        function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
            require(!safeguard);
            require(_value <= allowance[_from][msg.sender]);     // Check allowance
            allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_value);
            _transfer(_from, _to, _value);
            return true;
        }
    
        /**
         * Set allowance for other address
         *
         * Allows `_spender` to spend no more than `_value` tokens in your behalf
         *
         * @param _spender The address authorized to spend
         * @param _value the max amount they can spend
         */
        function approve(address _spender, uint256 _value) public
            returns (bool success) {
            require(!safeguard);
            allowance[msg.sender][_spender] = _value;
            return true;
        }
    
        /**
         * Set allowance for other address and notify
         *
         * Allows `_spender` to spend no more than `_value` tokens in your behalf, and then ping the contract about it
         *
         * @param _spender The address authorized to spend
         * @param _value the max amount they can spend
         * @param _extraData some extra information to send to the approved contract
         */
        function approveAndCall(address _spender, uint256 _value, bytes _extraData)
            public
            returns (bool success) {
            require(!safeguard);
            tokenRecipient spender = tokenRecipient(_spender);
            if (approve(_spender, _value)) {
                spender.receiveApproval(msg.sender, _value, this, _extraData);
                return true;
            }
        }
    
        /**
         * Destroy tokens
         *
         * Remove `_value` tokens from the system irreversibly
         *
         * @param _value the amount of money to burn
         */
        function burn(uint256 _value) public returns (bool success) {
            require(!safeguard);
            require(balanceOf[msg.sender] >= _value);   // Check if the sender has enough
            balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);            // Subtract from the sender
            totalSupply = totalSupply.sub(_value);                      // Updates totalSupply
           	emit Burn(msg.sender, _value);
            return true;
        }
    
        /**
         * Destroy tokens from other account
         *
         * Remove `_value` tokens from the system irreversibly on behalf of `_from`.
         *
         * @param _from the address of the sender
         * @param _value the amount of money to burn
         */
        function burnFrom(address _from, uint256 _value) public returns (bool success) {
            require(!safeguard);
            require(balanceOf[_from] >= _value);                // Check if the targeted balance is enough
            require(_value <= allowance[_from][msg.sender]);    // Check allowance
            balanceOf[_from] = balanceOf[_from].sub(_value);                         // Subtract from the targeted balance
            allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_value);             // Subtract from the sender's allowance
            totalSupply = totalSupply.sub(_value);                              // Update totalSupply
          	emit  Burn(_from, _value);
            return true;
        }
        
    }
    
//**********************************************************************//
//---------------------  EASY LIFE COIN STARTS HERE --------------------//
//**********************************************************************//
    
    contract EasyLifeCoin is owned, TokenERC20 {
    	using SafeMath for uint256;
    	
    	/*************************************/
        /*  User whitelisting functionality  */
        /*************************************/
        bool public whitelistingStatus = false;
        mapping (address => bool) public whitelisted;
        
        /**
         * Change whitelisting status on or off
         *
         * When whitelisting is true, then crowdsale will only accept investors who are whitelisted.
         */
        function changeWhitelistingStatus() onlyOwner public{
            if (whitelistingStatus == false){
			    whitelistingStatus = true;
            }
            else{
                whitelistingStatus = false;    
            }
		}
		
		/**
         * Whitelist any user address - only Owner can do this
         *
         * It will add user address in whitelisted mapping
         */
        function whitelistUser(address userAddress) onlyOwner public{
            require(whitelistingStatus == true);
            require(userAddress != 0x0);
            whitelisted[userAddress] = true;
		}
		
        
    	
    	/*************************************/
        /* Code for the ERC20 Easy Life Coin */
        /*************************************/
    
    	/* Public variables of the token */
    	string private tokenName = "Easy Life Coin";
        string private tokenSymbol = "ELC";
        uint256 private initialSupply = 100000000000000;    // 100 Trillion
        uint256 private allocatedForICO = 2500000000;       // 2.5 Billion
        
		
		/* Records for the fronzen accounts */
        mapping (address => bool) public frozenAccount;
        
        /* This generates a public event on the blockchain that will notify clients */
        event FrozenFunds(address target, bool frozen);
    
        /* Initializes contract with initial supply tokens to the creator of the contract */
        constructor () TokenERC20(initialSupply, allocatedForICO, tokenName, tokenSymbol) public {}

        /* Internal transfer, only can be called by this contract */
        function _transfer(address _from, address _to, uint _value) internal {
            require(!safeguard);
			require (_to != 0x0);                               // Prevent transfer to 0x0 address. Use burn() instead
			require (balanceOf[_from] >= _value);               // Check if the sender has enough
			require (balanceOf[_to].add(_value) >= balanceOf[_to]); // Check for overflows
			require(!frozenAccount[_from]);                     // Check if sender is frozen
			require(!frozenAccount[_to]);                       // Check if recipient is frozen
			balanceOf[_from] = balanceOf[_from].sub(_value);                         // Subtract from the sender
			balanceOf[_to] = balanceOf[_to].add(_value);                           // Add the same to the recipient
			emit Transfer(_from, _to, _value);
        }
        
		/// @notice Create `mintedAmount` tokens and send it to `target`
		/// @param target Address to receive the tokens
		/// @param mintedAmount the amount of tokens it will receive
		function mintToken(address target, uint256 mintedAmount) onlyOwner public {
			balanceOf[target] = balanceOf[target].add(mintedAmount);
			totalSupply = totalSupply.add(mintedAmount);
		 	emit Transfer(0, this, mintedAmount);
		 	emit Transfer(this, target, mintedAmount);
		}

		/// @notice `freeze? Prevent | Allow` `target` from sending & receiving tokens
		/// @param target Address to be frozen
		/// @param freeze either to freeze it or not
		function freezeAccount(address target, bool freeze) onlyOwner public {
				frozenAccount[target] = freeze;
			emit  FrozenFunds(target, freeze);
		}

		/******************************/
		/* Code for the ELC Crowdsale */
		/******************************/
		
		/* TECHNICAL SPECIFICATIONS:
		
		=> Pre-sale starts  :  November 01st, 2018
		=> ICO will starts  :  January 01st, 2019
		=> ICO Ends         :  December 31st, 2019
		=> Pre-sale Bonus   :  40%
		=> Coins reserved for ICO : 2.5 Billion
		=> Minimum Contribution: 0.5 ETH (Pre-sale and Main-sale)
		=> Token Exchange Rate: 1 ETH = 200 ELC (which equals to 1 Token = ~ $1 at time of deployment)
		
		*/

		//public variables for the Crowdsale
		uint256 public preSaleStartDate = 1541059200 ;  // November 1, 2018 8:00:00 AM - GMT
		uint256 public icoStartDate = 1546329600 ;      // January 1, 2019 8:00:00 AM - GMT
		uint256 public icoEndDate = 1577836740 ;        // December 31, 2019 11:59:00 PM - GMT
		uint256 public exchangeRate = 200;              // 1 ETH = 200 Tokens 
		uint256 public tokensSold = 0;                  // how many tokens sold through crowdsale
		uint256 public minimumContribution = 50;        // Minimum amount to invest - 0.5 ETH (in 2 decimal format)

		//@dev fallback function, only accepts ether if pre-sale or ICO is running or Reject
		function () payable public {
		    require(!safeguard);
		    require(!frozenAccount[msg.sender]);
		    if(whitelistingStatus == true) { require(whitelisted[msg.sender]); }
			require(preSaleStartDate < now);
			require(icoEndDate > now);
            require(msg.value.mul(100).div(1 ether)  >= minimumContribution);   //converting msg.value wei into 2 decimal format
			// calculate token amount to be sent
			uint256 token = msg.value.mul(100).div(1 ether).mul(exchangeRate);  //weiamount * exchangeRate
			uint256 finalTokens = token.add(calculatePurchaseBonus(token));     //add bonus if available
			tokensSold = tokensSold.add(finalTokens);
			_transfer(this, msg.sender, finalTokens);                           //makes the transfers
			forwardEherToOwner();                                               //send Ether to owner
		}

        
		//calculating purchase bonus
		function calculatePurchaseBonus(uint256 token) internal view returns(uint256){
		    if(preSaleStartDate < now && icoStartDate > now){
		        return token.mul(40).div(100);  //40% bonus if pre-sale is on
		    }
		    else{
		        return 0;
		    }
		}

		//Automatocally forwards ether from smart contract to owner address
		function forwardEherToOwner() internal {
			owner.transfer(msg.value); 
		}

		//Function to update an ICO.
		//It requires: timestamp of start and end date, exchange rate (1 ETH = ? Tokens)
		//Owner need to make sure the contract has enough tokens for ICO. 
		//If not enough, then he needs to transfer some tokens into contract addresss from his wallet
		//If there are no tokens in smart contract address, then ICO will not work.
		function updateCrowdsale(uint256 preSaleStart, uint256 icoStart,uint256 icoEnd, uint256 exchangeRateNew) onlyOwner public {
			require(preSaleStart < icoEnd);
			preSaleStartDate = preSaleStart;
			icoStartDate=icoStart;
			icoEndDate=icoEnd;
			exchangeRate = exchangeRateNew;
        }
        
        //Stops an ICO.
        //It will just set the ICO end date to zero and thus it will stop an ICO
		function stopICO() onlyOwner public{
            icoEndDate = 0;
        }
        
        //function to check wheter ICO is running or not. 
        //It will return current state of the crowdsale
        function icoStatus() public view returns(string){
            if(icoEndDate < now ){
                return "ICO is over";
            }else if(preSaleStartDate < now && icoStartDate > now ){
                return "Pre-sale is running";
            }else if(icoStartDate < now && icoEndDate > now){
                return "ICO is running";                
            }else if(preSaleStartDate > now){
                return "Pre-sale will start on November 1, 2018";
            }else{
                return "ICO is over";
            }
        }
        
        //Function to set ICO Exchange rate. 
    	function setICOExchangeRate(uint256 newExchangeRate) onlyOwner public {
			exchangeRate=newExchangeRate;
        }
        
        //Just in case, owner wants to transfer Tokens from contract to owner address
        function manualWithdrawToken(uint256 _amount) onlyOwner public {
      		uint256 tokenAmount = _amount.mul(100);
            _transfer(this, msg.sender, tokenAmount);
        }
          
        //Just in case, owner wants to transfer Ether from contract to owner address
        function manualWithdrawEther()onlyOwner public{
			uint256 amount=address(this).balance;
			owner.transfer(amount);
		}
		
		//selfdestruct function. just in case owner decided to destruct this contract.
		function destructContract()onlyOwner public{
			selfdestruct(owner);
		}
		
		/**
         * Change safeguard status on or off
         *
         * When safeguard is true, then all the non-owner functions will stop working.
         * When safeguard is false, then all the functions will resume working back again!
         */
        function changeSafeguardStatus() onlyOwner public{
            if (safeguard == false){
			    safeguard = true;
            }
            else{
                safeguard = false;    
            }
		}
		
		
		/********************************/
		/* Code for the Air drop of ELC */
		/********************************/
		
		/**
         * Run an Air-Drop
         *
         * It requires an array of all the addresses and amount of tokens to distribute
         * It will only process first 150 recipients. That limit is fixed to prevent gas limit
         */
        function airdrop(address[] recipients,uint tokenAmount) public onlyOwner {
            for(uint i = 0; i < 150; i++)
            {
                  //This will loop through all the recipients and send them the specified tokens
                  _transfer(this, recipients[i], tokenAmount.mul(100));
            }
        }
}

    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":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"icoEndDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exchangeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"userAddress","type":"address"}],"name":"whitelistUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"changeSafeguardStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"preSaleStartDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"manualWithdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"manualWithdrawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"}],"name":"mintToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"changeWhitelistingStatus","outputs":[],"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":"minimumContribution","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"destructContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"safeguard","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"whitelistingStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"recipients","type":"address[]"},{"name":"tokenAmount","type":"uint256"}],"name":"airdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"stopICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"icoStartDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelisted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoStatus","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"freeze","type":"bool"}],"name":"freezeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"preSaleStart","type":"uint256"},{"name":"icoStart","type":"uint256"},{"name":"icoEnd","type":"uint256"},{"name":"exchangeRateNew","type":"uint256"}],"name":"updateCrowdsale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newExchangeRate","type":"uint256"}],"name":"setICOExchangeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"reservedForICO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","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":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6003805460ff19908116600217909155600680548216905560098054909116905560c0604052600e60808190527f45617379204c69666520436f696e00000000000000000000000000000000000060a09081526200006191600b91906200032f565b506040805180820190915260038082527f454c4300000000000000000000000000000000000000000000000000000000006020909201918252620000a891600c916200032f565b50655af3107a4000600d55639502f900600e55635bdab280601055635c2b1e00601155635e0be0c460125560c860135560006014556032601555348015620000ef57600080fd5b50600d54600e54600b805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015620001805780601f10620001545761010080835404028352916020019162000180565b820191906000526020600020905b8154815290600101906020018083116200016257829003601f168201915b5050600c8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815295509193509150830182828015620002125780601f10620001e65761010080835404028352916020019162000212565b820191906000526020600020905b815481529060010190602001808311620001f457829003601f168201915b505060008054600160a060020a031916331790555062000246915085905060646401000000006200084d620002e282021704565b600455620002648360646401000000006200084d620002e282021704565b60058190553060009081526007602052604090208190556004546200029791640100000000620016236200031c82021704565b336000908152600760209081526040909120919091558251620002c191600191908501906200032f565b508051620002d79060029060208401906200032f565b5050505050620003d4565b600080831515620002f7576000915062000315565b508282028284828115156200030857fe5b04146200031157fe5b8091505b5092915050565b6000828211156200032957fe5b50900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200037257805160ff1916838001178555620003a2565b82800160010185558215620003a2579182015b82811115620003a257825182559160200191906001019062000385565b50620003b0929150620003b4565b5090565b620003d191905b80821115620003b05760008155600101620003bb565b90565b61166180620003e46000396000f3006080604052600436106101d75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610305578063095ea7b31461038f57806318160ddd146103c757806323b872dd146103ee5780632a62738b14610418578063313ce5671461042d5780633ba0b9a91461045857806342966c681461046d5780634a4c560d146104855780634bec8335146104a85780635055225f146104bd578063518ab2a8146104d25780635954c8c5146104e75780635d22a352146104fc57806370a082311461051457806379c650681461053557806379cc6790146105595780637ec69c501461057d5780638da5cb5b14610592578063937e09b1146105c35780639499e018146105d857806395d89b41146105ed578063a9059cbb14610602578063b414d4b614610626578063b57dbdc614610647578063bd694af21461065c578063c204642c14610671578063c8e569a8146106c8578063cae9ca51146106dd578063d73019e914610746578063d936547e1461075b578063d96e1f761461077c578063dd62ed3e14610791578063e724529c146107b8578063eccf93c0146107de578063f2fde38b146107ff578063f868061e14610820578063fa3eaa4114610838575b600654600090819060ff16156101ec57600080fd5b336000908152600f602052604090205460ff161561020957600080fd5b60095460ff1615156001141561023757336000908152600a602052604090205460ff16151561023757600080fd5b601054421161024557600080fd5b601254421061025357600080fd5b60155461027f670de0b6b3a764000061027334606463ffffffff61084d16565b9063ffffffff61088316565b101561028a57600080fd5b6013546102ba906102ae670de0b6b3a764000061027334606463ffffffff61084d16565b9063ffffffff61084d16565b91506102d56102c88361089a565b839063ffffffff6108d916565b6014549091506102eb908263ffffffff6108d916565b6014556102f93033836108e8565b610301610a6c565b5050005b34801561031157600080fd5b5061031a610aa9565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561035457818101518382015260200161033c565b50505050905090810190601f1680156103815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561039b57600080fd5b506103b3600160a060020a0360043516602435610b36565b604080519115158252519081900360200190f35b3480156103d357600080fd5b506103dc610b77565b60408051918252519081900360200190f35b3480156103fa57600080fd5b506103b3600160a060020a0360043581169060243516604435610b7d565b34801561042457600080fd5b506103dc610c2d565b34801561043957600080fd5b50610442610c33565b6040805160ff9092168252519081900360200190f35b34801561046457600080fd5b506103dc610c3c565b34801561047957600080fd5b506103b3600435610c42565b34801561049157600080fd5b506104a6600160a060020a0360043516610cf5565b005b3480156104b457600080fd5b506104a6610d59565b3480156104c957600080fd5b506103dc610d9b565b3480156104de57600080fd5b506103dc610da1565b3480156104f357600080fd5b506104a6610da7565b34801561050857600080fd5b506104a6600435610e00565b34801561052057600080fd5b506103dc600160a060020a0360043516610e36565b34801561054157600080fd5b506104a6600160a060020a0360043516602435610e48565b34801561056557600080fd5b506103b3600160a060020a0360043516602435610f33565b34801561058957600080fd5b506104a6611083565b34801561059e57600080fd5b506105a76110c4565b60408051600160a060020a039092168252519081900360200190f35b3480156105cf57600080fd5b506103dc6110d3565b3480156105e457600080fd5b506104a66110d9565b3480156105f957600080fd5b5061031a6110fe565b34801561060e57600080fd5b506103b3600160a060020a0360043516602435611156565b34801561063257600080fd5b506103b3600160a060020a036004351661116c565b34801561065357600080fd5b506103b3611181565b34801561066857600080fd5b506103b361118a565b34801561067d57600080fd5b50604080516020600480358082013583810280860185019096528085526104a69536959394602494938501929182918501908490808284375094975050933594506111939350505050565b3480156106d457600080fd5b506104a66111f7565b3480156106e957600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526103b3948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506112159650505050505050565b34801561075257600080fd5b506103dc611342565b34801561076757600080fd5b506103b3600160a060020a0360043516611348565b34801561078857600080fd5b5061031a61135d565b34801561079d57600080fd5b506103dc600160a060020a03600435811690602435166114ec565b3480156107c457600080fd5b506104a6600160a060020a03600435166024351515611509565b3480156107ea57600080fd5b506104a6600435602435604435606435611584565b34801561080b57600080fd5b506104a6600160a060020a03600435166115bb565b34801561082c57600080fd5b506104a6600435611601565b34801561084457600080fd5b506103dc61161d565b600080831515610860576000915061087c565b5082820282848281151561087057fe5b041461087857fe5b8091505b5092915050565b600080828481151561089157fe5b04949350505050565b6000426010541080156108ae575042601154115b156108d0576108c9606461027384602863ffffffff61084d16565b90506108d4565b5060005b919050565b60008282018381101561087857fe5b60065460ff16156108f857600080fd5b600160a060020a038216151561090d57600080fd5b600160a060020a03831660009081526007602052604090205481111561093257600080fd5b600160a060020a03821660009081526007602052604090205461095b818363ffffffff6108d916565b101561096657600080fd5b600160a060020a0383166000908152600f602052604090205460ff161561098c57600080fd5b600160a060020a0382166000908152600f602052604090205460ff16156109b257600080fd5b600160a060020a0383166000908152600760205260409020546109db908263ffffffff61162316565b600160a060020a038085166000908152600760205260408082209390935590841681522054610a10908263ffffffff6108d916565b600160a060020a0380841660008181526007602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008054604051600160a060020a03909116913480156108fc02929091818181858888f19350505050158015610aa6573d6000803e3d6000fd5b50565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610b2e5780601f10610b0357610100808354040283529160200191610b2e565b820191906000526020600020905b815481529060010190602001808311610b1157829003601f168201915b505050505081565b60065460009060ff1615610b4957600080fd5b50336000908152600860209081526040808320600160a060020a039590951683529390529190912055600190565b60045481565b60065460009060ff1615610b9057600080fd5b600160a060020a0384166000908152600860209081526040808320338452909152902054821115610bc057600080fd5b600160a060020a0384166000908152600860209081526040808320338452909152902054610bf4908363ffffffff61162316565b600160a060020a0385166000908152600860209081526040808320338452909152902055610c238484846108e8565b5060019392505050565b60125481565b60035460ff1681565b60135481565b60065460009060ff1615610c5557600080fd5b33600090815260076020526040902054821115610c7157600080fd5b33600090815260076020526040902054610c91908363ffffffff61162316565b33600090815260076020526040902055600454610cb4908363ffffffff61162316565b60045560408051838152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2506001919050565b600054600160a060020a03163314610d0c57600080fd5b60095460ff161515600114610d2057600080fd5b600160a060020a0381161515610d3557600080fd5b600160a060020a03166000908152600a60205260409020805460ff19166001179055565b600054600160a060020a03163314610d7057600080fd5b60065460ff161515610d8e576006805460ff19166001179055610d99565b6006805460ff191690555b565b60105481565b60145481565b60008054600160a060020a03163314610dbf57600080fd5b5060008054604051303192600160a060020a03909216916108fc841502918491818181858888f19350505050158015610dfc573d6000803e3d6000fd5b5050565b60008054600160a060020a03163314610e1857600080fd5b610e2982606463ffffffff61084d16565b9050610dfc3033836108e8565b60076020526000908152604090205481565b600054600160a060020a03163314610e5f57600080fd5b600160a060020a038216600090815260076020526040902054610e88908263ffffffff6108d916565b600160a060020a038316600090815260076020526040902055600454610eb4908263ffffffff6108d916565b60045560408051828152905130916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3604080518281529051600160a060020a0384169130917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60065460009060ff1615610f4657600080fd5b600160a060020a038316600090815260076020526040902054821115610f6b57600080fd5b600160a060020a0383166000908152600860209081526040808320338452909152902054821115610f9b57600080fd5b600160a060020a038316600090815260076020526040902054610fc4908363ffffffff61162316565b600160a060020a0384166000908152600760209081526040808320939093556008815282822033835290522054611001908363ffffffff61162316565b600160a060020a0384166000908152600860209081526040808320338452909152902055600454611038908363ffffffff61162316565b600455604080518381529051600160a060020a038516917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250600192915050565b600054600160a060020a0316331461109a57600080fd5b60095460ff1615156110b8576009805460ff19166001179055610d99565b6009805460ff19169055565b600054600160a060020a031681565b60155481565b600054600160a060020a031633146110f057600080fd5b600054600160a060020a0316ff5b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610b2e5780601f10610b0357610100808354040283529160200191610b2e565b60006111633384846108e8565b50600192915050565b600f6020526000908152604090205460ff1681565b60065460ff1681565b60095460ff1681565b60008054600160a060020a031633146111ab57600080fd5b5060005b60968110156111f2576111ea3084838151811015156111ca57fe5b602090810290910101516111e585606463ffffffff61084d16565b6108e8565b6001016111af565b505050565b600054600160a060020a0316331461120e57600080fd5b6000601255565b600654600090819060ff161561122a57600080fd5b50836112368185610b36565b1561133a576040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018790523060448401819052608060648501908152875160848601528751600160a060020a03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b838110156112ce5781810151838201526020016112b6565b50505050905090810190601f1680156112fb5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561131d57600080fd5b505af1158015611331573d6000803e3d6000fd5b50505050600191505b509392505050565b60115481565b600a6020526000908152604090205460ff1681565b60604260125410156113a3575060408051808201909152600b81527f49434f206973206f76657200000000000000000000000000000000000000000060208201526114e9565b426010541080156113b5575042601154115b156113f4575060408051808201909152601381527f5072652d73616c652069732072756e6e696e670000000000000000000000000060208201526114e9565b42601154108015611406575042601254115b15611445575060408051808201909152600e81527f49434f2069732072756e6e696e6700000000000000000000000000000000000060208201526114e9565b4260105411156114b357606060405190810160405280602781526020017f5072652d73616c652077696c6c207374617274206f6e204e6f76656d6265722081526020017f312c20323031380000000000000000000000000000000000000000000000000081525090506114e9565b5060408051808201909152600b81527f49434f206973206f76657200000000000000000000000000000000000000000060208201525b90565b600860209081526000928352604080842090915290825290205481565b600054600160a060020a0316331461152057600080fd5b600160a060020a0382166000818152600f6020908152604091829020805460ff191685151590811790915582519384529083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a15050565b600054600160a060020a0316331461159b57600080fd5b8184106115a757600080fd5b601093909355601191909155601255601355565b600054600160a060020a031633146115d257600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a0316331461161857600080fd5b601355565b60055481565b60008282111561162f57fe5b509003905600a165627a7a72305820fd2a3aa0dbc169e8c89edb5abd6093b5d1087cdac5e76c56589b27f569d9b4e10029

   Swarm Source:
bzzr://fd2a3aa0dbc169e8c89edb5abd6093b5d1087cdac5e76c56589b27f569d9b4e1

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward