Contract Overview
Balance: 10.734 Ether
Ether Value: $2,160.54 (@ $201.28/ETH)
Transactions: 19 txns
 Latest 19 txns

TxHash Age From To Value [TxFee]
0xbbc2ae4c9a78b46d7170fded1109a68610df9f3470936e6a495559e59ed4d8682 days 6 hrs ago0x438e417b134bb053faeed119b96ff8a930c5f2d1  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57691 Ether0.0003053985
0x6cd0f90bc1f6aa72472fc1346d2efa0ce08618b0bb823999ea7fb110bd13d3f52 days 6 hrs ago0x91145a740cab952f952dd8a53a882e149cf1a1aa  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57691.4 Ether0.0003053985
0x8efb7f70a18733a443e0b5631ba8bbb44ce857045257b6737b90559141d0b53d2 days 6 hrs ago0x01a334016d5dfd82599421ca66ce110f94a059b1  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57690.7 Ether0.0003053985
0x90d5b3916db6278ab2bd571d560dab56580ab4795445a6f943285bd545386ad72 days 7 hrs ago0x8568dd62b455b1d9e5eb3e30ca3fc9005d0d4ccb  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57691.6 Ether0.0003053985
0xffceb9f81186752775b6897debb7bd96c605cee81590ba659731e6df32d79e332 days 7 hrs ago0x753ca83cec200b47672d38d7b740b9b7f1b5cb73  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57691.7 Ether0.0003053985
0x818ac08057beb4e67bdd88de8b5c7e423871652a923673f707edeba7b649d63b2 days 7 hrs ago0x608cb0d548054c77ad605b06db4e20bf5c52877c  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57690.2 Ether0.0003053985
0xf573077b07224fad08fb43bfeea4eca197ce2a6a2dde8a3f1b0a87a29fac616a2 days 7 hrs ago0x5e34ff528b109d77054642ea3cf01cc1cabb17a0  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57690.1 Ether0.0003053985
0xcdff03f2872fde7337a4402dd0885736211c74215cfc0a21eacc1ee44c5a82702 days 8 hrs ago0x32e1b59568f4514a12e99b08465c8dfe59ba312a  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57690.4 Ether0.0003053985
0x0058723d2cee62e90ed01e1e8dc3847d2d0a37bef5eccc54a9fa2f8470709ad62 days 8 hrs ago0x14fb315b3a5e89ae5387c322bdec0c7432272df9  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57690.7 Ether0.0003053985
0x759eccb3387eabae19269706681303fe88c04754cddfe52166d3ab4e55cfe55f2 days 21 hrs ago0xc5d96851d0572812813cb163a62e0ffae1b3cf13  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57690.35 Ether0.003794345
0xa7f69106ba97ad449d90040bcc3fd6b137b63f32170a5754b1bb19713768bbf83 days 6 hrs ago0xc570b482064380e478563a00c8133ce1734c06af  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57690.15 Ether0.000319465
0x5f6b0754a6735679fd00c5948a712b1a7aa0dd19794dac6c59400a025956dade3 days 13 hrs ago0x52ddb84994ef94d9371cfdbc1b4363ed710702c6  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57690.1 Ether0.000462725
0x5515ba15c8bc65b6fc96f1bd92e2598cddd4ca1b9bff16dea1f82614ee64e8d13 days 14 hrs ago0xe8205b4c5ab1f9040f36343c6b1319e8b10cdc50  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57690.1 Ether0.000462725
0xf88cd6cd94244e84c8890e0b1eb76af3db196d18b7b691493fcb4bab861f881c4 days 3 hrs ago0xb56379a4f4bf15369c7c03da798428e00a618ec7  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57690.9 Ether0.0003053985
0x0d84c687db7390cef820ec3489a27a0b1bae0055f70500897b7696754ad5e2cd4 days 6 hrs ago0x971a7535a9c6593f16b4eba4c3cbe993c3fdb064  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57690.9 Ether0.000462725
0x6c4ca86d32dcfb0474351cd812b18151820091f970b32fc77493ebbcfc1417eb4 days 7 hrs ago0x97189815e12a402ab7a683d4d135d64266dc6e60  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57690.1 Ether0.000462725
0x0f07e06dea632e1c7e37f066f86c317c0b0d681130ed80dd0ea47d533ae4ca5c6 days 9 hrs ago0xc570b482064380e478563a00c8133ce1734c06af  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57690.5 Ether0.000462725
0xd206e2422fb22781fc610968db01fe69b9f49f66875df1919a58c79e4fae9e986 days 10 hrs ago0x1b835a24e930cc59ac1d837e5634ef4392d06126  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57690.95 Ether0.000462725
0x9120ba2066ede14d712afe3d602ed958778b45318bf6d97093839d499169a8786 days 15 hrs ago0x538d188fdc4ac8aae23aaaa459f836576d36c650  IN   0x4fee1274a9a5f8c58daf18f8545e4568c2db57691 Ether0.000462725
0x4afc24cabebec2de0ff859728792b4f0dd07184c85eba326528a010d0610d1646 days 21 hrs ago0xcf9e764539ae0ee0fa316aad30a870447c349b46  IN    Contract Creation0 Ether0.005616245
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 20 Internal Transactions

