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

TxHash Age From To Value [TxFee]
0xaa3a5dee2912e69ff91189c0ed11a3bc87b87dd88e6603a9dba40fc4fead8fe095 days 22 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.00003857
0xf30b61f15fa96df35eef752a0217e38d83f0f22d2228ead0505822f7fd45d91895 days 22 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.00005357
0x6bb46575d12a31a8d5645c092314dc7e4d3f597128989b57051a677e0c13b8f995 days 22 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.00003857
0x8c7fd16bdbe7f69e537dddd436e3de322a5d4970d7790e56dadc63c0ffeb455095 days 22 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.00003857
0x2e7fe97e258b10aad2cebdcd8cec0b48ad4e1b5fd27fc848b0eb5394afab6b9095 days 22 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.000013673
0xa938d95c7bdf0ff47f97d3ff28e7152aa44db42ecb4a2bda431a11bda90a48e495 days 22 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.00001365
0x8a8fadf216698bd9547b333effe54307daa4b50d1fbc989bfb2d0a3867b1c8db95 days 22 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.000027692
0x26f11602d8b5f501f59a1148543a5c214fc56cd018d8a9ca43615c111146bc1895 days 22 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.000042361
0xa1e77c71a576e401f9d23ed900370a830bc47e5d3ab62b1dd85f3cc1d9cd20ec95 days 22 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.000038385
0xfc7084413ee4ff9f4689247c6439204d54e89599a579b9658bf2fbff4e337b7195 days 22 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1781 Ether0.000052443
0x4a9d237a1112dc12e23911a1de02fc33e556e0e146e2db0894d121feef948c9295 days 22 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.000015784
0xbda0049d67f945c09a012e1258107940a3f25567789e62ff3ab4b2f290ae887b95 days 22 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.000045848
0x608757ecbce9105aa01ce753c2551385561faf360576efc3ecf4d29a2b3b742695 days 23 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.000030784
0x7abbcfddb075383f81a135d1d5b04675ba225b62bfdd07cc4d194f9630a5a84595 days 23 hrs ago0xef9ecd8a0a2e4b31d80b33e243761f4d93c990a8  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1781 Ether0.000067443
0xf87c41032e3187ebafe547293354d562fd70e7b39ab52ba7257b43a6bf24e0e595 days 23 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.000044062
0x4dbd1abcf67a3235b7ba315a10ba28631734c3e534f3692fd21d16a13ebbdc8d95 days 23 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1781 Ether0.000052443
0xbc219481dfa81debbdf24c72d3e743ab5ef391c0d5c622b69f974fb69037d50095 days 23 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.000058932
0xe8f89e9294296a9447a664665640b1fad6f550e27f02e8b520ca46c655daaef695 days 23 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.000044062
0x68f97bc981a9f1edd49b0a19589a61a3608cf60f345cc404502cc6ea2c2a2db195 days 23 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.000042537
0xe952c6479a5ccb4a5550a3ca45f4c2bce0fe11f4d694a4c54a46e94da1810dba95 days 23 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.00001365
0x70de4fbdedf08366f21f63d19609f2003dee4e473c3e57b9c015e828f57a0f6f95 days 23 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e17850 Ether0.0052147
0xa3f61863528a9ef76e899ccc17c6b17819026314c1dbbbb6425f13c0ffdcf94895 days 23 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780.5 Ether0.000067147
0xc6b168a2ece00c3cbe52c72971de7c224b413104513ce287b38db895af52df7a95 days 23 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN   0xea671ed44e72848cd5383481bdcb2a2f3289e1780 Ether0.000043932
0x39c8fd8deb5115066dc7483f74e3ac5985e49a75661ba59b7c08e49b762d299f95 days 23 hrs ago0xb36c38bfe4bd56c780eea5010abe93a669c57098  IN    Contract Creation0 Ether0.001990483
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 5 Internal Transactions

