Contract Overview
Balance: 0.018 Ether
Ether Value: $1.61 (@ $89.57/ETH)
Transactions: 3 txns
Token Tracker: �y� Deposit not found (�y� Depos...)
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x17eccb674418bb13f0bc929bcb61afa83c45e955at txn 0x4b4cf9601c45c86b2bb19c15673ee099fdb4b681e39802a7746655e34a2400cf
 Latest 3 txns

TxHash Age From To Value [TxFee]
0x19360b4cf7ce8659f2c829d79b3fd0e13374d0a8feb673d91e4a78e88eae436642 days 5 hrs ago0x17eccb674418bb13f0bc929bcb61afa83c45e955  IN   0xbb4c7e4617e7e2baab6ff66e2be25d8d15896ecc0.01 Ether0.001403409
0x4aaa07c6ef63ccf186fa503f64b16cec93e067af5d6aab7b5b8b21caf660663a43 days 4 hrs ago0x17eccb674418bb13f0bc929bcb61afa83c45e955  IN   0xbb4c7e4617e7e2baab6ff66e2be25d8d15896ecc0.01 Ether0.007919048
0x4b4cf9601c45c86b2bb19c15673ee099fdb4b681e39802a7746655e34a2400cf43 days 4 hrs ago0x17eccb674418bb13f0bc929bcb61afa83c45e955  IN    Contract Creation0 Ether0.003999936
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 6 Internal Transactions

ParentTxHash Block Age From To Value
0x19360b4cf7ce8659f2c829d79b3fd0e13374d0a8feb673d91e4a78e88eae4366661958042 days 5 hrs ago0xbb4c7e4617e7e2baab6ff66e2be25d8d15896ecc0x3aee679504d751473e35683993ebe89816fc133e0.0004 Ether
0x19360b4cf7ce8659f2c829d79b3fd0e13374d0a8feb673d91e4a78e88eae4366661958042 days 5 hrs ago0xbb4c7e4617e7e2baab6ff66e2be25d8d15896ecc0x9175ed14bb7a1d501b94aab8845b28e4a679feec0.0004 Ether
0x19360b4cf7ce8659f2c829d79b3fd0e13374d0a8feb673d91e4a78e88eae4366661958042 days 5 hrs ago0xbb4c7e4617e7e2baab6ff66e2be25d8d15896ecc0xf5e058e585abedb1ec8219b010e8c2e3033fa0a00.0002 Ether
0x4aaa07c6ef63ccf186fa503f64b16cec93e067af5d6aab7b5b8b21caf660663a661370543 days 4 hrs ago0xbb4c7e4617e7e2baab6ff66e2be25d8d15896ecc0x3aee679504d751473e35683993ebe89816fc133e0.0004 Ether
0x4aaa07c6ef63ccf186fa503f64b16cec93e067af5d6aab7b5b8b21caf660663a661370543 days 4 hrs ago0xbb4c7e4617e7e2baab6ff66e2be25d8d15896ecc0x9175ed14bb7a1d501b94aab8845b28e4a679feec0.0004 Ether
0x4aaa07c6ef63ccf186fa503f64b16cec93e067af5d6aab7b5b8b21caf660663a661370543 days 4 hrs ago0xbb4c7e4617e7e2baab6ff66e2be25d8d15896ecc0xf5e058e585abedb1ec8219b010e8c2e3033fa0a00.0002 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact Match)
Contract Name: ETHBank
Compiler Text: v0.4.25+commit.59dbf8f1
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity 0.4.25;