ParentTxHash Block Age From To Value
0xbbc2ae4c9a78b46d7170fded1109a68610df9f3470936e6a495559e59ed4d86865266502 days 6 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.16 Ether
0x6cd0f90bc1f6aa72472fc1346d2efa0ce08618b0bb823999ea7fb110bd13d3f565266342 days 6 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.224 Ether
0x8efb7f70a18733a443e0b5631ba8bbb44ce857045257b6737b90559141d0b53d65265212 days 6 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.112 Ether
0x90d5b3916db6278ab2bd571d560dab56580ab4795445a6f943285bd545386ad765264232 days 7 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.256 Ether
0xffceb9f81186752775b6897debb7bd96c605cee81590ba659731e6df32d79e3365263932 days 7 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.272 Ether
0x818ac08057beb4e67bdd88de8b5c7e423871652a923673f707edeba7b649d63b65263652 days 7 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.032 Ether
0xf573077b07224fad08fb43bfeea4eca197ce2a6a2dde8a3f1b0a87a29fac616a65262342 days 7 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.016 Ether
0xcdff03f2872fde7337a4402dd0885736211c74215cfc0a21eacc1ee44c5a827065261792 days 8 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.064 Ether
0x0058723d2cee62e90ed01e1e8dc3847d2d0a37bef5eccc54a9fa2f8470709ad665260272 days 8 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.112 Ether
0x759eccb3387eabae19269706681303fe88c04754cddfe52166d3ab4e55cfe55f65227232 days 21 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.056 Ether
0xa7f69106ba97ad449d90040bcc3fd6b137b63f32170a5754b1bb19713768bbf865205623 days 6 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xc570b482064380e478563a00c8133ce1734c06af0.06 Ether
0xa7f69106ba97ad449d90040bcc3fd6b137b63f32170a5754b1bb19713768bbf865205623 days 6 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.024 Ether
0x5f6b0754a6735679fd00c5948a712b1a7aa0dd19794dac6c59400a025956dade65187513 days 13 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.016 Ether
0x5515ba15c8bc65b6fc96f1bd92e2598cddd4ca1b9bff16dea1f82614ee64e8d165185533 days 14 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.016 Ether
0xf88cd6cd94244e84c8890e0b1eb76af3db196d18b7b691493fcb4bab861f881c65151924 days 3 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.144 Ether
0x0d84c687db7390cef820ec3489a27a0b1bae0055f70500897b7696754ad5e2cd65142474 days 6 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.144 Ether
0x6c4ca86d32dcfb0474351cd812b18151820091f970b32fc77493ebbcfc1417eb65141764 days 7 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.016 Ether
0x0f07e06dea632e1c7e37f066f86c317c0b0d681130ed80dd0ea47d533ae4ca5c65012396 days 9 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.08 Ether
0xd206e2422fb22781fc610968db01fe69b9f49f66875df1919a58c79e4fae9e9865011036 days 10 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.152 Ether
0x9120ba2066ede14d712afe3d602ed958778b45318bf6d97093839d499169a87864998336 days 15 hrs ago0x4fee1274a9a5f8c58daf18f8545e4568c2db57690xcf9e764539ae0ee0fa316aad30a870447c349b460.16 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact Match)
Contract Name: EtherLife
Compiler Text: v0.4.25+commit.59dbf8f1
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.24;

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

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  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;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  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;
  }

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

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