ParentTxHash Block Age From To Value
0xfc7084413ee4ff9f4689247c6439204d54e89599a579b9658bf2fbff4e337b71314873695 days 22 hrs ago0xea671ed44e72848cd5383481bdcb2a2f3289e1780xb36c38bfe4bd56c780eea5010abe93a669c570981 Ether
0x7abbcfddb075383f81a135d1d5b04675ba225b62bfdd07cc4d194f9630a5a845314867595 days 23 hrs ago0xea671ed44e72848cd5383481bdcb2a2f3289e1780xb36c38bfe4bd56c780eea5010abe93a669c570981 Ether
0x4dbd1abcf67a3235b7ba315a10ba28631734c3e534f3692fd21d16a13ebbdc8d314866095 days 23 hrs ago0xea671ed44e72848cd5383481bdcb2a2f3289e1780xb36c38bfe4bd56c780eea5010abe93a669c570981 Ether
0x70de4fbdedf08366f21f63d19609f2003dee4e473c3e57b9c015e828f57a0f6f314861995 days 23 hrs ago0xea671ed44e72848cd5383481bdcb2a2f3289e1780xb36c38bfe4bd56c780eea5010abe93a669c5709850 Ether
0xa3f61863528a9ef76e899ccc17c6b17819026314c1dbbbb6425f13c0ffdcf948314860695 days 23 hrs ago0xea671ed44e72848cd5383481bdcb2a2f3289e1780xb36c38bfe4bd56c780eea5010abe93a669c570980.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(1 ether);
            _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
