Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 1 txn
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Contract Source Code Verified (Exact Match)
Contract Name: EthXEth
Compiler Text: v0.4.25+commit.59dbf8f1
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity 0.4.25;

/**
*
* ETHXETH CRYPTOCURRENCY DISTRIBUTION PROTOCOL
*
* Web              - ethxeth.ml
* Twitter          - twitter.com/ethxeth
* Telegram         - t.me/ethxeth
*
*  - GAIN PER 24 HOURS:
*     -- Contract balance << 200 Ether: 3,25 %
*     -- Contract balance >= 200 Ether: 3.50 %
*     -- Contract balance >= 400 Ether: 3.75 %
*     -- Contract balance >= 600 Ether: 4.00 %
*     -- Contract balance >= 800 Ether: 4.25 %
*     -- Contract balance >= 1000 Ether: 4.50 %
* 
*  - Life-long payments
*  - The revolutionary reliability
*  - Minimal contribution 0.01 eth
*  - Currency and payment - ETH
*  - Contribution allocation schemes:
*    -- 90% payments
*    -- 10% Marketing + Operating Expenses
*
* ---How to use:
*  1. Send from ETH wallet to the smart contract address
*     any amount from 0.01 ETH.
*  2. Verify your transaction in the history of your application or etherscan.io, specifying the address
*     of your wallet.
*  3. Claim your profit by sending 0 ETH transaction (every day, every week, i don't care unless you're
*      spending too much on GAS)
*
* RECOMMENDED GAS LIMIT: 200000
* RECOMMENDED GAS PRICE: https://ethgasstation.info/
* You can check the payments on the etherscan.io site, in the "Internal Txns" tab of your wallet.
*
* ---It is not allowed to transfer from exchanges, only from your personal ETH wallet, for which you
* have private keys.
*
* Contracts reviewed and approved by pros!
*
* Main contract - EthXEth. Scroll down to find it.
*
*/

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

  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || 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;
  }
}

library Percent {

  struct percent {
    uint num;
    uint den;
  }
  function mul(percent storage p, uint a) internal view returns (uint) {
    if (a == 0) {
      return 0;
    }
    return a*p.num/p.den;
  }

  function div(percent storage p, uint a) internal view returns (uint) {
    return a/p.num*p.den;
  }

  function sub(percent storage p, uint a) internal view returns (uint) {
    uint b = mul(p, a);
    if (b >= a) return 0;
    return a - b;
  }

  function add(percent storage p, uint a) internal view returns (uint) {
    return a + mul(p, a);
  }
}