/**
*
* ETH CRYPTOCURRENCY DISTRIBUTION PROJECT
*
* Web              - http://www.ethbank.space
* Facebook         - https://facebook.com/ethbankspace
* Instagram        - https://www.instagram.com/ethbank/
* Telegram_chat    - https://t.me/ethbankspace
*
*  - GAIN PER 24 HOURS:
*     -- Contract balance  < 100 Ether: 3 %
*     -- Contract balance >= 100 Ether: 5 %
*     -- Contract balance >= 300 Ether: 7 %
*     -- Contract balance >= 600 Ether: 9 %
*     -- Contract balance >= 1000 Ether: 10 %
*  - 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 ether transaction (every day, every week, i don't care unless you're
*      spending too much on GAS)
*
* RECOMMENDED GAS LIMIT: 180000
* 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 - ETHBank. 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 ETHBank{

    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 = 100;
    uint step2 = 300;
    uint step3 = 600;
    uint step4 = 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 adminAddr      = 0xf5E058E585ABeDB1eC8219b010e8C2E3033fa0A0;
    address public marketAddr     = 0x9175ed14BB7A1d501B94aaB8845B28e4a679fEeC;
    address public commissionAddr = 0x3aEE679504D751473e35683993EBe89816fC133e;

    Percent.percent private m_adminPercent      = Percent.percent(2, 100);
    Percent.percent private m_marketPercent     = Percent.percent(4, 100);
    Percent.percent private m_commissionPercent = Percent.percent(4, 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);

        if(contractBalance < balanceStep1){
            return(300);
        }
        if(contractBalance >= balanceStep1 && contractBalance < balanceStep2){
            return(500);
        }
        if(contractBalance >= balanceStep2 && contractBalance < balanceStep3){
            return(700);
        }
        if(contractBalance >= balanceStep3 && contractBalance < balanceStep4){
            return(900);
        }
        if(contractBalance >= balanceStep4){
            return(1000);
        }
    }

    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
            adminAddr.transfer(m_adminPercent.mul(msg.value));
            marketAddr.transfer(m_marketPercent.mul(msg.value));
            commissionAddr.transfer(m_commissionPercent.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":"adminAddr","outputs":[{"name":"","type":"address"}],"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":"marketAddr","outputs":[{"name":"","type":"address"}],"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
6064600281815561012c60035561025860049081556103e860055562015180600655600b8054600160a060020a031990811673f5e058e585abedb1ec8219b010e8c2e3033fa0a017909155600c80548216739175ed14bb7a1d501b94aab8845b28e4a679feec179055600d8054909116733aee679504d751473e35683993ebe89816fc133e179055608082905260a0839052600e91909155600f82905560c081905260e0829052601081905560118290556101406040526101008190526101208290526012556013553480156100d457600080fd5b506109b5806100e46000396000f3006080604052600436106100c45763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631d5e970d81146100ce57806327e235e3146100f55780632a6dd8c9146101165780633a2d87841461012b5780633d7ac9f81461014057806357657081146101555780637c67a3e21461016a578063818305931461018b57806381e170de146101bc578063b5d29f21146101d1578063b9c797f6146101fa578063cefa74cc1461020f578063e1f5acf614610224575b6100cc610239565b005b3480156100da57600080fd5b506100e36104e1565b60408051918252519081900360200190f35b34801561010157600080fd5b506100e3600160a060020a03600435166104e7565b34801561012257600080fd5b506100e36104f9565b34801561013757600080fd5b506100e36105ff565b34801561014c57600080fd5b506100e3610689565b34801561016157600080fd5b506100e3610694565b34801561017657600080fd5b506100e3600160a060020a036004351661069a565b34801561019757600080fd5b506101a06106ac565b60408051600160a060020a039092168252519081900360200190f35b3480156101c857600080fd5b506100e36106bb565b3480156101dd57600080fd5b506101e66106c1565b604080519115158252519081900360200190f35b34801561020657600080fd5b506100e3610714565b34801561021b57600080fd5b506101a061071a565b34801561023057600080fd5b506101a0610729565b60003411156104d757662386f26fc100003410156102de57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f6d73672e76616c7565206d757374206265203e3d206d696e496e7665736d656e60448201527f7400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b3360009081526020819052604090205415156103345760408051348152905133917f3ea43d7cccef4082f1b722579c174bffc4fed08469258b70da775c6909aa7b28919081900360200190a26009805460010190555b600b54600160a060020a03166108fc610354600e3463ffffffff61073816565b6040518115909202916000818181858888f1935050505015801561037c573d6000803e3d6000fd5b50600c54600160a060020a03166108fc61039d60103463ffffffff61073816565b6040518115909202916000818181858888f193505050501580156103c5573d6000803e3d6000fd5b50600d54600160a060020a03166108fc6103e660123463ffffffff61073816565b6040518115909202916000818181858888f1935050505015801561040e573d6000803e3d6000fd5b5060006104196105ff565b1180156104475750600654336000908152600160205260409020546104439163ffffffff61076516565b4210155b156104545761045461077b565b33600090815260208190526040902054610474903463ffffffff61076516565b3360008181526020818152604080832094909455600181529083902042905560078054349081019091558351908152925191927f2cb77763bc1e8490c1a904905c4d74b4269919aca114464f4bb4d911e60de364929081900390910190a26104df565b6104df61077b565b565b60085481565b60006020819052908152604090205481565b600254600090303190829081908190819061052290670de0b6b3a764000063ffffffff61093c16565b60035490945061054090670de0b6b3a764000063ffffffff61093c16565b60045490935061055e90670de0b6b3a764000063ffffffff61093c16565b60055490925061057c90670de0b6b3a764000063ffffffff61093c16565b9050838510156105905761012c95506105f7565b83851015801561059f57508285105b156105ae576101f495506105f7565b8285101580156105bd57508185105b156105cc576102bc95506105f7565b8185101580156105db57508085105b156105ea5761038495506105f7565b8085106105f7576103e895505b505050505090565b60008060008061060d6104f9565b336000908152602081905260409020549093506106449061271090610638908663ffffffff61093c16565b9063ffffffff61096016565b6006543360009081526001602052604090205491935061066f9161063890429063ffffffff61097716565b9050610681828263ffffffff61093c16565b935050505090565b662386f26fc1000081565b60075481565b60016020526000908152604090205481565b600b54600160a060020a031681565b600a5481565b33600090815260208190526040812054811080156107005750600654336000908152600160205260409020546106fc9163ffffffff61076516565b4210155b1561070d57506001610711565b5060005b90565b60095481565b600c54600160a060020a031681565b600d54600160a060020a031681565b60008115156107495750600061075f565b60018301548354830281151561075b57fe5b0490505b92915050565b60008282018381101561077457fe5b9392505050565b3360009081526020819052604081205481106107f857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706f736974206e6f7420666f756e64000000000000000000000000000000604482015290519081900360640190fd5b6006543360009081526001602052604090205461081a9163ffffffff61076516565b4210156108ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f546f6f2066617374207061796f757420726571756573742e205468652074696d60448201527f65206f66207061796d656e7420686173206e6f742079657420636f6d65000000606482015290519081900360840190fd5b6108b66105ff565b3360008181526001602052604080822042905551929350909183156108fc0291849190818181858888f193505050501580156108f6573d6000803e3d6000fd5b50600880548201905542600a5560408051828152905133917f38b3cd63b7181dfb8515c2b900548258df82fee21db5246ce3818c0efdf51685919081900360200190a250565b6000828202831580610958575082848281151561095557fe5b04145b151561077457fe5b600080828481151561096e57fe5b04949350505050565b60008282111561098357fe5b509003905600a165627a7a72305820fba3c2bc93eaa21784acbb8d329d3152daccf07aae829716ff926b23b225ebff0029

   Swarm Source:
bzzr://fba3c2bc93eaa21784acbb8d329d3152daccf07aae829716ff926b23b225ebff

 

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.