6003805460ff19908116600217909155600680548216905560098054909116905560c0604052600e60808190527f45617379204c69666520436f696e00000000000000000000000000000000000060a09081526200006191600b91906200032f565b506040805180820190915260038082527f454c4300000000000000000000000000000000000000000000000000000000006020909201918252620000a891600c916200032f565b50655af3107a4000600d55639502f900600e55635bdab280601055635c2b1e00601155635e0be0c460125560c860135560006014556032601555348015620000ef57600080fd5b50600d54600e54600b805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015620001805780601f10620001545761010080835404028352916020019162000180565b820191906000526020600020905b8154815290600101906020018083116200016257829003601f168201915b5050600c8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815295509193509150830182828015620002125780601f10620001e65761010080835404028352916020019162000212565b820191906000526020600020905b815481529060010190602001808311620001f457829003601f168201915b505060008054600160a060020a031916331790555062000246915085905060646401000000006200084d620002e282021704565b600455620002648360646401000000006200084d620002e282021704565b600581905530600090815260076020526040902081905560045462000297916401000000006200162a6200031c82021704565b336000908152600760209081526040909120919091558251620002c191600191908501906200032f565b508051620002d79060029060208401906200032f565b5050505050620003d4565b600080831515620002f7576000915062000315565b508282028284828115156200030857fe5b04146200031157fe5b8091505b5092915050565b6000828211156200032957fe5b50900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200037257805160ff1916838001178555620003a2565b82800160010185558215620003a2579182015b82811115620003a257825182559160200191906001019062000385565b50620003b0929150620003b4565b5090565b620003d191905b80821115620003b05760008155600101620003bb565b90565b61166880620003e46000396000f3006080604052600436106101d75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610305578063095ea7b31461038f57806318160ddd146103c757806323b872dd146103ee5780632a62738b14610418578063313ce5671461042d5780633ba0b9a91461045857806342966c681461046d5780634a4c560d146104855780634bec8335146104a85780635055225f146104bd578063518ab2a8146104d25780635954c8c5146104e75780635d22a352146104fc57806370a082311461051457806379c650681461053557806379cc6790146105595780637ec69c501461057d5780638da5cb5b14610592578063937e09b1146105c35780639499e018146105d857806395d89b41146105ed578063a9059cbb14610602578063b414d4b614610626578063b57dbdc614610647578063bd694af21461065c578063c204642c14610671578063c8e569a8146106c8578063cae9ca51146106dd578063d73019e914610746578063d936547e1461075b578063d96e1f761461077c578063dd62ed3e14610791578063e724529c146107b8578063eccf93c0146107de578063f2fde38b146107ff578063f868061e14610820578063fa3eaa4114610838575b600654600090819060ff16156101ec57600080fd5b336000908152600f602052604090205460ff161561020957600080fd5b60095460ff1615156001141561023757336000908152600a602052604090205460ff16151561023757600080fd5b601054421161024557600080fd5b601254421061025357600080fd5b60155461027f670de0b6b3a764000061027334606463ffffffff61084d16565b9063ffffffff61088316565b101561028a57600080fd5b6013546102ba906102ae670de0b6b3a764000061027334606463ffffffff61084d16565b9063ffffffff61084d16565b91506102d56102c88361089a565b839063ffffffff6108d916565b6014549091506102eb908263ffffffff6108d916565b6014556102f93033836108e8565b610301610a6c565b5050005b34801561031157600080fd5b5061031a610aa9565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561035457818101518382015260200161033c565b50505050905090810190601f1680156103815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561039b57600080fd5b506103b3600160a060020a0360043516602435610b36565b604080519115158252519081900360200190f35b3480156103d357600080fd5b506103dc610b77565b60408051918252519081900360200190f35b3480156103fa57600080fd5b506103b3600160a060020a0360043581169060243516604435610b7d565b34801561042457600080fd5b506103dc610c2d565b34801561043957600080fd5b50610442610c33565b6040805160ff9092168252519081900360200190f35b34801561046457600080fd5b506103dc610c3c565b34801561047957600080fd5b506103b3600435610c42565b34801561049157600080fd5b506104a6600160a060020a0360043516610cf5565b005b3480156104b457600080fd5b506104a6610d59565b3480156104c957600080fd5b506103dc610d9b565b3480156104de57600080fd5b506103dc610da1565b3480156104f357600080fd5b506104a6610da7565b34801561050857600080fd5b506104a6600435610e00565b34801561052057600080fd5b506103dc600160a060020a0360043516610e3d565b34801561054157600080fd5b506104a6600160a060020a0360043516602435610e4f565b34801561056557600080fd5b506103b3600160a060020a0360043516602435610f3a565b34801561058957600080fd5b506104a661108a565b34801561059e57600080fd5b506105a76110cb565b60408051600160a060020a039092168252519081900360200190f35b3480156105cf57600080fd5b506103dc6110da565b3480156105e457600080fd5b506104a66110e0565b3480156105f957600080fd5b5061031a611105565b34801561060e57600080fd5b506103b3600160a060020a036004351660243561115d565b34801561063257600080fd5b506103b3600160a060020a0360043516611173565b34801561065357600080fd5b506103b3611188565b34801561066857600080fd5b506103b3611191565b34801561067d57600080fd5b50604080516020600480358082013583810280860185019096528085526104a695369593946024949385019291829185019084908082843750949750509335945061119a9350505050565b3480156106d457600080fd5b506104a66111fe565b3480156106e957600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526103b3948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061121c9650505050505050565b34801561075257600080fd5b506103dc611349565b34801561076757600080fd5b506103b3600160a060020a036004351661134f565b34801561078857600080fd5b5061031a611364565b34801561079d57600080fd5b506103dc600160a060020a03600435811690602435166114f3565b3480156107c457600080fd5b506104a6600160a060020a03600435166024351515611510565b3480156107ea57600080fd5b506104a660043560243560443560643561158b565b34801561080b57600080fd5b506104a6600160a060020a03600435166115c2565b34801561082c57600080fd5b506104a6600435611608565b34801561084457600080fd5b506103dc611624565b600080831515610860576000915061087c565b5082820282848281151561087057fe5b041461087857fe5b8091505b5092915050565b600080828481151561089157fe5b04949350505050565b6000426010541080156108ae575042601154115b156108d0576108c9606461027384602863ffffffff61084d16565b90506108d4565b5060005b919050565b60008282018381101561087857fe5b60065460ff16156108f857600080fd5b600160a060020a038216151561090d57600080fd5b600160a060020a03831660009081526007602052604090205481111561093257600080fd5b600160a060020a03821660009081526007602052604090205461095b818363ffffffff6108d916565b101561096657600080fd5b600160a060020a0383166000908152600f602052604090205460ff161561098c57600080fd5b600160a060020a0382166000908152600f602052604090205460ff16156109b257600080fd5b600160a060020a0383166000908152600760205260409020546109db908263ffffffff61162a16565b600160a060020a038085166000908152600760205260408082209390935590841681522054610a10908263ffffffff6108d916565b600160a060020a0380841660008181526007602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008054604051600160a060020a03909116913480156108fc02929091818181858888f19350505050158015610aa6573d6000803e3d6000fd5b50565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610b2e5780601f10610b0357610100808354040283529160200191610b2e565b820191906000526020600020905b815481529060010190602001808311610b1157829003601f168201915b505050505081565b60065460009060ff1615610b4957600080fd5b50336000908152600860209081526040808320600160a060020a039590951683529390529190912055600190565b60045481565b60065460009060ff1615610b9057600080fd5b600160a060020a0384166000908152600860209081526040808320338452909152902054821115610bc057600080fd5b600160a060020a0384166000908152600860209081526040808320338452909152902054610bf4908363ffffffff61162a16565b600160a060020a0385166000908152600860209081526040808320338452909152902055610c238484846108e8565b5060019392505050565b60125481565b60035460ff1681565b60135481565b60065460009060ff1615610c5557600080fd5b33600090815260076020526040902054821115610c7157600080fd5b33600090815260076020526040902054610c91908363ffffffff61162a16565b33600090815260076020526040902055600454610cb4908363ffffffff61162a16565b60045560408051838152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2506001919050565b600054600160a060020a03163314610d0c57600080fd5b60095460ff161515600114610d2057600080fd5b600160a060020a0381161515610d3557600080fd5b600160a060020a03166000908152600a60205260409020805460ff19166001179055565b600054600160a060020a03163314610d7057600080fd5b60065460ff161515610d8e576006805460ff19166001179055610d99565b6006805460ff191690555b565b60105481565b60145481565b60008054600160a060020a03163314610dbf57600080fd5b5060008054604051303192600160a060020a03909216916108fc841502918491818181858888f19350505050158015610dfc573d6000803e3d6000fd5b5050565b60008054600160a060020a03163314610e1857600080fd5b610e3082670de0b6b3a764000063ffffffff61084d16565b9050610dfc3033836108e8565b60076020526000908152604090205481565b600054600160a060020a03163314610e6657600080fd5b600160a060020a038216600090815260076020526040902054610e8f908263ffffffff6108d916565b600160a060020a038316600090815260076020526040902055600454610ebb908263ffffffff6108d916565b60045560408051828152905130916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3604080518281529051600160a060020a0384169130917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60065460009060ff1615610f4d57600080fd5b600160a060020a038316600090815260076020526040902054821115610f7257600080fd5b600160a060020a0383166000908152600860209081526040808320338452909152902054821115610fa257600080fd5b600160a060020a038316600090815260076020526040902054610fcb908363ffffffff61162a16565b600160a060020a0384166000908152600760209081526040808320939093556008815282822033835290522054611008908363ffffffff61162a16565b600160a060020a038416600090815260086020908152604080832033845290915290205560045461103f908363ffffffff61162a16565b600455604080518381529051600160a060020a038516917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250600192915050565b600054600160a060020a031633146110a157600080fd5b60095460ff1615156110bf576009805460ff19166001179055610d99565b6009805460ff19169055565b600054600160a060020a031681565b60155481565b600054600160a060020a031633146110f757600080fd5b600054600160a060020a0316ff5b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610b2e5780601f10610b0357610100808354040283529160200191610b2e565b600061116a3384846108e8565b50600192915050565b600f6020526000908152604090205460ff1681565b60065460ff1681565b60095460ff1681565b60008054600160a060020a031633146111b257600080fd5b5060005b60968110156111f9576111f13084838151811015156111d157fe5b602090810290910101516111ec85606463ffffffff61084d16565b6108e8565b6001016111b6565b505050565b600054600160a060020a0316331461121557600080fd5b6000601255565b600654600090819060ff161561123157600080fd5b508361123d8185610b36565b15611341576040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018790523060448401819052608060648501908152875160848601528751600160a060020a03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b838110156112d55781810151838201526020016112bd565b50505050905090810190601f1680156113025780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561132457600080fd5b505af1158015611338573d6000803e3d6000fd5b50505050600191505b509392505050565b60115481565b600a6020526000908152604090205460ff1681565b60604260125410156113aa575060408051808201909152600b81527f49434f206973206f76657200000000000000000000000000000000000000000060208201526114f0565b426010541080156113bc575042601154115b156113fb575060408051808201909152601381527f5072652d73616c652069732072756e6e696e670000000000000000000000000060208201526114f0565b4260115410801561140d575042601254115b1561144c575060408051808201909152600e81527f49434f2069732072756e6e696e6700000000000000000000000000000000000060208201526114f0565b4260105411156114ba57606060405190810160405280602781526020017f5072652d73616c652077696c6c207374617274206f6e204e6f76656d6265722081526020017f312c20323031380000000000000000000000000000000000000000000000000081525090506114f0565b5060408051808201909152600b81527f49434f206973206f76657200000000000000000000000000000000000000000060208201525b90565b600860209081526000928352604080842090915290825290205481565b600054600160a060020a0316331461152757600080fd5b600160a060020a0382166000818152600f6020908152604091829020805460ff191685151590811790915582519384529083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a15050565b600054600160a060020a031633146115a257600080fd5b8184106115ae57600080fd5b601093909355601191909155601255601355565b600054600160a060020a031633146115d957600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a0316331461161f57600080fd5b601355565b60055481565b60008282111561163657fe5b509003905600a165627a7a72305820997b741c8fe031b722a08402ea575cea4203a52f673319cdd27b03eb4a5ec6a30029

   Swarm Source:
bzzr://997b741c8fe031b722a08402ea575cea4203a52f673319cdd27b03eb4a5ec6a3

 

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