contract EthXEth{

    using SafeMath for uint;
    using Percent for Percent.percent;
    // array containing information about beneficiaries
    mapping (address => uint) public balances;
    //array containing information about the time of payment
    mapping (address => uint) public time;

    //The marks of the balance on the contract after which the percentage of payments will change
    uint step1 = 200;
    uint step2 = 400;
    uint step3 = 600;
    uint step4 = 800;
    uint step5 = 1000;

    //the time through which dividends will be paid
    uint dividendsTime = 1 days;

    event NewInvestor(address indexed investor, uint deposit);
    event PayOffDividends(address indexed investor, uint value);
    event NewDeposit(address indexed investor, uint value);

    uint public allDeposits;
    uint public allPercents;
    uint public allBeneficiaries;
    uint public lastPayment;

    uint public constant minInvesment = 10 finney;

    address public commissionAddr = 0xead85d8ff7d6bc58e8f0fdf91999c35949375f1a;

    Percent.percent private m_adminPercent = Percent.percent(10, 100);

    /**
     * The modifier checking the positive balance of the beneficiary
    */
    modifier isIssetRecepient(){
        require(balances[msg.sender] > 0, "Deposit not found");
        _;
    }

    /**
     * modifier checking the next payout time
     */
    modifier timeCheck(){
         require(now >= time[msg.sender].add(dividendsTime), "Too fast payout request. The time of payment has not yet come");
         _;
    }

    function getDepositMultiplier()public view returns(uint){
        uint percent = getPercent();

        uint rate = balances[msg.sender].mul(percent).div(10000);

        uint depositMultiplier = now.sub(time[msg.sender]).div(dividendsTime);

        return(rate.mul(depositMultiplier));
    }

    function receivePayment()isIssetRecepient timeCheck private{

        uint depositMultiplier = getDepositMultiplier();
        time[msg.sender] = now;
        msg.sender.transfer(depositMultiplier);

        allPercents+=depositMultiplier;
        lastPayment =now;
        emit PayOffDividends(msg.sender, depositMultiplier);
    }

    /**
     * @return bool
     */
    function authorizationPayment()public view returns(bool){

        if (balances[msg.sender] > 0 && now >= (time[msg.sender].add(dividendsTime))){
            return (true);
        }else{
            return(false);
        }
    }

    /**
     * @return uint percent
     */
    function getPercent() public view returns(uint){

        uint contractBalance = address(this).balance;

        uint balanceStep1 = step1.mul(1 ether);
        uint balanceStep2 = step2.mul(1 ether);
        uint balanceStep3 = step3.mul(1 ether);
        uint balanceStep4 = step4.mul(1 ether);
        uint balanceStep5 = step5.mul(1 ether);

        if(contractBalance < balanceStep1){
            return(325);
        }
        if(contractBalance >= balanceStep1 && contractBalance < balanceStep2){
            return(350);
        }
        if(contractBalance >= balanceStep2 && contractBalance < balanceStep3){
            return(375);
        }
        if(contractBalance >= balanceStep3 && contractBalance < balanceStep4){
            return(400);
        }
        if(contractBalance >= balanceStep4 && contractBalance < balanceStep5){
            return(425);
        }
        if(contractBalance >= balanceStep5){
            return(450);
        }
    }

    function createDeposit() private{

        if(msg.value > 0){

            require(msg.value >= minInvesment, "msg.value must be >= minInvesment");

            if (balances[msg.sender] == 0){
                emit NewInvestor(msg.sender, msg.value);
                allBeneficiaries+=1;
            }

            // commission
            commissionAddr.transfer(m_adminPercent.mul(msg.value));

            if(getDepositMultiplier() > 0 && now >= time[msg.sender].add(dividendsTime) ){
                receivePayment();
            }

            balances[msg.sender] = balances[msg.sender].add(msg.value);
            time[msg.sender] = now;

            allDeposits+=msg.value;
            emit NewDeposit(msg.sender, msg.value);

        }else{
            receivePayment();
        }
    }

    /**
     * function that is launched when transferring money to a contract
     */
    function() external payable{
        createDeposit();
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"allPercents","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getPercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getDepositMultiplier","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minInvesment","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allDeposits","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"time","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastPayment","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"authorizationPayment","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allBeneficiaries","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"commissionAddr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"investor","type":"address"},{"indexed":false,"name":"deposit","type":"uint256"}],"name":"NewInvestor","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"investor","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"PayOffDividends","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"investor","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"NewDeposit","type":"event"}]

  Contract Creation Code Switch To Opcodes View