/**
 * @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 public owner;


  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;
  }

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

  /**
   * @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 {
    require(newOwner != address(0));
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

contract EtherLife is Ownable
{   
    using SafeMath for uint;
    
    struct deposit {
        uint time;
        uint value;
        uint timeOfLastWithdraw;
    }
    
    mapping(address => deposit) public deposits;
    mapping(address => address) public parents;
    address[] public investors;
    
    uint public constant withdrawPeriod = 1 days;
    
    uint public constant minDepositSum = 100 finney; // 0.1 ether;
    
    event Deposit(address indexed from, uint256 value);
    event Withdraw(address indexed from, uint256 value);
    event ReferrerBonus(address indexed from, address indexed to, uint8 level, uint256 value);
    
    
    modifier checkSender() 
    {
        require(msg.sender != address(0));
        _;
    }

    
    function bytesToAddress(bytes source) internal pure returns(address parsedAddress) 
    {
        assembly {
            parsedAddress := mload(add(source,0x14))
        }
        return parsedAddress;
    }

    function () checkSender public payable 
    {
        if(msg.value == 0)
        {
            withdraw();
            return;
        }
        
        require(msg.value >= minDepositSum);
        
        checkReferrer(msg.sender);
        
        payFee(msg.value);
        addDeposit(msg.sender, msg.value);
        
        emit Deposit(msg.sender, msg.value);
        
        payRewards(msg.sender, msg.value);
    }
    
    function getInvestorsLength() public view returns (uint)
    {
        return investors.length;
    }
    
    function getParents(address investorAddress) public view returns (address[])
    {
        address[] memory refLevels = new address[](5);
        address current = investorAddress;
        
        for(uint8 i = 0; i < 5; i++)
        {
             current = parents[current];
             if(current == address(0)) break;
             refLevels[i] = current;
        }
        
        return refLevels;
    }
    
    function calculateRewardForLevel(uint8 level, uint value) public pure returns (uint)
    {
        if(level == 1) return value.div(50);           // 2%
        if(level == 2) return value.div(100);          // 1%
        if(level == 3) return value.div(200);          // 0.5%
        if(level == 4) return value.div(400);          // 0.25%
        if(level == 5) return value.div(400);          // 0.25%
        
        return 0;
    }
    
    function calculatWithdrawForPeriod(uint8 period, uint depositValue, uint periodsCount) public pure returns (uint)
    {
        if(period == 1)
        {
            return depositValue.div(25).mul(periodsCount);          // 4%
        }
        else if(period == 2)
        {
            return depositValue.mul(3).div(100).mul(periodsCount);  // 3%
        }
        else if(period == 3)
        {
            return depositValue.div(50).mul(periodsCount);          // 2%
        }
        else if(period == 4)
        {
            return depositValue.div(100).mul(periodsCount);         // 1%
        }
        else if(period == 5)
        {
            return depositValue.div(200).mul(periodsCount);         // 0.5%
        }
        
        return 0;
    }
    
    function calculateWithdraw(uint currentTime, uint depositTime, uint depositValue, uint timeOfLastWithdraw) public pure returns (uint)
    {
        if(currentTime - timeOfLastWithdraw < withdrawPeriod)
        {
            return 0;
        }
        
        uint timeEndOfPeriod1 = depositTime + 30 days;
        uint timeEndOfPeriod2 = depositTime + 60 days;
        uint timeEndOfPeriod3 = depositTime + 90 days;
        uint timeEndOfPeriod4 = depositTime + 120 days;
        

        uint sum = 0;
        uint timeEnd = 0;
        uint periodsCount = 0;
            
        if(timeOfLastWithdraw < timeEndOfPeriod1)
        {
            timeEnd = currentTime > timeEndOfPeriod1 ? timeEndOfPeriod1 : currentTime;
            (periodsCount, timeOfLastWithdraw) = calculatePeriodsCountAndNewTime(timeOfLastWithdraw, timeEnd);
            sum = calculatWithdrawForPeriod(1, depositValue, periodsCount);
        }
        
        if(timeOfLastWithdraw < timeEndOfPeriod2)
        {
            timeEnd = currentTime > timeEndOfPeriod2 ? timeEndOfPeriod2 : currentTime;
            (periodsCount, timeOfLastWithdraw) = calculatePeriodsCountAndNewTime(timeOfLastWithdraw, timeEnd);
            sum = sum.add(calculatWithdrawForPeriod(2, depositValue, periodsCount));
        }
        
        if(timeOfLastWithdraw < timeEndOfPeriod3)
        {
            timeEnd = currentTime > timeEndOfPeriod3 ? timeEndOfPeriod3 : currentTime;
            (periodsCount, timeOfLastWithdraw) = calculatePeriodsCountAndNewTime(timeOfLastWithdraw, timeEnd);
            sum = sum.add(calculatWithdrawForPeriod(3, depositValue, periodsCount));
        }
        
        if(timeOfLastWithdraw < timeEndOfPeriod4)
        {
            timeEnd = currentTime > timeEndOfPeriod4 ? timeEndOfPeriod4 : currentTime;
            (periodsCount, timeOfLastWithdraw) = calculatePeriodsCountAndNewTime(timeOfLastWithdraw, timeEnd);
            sum = sum.add(calculatWithdrawForPeriod(4, depositValue, periodsCount));
        }
        
        if(timeOfLastWithdraw >= timeEndOfPeriod4)
        {
            timeEnd = currentTime;
            (periodsCount, timeOfLastWithdraw) = calculatePeriodsCountAndNewTime(timeOfLastWithdraw, timeEnd);
            sum = sum.add(calculatWithdrawForPeriod(5, depositValue, periodsCount));
        }
         
        return sum;
    }
    
    function checkReferrer(address investorAddress) internal
    {
        if(deposits[investorAddress].value == 0 && msg.data.length == 20)
        {
            address referrerAddress = bytesToAddress(bytes(msg.data));
            require(referrerAddress != investorAddress);     
            require(deposits[referrerAddress].value > 0);        
            
            parents[investorAddress] = referrerAddress;
            investors.push(investorAddress);
        }
    }
    
    function payRewards(address investorAddress, uint depositValue) internal
    {   
        address[] memory parentAddresses = getParents(investorAddress);
        for(uint8 i = 0; i < parentAddresses.length; i++)
        {
            address parent = parentAddresses[i];
            if(parent == address(0)) break;
            
            uint rewardValue = calculateRewardForLevel(i + 1, depositValue);
            parent.transfer(rewardValue);
            
            emit ReferrerBonus(investorAddress, parent, i + 1, rewardValue);
        }
    }
    
    function addDeposit(address investorAddress, uint weiAmount) internal
    {   
        if(deposits[investorAddress].value == 0)
        {
            deposits[investorAddress].time = now;
            deposits[investorAddress].timeOfLastWithdraw = now;
            deposits[investorAddress].value = weiAmount;
        }
        else
        {
            if(now - deposits[investorAddress].timeOfLastWithdraw >= withdrawPeriod)
            {
                payWithdraw(investorAddress);
            }
            
            deposits[investorAddress].value = deposits[investorAddress].value.add(weiAmount);
            deposits[investorAddress].timeOfLastWithdraw = now;
        }
    }
    
    function payFee(uint weiAmount) internal
    {
        uint fee = weiAmount.mul(16).div(100); // 16%
        owner.transfer(fee);
    }
    
    function calculateNewTime(uint startTime, uint endTime) public pure returns (uint) 
    {
        uint periodsCount = endTime.sub(startTime).div(withdrawPeriod);
        return startTime.add(withdrawPeriod.mul(periodsCount));
    }
    
    function calculatePeriodsCountAndNewTime(uint startTime, uint endTime) public pure returns (uint, uint) 
    {
        uint periodsCount = endTime.sub(startTime).div(withdrawPeriod);
        uint newTime = startTime.add(withdrawPeriod.mul(periodsCount));
        return (periodsCount, newTime);
    }
    
    function payWithdraw(address to) internal
    {
        require(deposits[to].value > 0);
        
        uint sum = calculateWithdraw(now, deposits[to].time, deposits[to].value, deposits[to].timeOfLastWithdraw);
        require(sum > 0);
        
        deposits[to].timeOfLastWithdraw = calculateNewTime(deposits[to].time, now);
        
        to.transfer(sum);
        emit Withdraw(to, sum);
    }
    
    
    function withdraw() checkSender public returns (bool)
    {
        payWithdraw(msg.sender);
        return true;
    }
    
    
    function batchWithdraw(address[] to) onlyOwner public 
    {
        for(uint i = 0; i < to.length; i++)
        {
            payWithdraw(to[i]);
        }
    }
    
    function batchWithdraw(uint startIndex, uint length) onlyOwner public 
    {
        for(uint i = startIndex; i < length; i++)
        {
            payWithdraw(investors[i]);
        }
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"withdrawPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"parents","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"startIndex","type":"uint256"},{"name":"length","type":"uint256"}],"name":"batchWithdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"investors","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address[]"}],"name":"batchWithdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minDepositSum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"}],"name":"calculatePeriodsCountAndNewTime","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"}],"name":"calculateNewTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"currentTime","type":"uint256"},{"name":"depositTime","type":"uint256"},{"name":"depositValue","type":"uint256"},{"name":"timeOfLastWithdraw","type":"uint256"}],"name":"calculateWithdraw","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"investorAddress","type":"address"}],"name":"getParents","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getInvestorsLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"level","type":"uint8"},{"name":"value","type":"uint256"}],"name":"calculateRewardForLevel","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"period","type":"uint8"},{"name":"depositValue","type":"uint256"},{"name":"periodsCount","type":"uint256"}],"name":"calculatWithdrawForPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"deposits","outputs":[{"name":"time","type":"uint256"},{"name":"value","type":"uint256"},{"name":"timeOfLastWithdraw","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Withdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"level","type":"uint8"},{"indexed":false,"name":"value","type":"uint256"}],"name":"ReferrerBonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

  Contract Creation Code Switch To Opcodes View
608060405260008054600160a060020a03191633179055610f64806100256000396000f3006080604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166312eb4f9a811461018457806318b13fb2146101ab57806330d02d83146101e85780633ccfd60b146102035780633feb5f2b1461022c578063431cc3dd1461024457806382f3dbe2146102995780638da5cb5b146102ae578063a087ae89146102c3578063a6567a9a146102f7578063a8ce6b7314610312578063a9fae42214610333578063e3cc65e2146103a4578063ebb9ba80146103b9578063f2fde38b146103d7578063fc5e2cce146103f8578063fc7e286d14610419575b3315156100fc57600080fd5b3415156101115761010b610458565b50610182565b67016345785d8a000034101561012657600080fd5b61012f33610475565b61013834610593565b61014233346105f7565b60408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a261018233346106d4565b005b34801561019057600080fd5b506101996107d4565b60408051918252519081900360200190f35b3480156101b757600080fd5b506101cc600160a060020a03600435166107db565b60408051600160a060020a039092168252519081900360200190f35b3480156101f457600080fd5b506101826004356024356107f6565b34801561020f57600080fd5b50610218610458565b604080519115158252519081900360200190f35b34801561023857600080fd5b506101cc60043561084d565b34801561025057600080fd5b5060408051602060048035808201358381028086018501909652808552610182953695939460249493850192918291850190849080828437509497506108759650505050505050565b3480156102a557600080fd5b506101996108c2565b3480156102ba57600080fd5b506101cc6108ce565b3480156102cf57600080fd5b506102de6004356024356108dd565b6040805192835260208301919091528051918290030190f35b34801561030357600080fd5b5061019960043560243561092b565b34801561031e57600080fd5b50610199600435602435604435606435610974565b34801561033f57600080fd5b50610354600160a060020a0360043516610ae6565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610390578181015183820152602001610378565b505050509050019250505060405180910390f35b3480156103b057600080fd5b50610199610b89565b3480156103c557600080fd5b5061019960ff60043516602435610b8f565b3480156103e357600080fd5b50610182600160a060020a0360043516610c35565b34801561040457600080fd5b5061019960ff60043516602435604435610cc9565b34801561042557600080fd5b5061043a600160a060020a0360043516610d93565b60408051938452602084019290925282820152519081900360600190f35b600033151561046657600080fd5b61046f33610db3565b50600190565b600160a060020a03811660009081526001602081905260408220015415801561049e5750601436145b1561058f576104dd6000368080601f01602080910402602001604051908101604052809392919081815260200183838082843750610ece945050505050565b9050600160a060020a0380821690831614156104f857600080fd5b600160a060020a0381166000908152600160208190526040822001541161051e57600080fd5b600160a060020a038083166000818152600260205260408120805493851673ffffffffffffffffffffffffffffffffffffffff199485161790556003805460018101825591527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180549092161790555b5050565b60006105b760646105ab84601063ffffffff610ed516565b9063ffffffff610f0016565b60008054604051929350600160a060020a03169183156108fc0291849190818181858888f193505050501580156105f2573d6000803e3d6000fd5b505050565b600160a060020a03821660009081526001602081905260409091200154151561064757600160a060020a03821660009081526001602081905260409091204280825560028201550181905561058f565b600160a060020a0382166000908152600160205260409020600201546201518042919091031061067a5761067a82610db3565b600160a060020a038216600090815260016020819052604090912001546106a7908263ffffffff610f1716565b600160a060020a038316600090815260016020819052604090912090810191909155426002909101555050565b606060008060006106e486610ae6565b9350600092505b83518360ff1610156107cc57838360ff1681518110151561070857fe5b602090810290910101519150600160a060020a0382161515610729576107cc565b6107368360010186610b8f565b604051909150600160a060020a0383169082156108fc029083906000818181858888f1935050505015801561076f573d6000803e3d6000fd5b506040805160ff60018601168152602081018390528151600160a060020a0380861693908a16927f376b851abe2d6c4f73814c680eca625154aaa6aaeb7be7dcaf5dbee98c4295f2929081900390910190a36001909201916106eb565b505050505050565b6201518081565b600260205260009081526040902054600160a060020a031681565b60008054600160a060020a0316331461080e57600080fd5b50815b818110156105f25761084560038281548110151561082b57fe5b600091825260209091200154600160a060020a0316610db3565b600101610811565b600380548290811061085b57fe5b600091825260209091200154600160a060020a0316905081565b60008054600160a060020a0316331461088d57600080fd5b5060005b815181101561058f576108ba82828151811015156108ab57fe5b90602001906020020151610db3565b600101610891565b67016345785d8a000081565b600054600160a060020a031681565b60008080806108f9620151806105ab878963ffffffff610f2616565b915061091e610911620151808463ffffffff610ed516565b879063ffffffff610f1716565b9196919550909350505050565b600080610945620151806105ab858763ffffffff610f2616565b905061096a61095d620151808363ffffffff610ed516565b859063ffffffff610f1716565b91505b5092915050565b60008060008060008060008062015180898d0310156109965760009750610ad7565b50505062278d008801935050624f1a0087019150506276a7008601629e3400870160008080868910156109f157868c116109d0578b6109d2565b865b91506109de89836108dd565b995090506109ee60018b83610cc9565b92505b85891015610a3757858c11610a06578b610a08565b855b9150610a1489836108dd565b99509050610a34610a2760028c84610cc9565b849063ffffffff610f1716565b92505b84891015610a7057848c11610a4c578b610a4e565b845b9150610a5a89836108dd565b99509050610a6d610a2760038c84610cc9565b92505b83891015610aa957838c11610a85578b610a87565b835b9150610a9389836108dd565b99509050610aa6610a2760048c84610cc9565b92505b838910610ad3578b9150610abd89836108dd565b99509050610ad0610a2760058c84610cc9565b92505b8297505b50505050505050949350505050565b60408051600580825260c0820190925260609182916000918291906020820160a080388339019050509250849150600090505b60058160ff161015610b8057600160a060020a0391821660009081526002602052604090205490911690811515610b4f57610b80565b81838260ff16815181101515610b6157fe5b600160a060020a03909216602092830290910190910152600101610b19565b50909392505050565b60035490565b60008260ff1660011415610bb557610bae82603263ffffffff610f0016565b9050610c2f565b8260ff1660021415610bd257610bae82606463ffffffff610f0016565b8260ff1660031415610bef57610bae8260c863ffffffff610f0016565b8260ff1660041415610c0d57610bae8261019063ffffffff610f0016565b8260ff1660051415610c2b57610bae8261019063ffffffff610f0016565b5060005b92915050565b600054600160a060020a03163314610c4c57600080fd5b600160a060020a0381161515610c6157600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008360ff1660011415610cff57610cf882610cec85601963ffffffff610f0016565b9063ffffffff610ed516565b9050610d8c565b8360ff1660021415610d2557610cf882610cec60646105ab87600363ffffffff610ed516565b8360ff1660031415610d4657610cf882610cec85603263ffffffff610f0016565b8360ff1660041415610d6757610cf882610cec85606463ffffffff610f0016565b8360ff1660051415610d8857610cf882610cec8560c863ffffffff610f0016565b5060005b9392505050565b600160208190526000918252604090912080549181015460029091015483565b600160a060020a0381166000908152600160208190526040822001548110610dda57600080fd5b600160a060020a0382166000908152600160208190526040909120805491810154600290910154610e0e9242929091610974565b905060008111610e1d57600080fd5b600160a060020a038216600090815260016020526040902054610e40904261092b565b600160a060020a038316600081815260016020526040808220600201939093559151909183156108fc02918491818181858888f19350505050158015610e8a573d6000803e3d6000fd5b50604080518281529051600160a060020a038416917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364919081900360200190a25050565b6014015190565b600080831515610ee8576000915061096d565b50828202828482811515610ef857fe5b0414610d8c57fe5b6000808284811515610f0e57fe5b04949350505050565b600082820183811015610d8c57fe5b600082821115610f3257fe5b509003905600a165627a7a72305820486c2cd2c04e7afd7e5083b352de29cda69d5c9581df4365a267546049c6a6f10029

   Swarm Source:
bzzr://486c2cd2c04e7afd7e5083b352de29cda69d5c9581df4365a267546049c6a6f1

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.