608060405260c86002556101906003556102586004556103206005556103e86006556201518060075573ead85d8ff7d6bc58e8f0fdf91999c35949375f1a600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040805190810160405280600a81526020016064815250600d600082015181600001556020820151816001015550503480156100b857600080fd5b50610dc2806100c86000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631d5e970d146100b957806327e235e3146100e45780632a6dd8c91461013b5780633a2d8784146101665780633d7ac9f81461019157806357657081146101bc5780637c67a3e2146101e757806381e170de1461023e578063b5d29f2114610269578063b9c797f614610298578063e1f5acf6146102c3575b6100b761031a565b005b3480156100c557600080fd5b506100ce6106a8565b6040518082815260200191505060405180910390f35b3480156100f057600080fd5b50610125600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106ae565b6040518082815260200191505060405180910390f35b34801561014757600080fd5b506101506106c6565b6040518082815260200191505060405180910390f35b34801561017257600080fd5b5061017b61082d565b6040518082815260200191505060405180910390f35b34801561019d57600080fd5b506101a6610927565b6040518082815260200191505060405180910390f35b3480156101c857600080fd5b506101d1610932565b6040518082815260200191505060405180910390f35b3480156101f357600080fd5b50610228600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610938565b6040518082815260200191505060405180910390f35b34801561024a57600080fd5b50610253610950565b6040518082815260200191505060405180910390f35b34801561027557600080fd5b5061027e610956565b604051808215151515815260200191505060405180910390f35b3480156102a457600080fd5b506102ad610a0e565b6040518082815260200191505060405180910390f35b3480156102cf57600080fd5b506102d8610a14565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600034111561069d57662386f26fc1000034101515156103c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f6d73672e76616c7565206d757374206265203e3d206d696e496e7665736d656e81526020017f740000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561046f573373ffffffffffffffffffffffffffffffffffffffff167f3ea43d7cccef4082f1b722579c174bffc4fed08469258b70da775c6909aa7b28346040518082815260200191505060405180910390a26001600a600082825401925050819055505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6104bf34600d610a3a90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156104ea573d6000803e3d6000fd5b5060006104f561082d565b1180156105555750610551600754600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a6c90919063ffffffff16565b4210155b1561056357610562610a8a565b5b6105b4346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a6c90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550346008600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167f2cb77763bc1e8490c1a904905c4d74b4269919aca114464f4bb4d911e60de364346040518082815260200191505060405180910390a26106a6565b6106a5610a8a565b5b565b60095481565b60006020528060005260406000206000915090505481565b60008060008060008060003073ffffffffffffffffffffffffffffffffffffffff16319550610708670de0b6b3a7640000600254610d2f90919063ffffffff16565b9450610727670de0b6b3a7640000600354610d2f90919063ffffffff16565b9350610746670de0b6b3a7640000600454610d2f90919063ffffffff16565b9250610765670de0b6b3a7640000600554610d2f90919063ffffffff16565b9150610784670de0b6b3a7640000600654610d2f90919063ffffffff16565b905084861015610798576101459650610824565b8486101580156107a757508386105b156107b65761015e9650610824565b8386101580156107c557508286105b156107d4576101779650610824565b8286101580156107e357508186105b156107f2576101909650610824565b81861015801561080157508086105b15610810576101a99650610824565b8086101515610823576101c29650610824565b5b50505050505090565b60008060008061083b6106c6565b92506108a2612710610894856000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d2f90919063ffffffff16565b610d6290919063ffffffff16565b915061090a6007546108fc600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442610d7d90919063ffffffff16565b610d6290919063ffffffff16565b905061091f8183610d2f90919063ffffffff16565b935050505090565b662386f26fc1000081565b60085481565b60016020528060005260406000206000915090505481565b600b5481565b6000806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180156109f857506109f4600754600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a6c90919063ffffffff16565b4210155b15610a065760019050610a0b565b600090505b90565b600a5481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080821415610a4d5760009050610a66565b826001015483600001548302811515610a6257fe5b0490505b92915050565b6000808284019050838110151515610a8057fe5b8091505092915050565b6000806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111515610b41576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4465706f736974206e6f7420666f756e6400000000000000000000000000000081525060200191505060405180910390fd5b610b95600754600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a6c90919063ffffffff16565b4210151515610c32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f546f6f2066617374207061796f757420726571756573742e205468652074696d81526020017f65206f66207061796d656e7420686173206e6f742079657420636f6d6500000081525060400191505060405180910390fd5b610c3a61082d565b905042600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610cc6573d6000803e3d6000fd5b508060096000828254019250508190555042600b819055503373ffffffffffffffffffffffffffffffffffffffff167f38b3cd63b7181dfb8515c2b900548258df82fee21db5246ce3818c0efdf51685826040518082815260200191505060405180910390a250565b60008082840290506000841480610d505750828482811515610d4d57fe5b04145b1515610d5857fe5b8091505092915050565b6000808284811515610d7057fe5b0490508091505092915050565b6000828211151515610d8b57fe5b8183039050929150505600a165627a7a7230582005787c77d0a4fde11f1daa5500fb07acc0bd0bae6390be168c96a07322e718fa0029

   Swarm Source:
bzzr://05787c77d0a4fde11f1daa5500fb07acc0bd0bae6390be168c96a07322e718fa

 

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.