ETH Price: $2,123.21 (+4.85%)

Contract

0xBeeFd8fb3B5778F99e021Afa2E41E0614AF6Af11
 

Overview

ETH Balance

0.000171218270216915 ETH

Eth Value

$0.36 (@ $2,123.21/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Age:30D
Reset Filter

Transaction Hash
Method
Block
From
To

There are no matching entries

Update your filters to view other transactions

Age:30D
Reset Filter

Advanced mode:
Parent Transaction Hash Method Block
From
To

There are no matching entries

Update your filters to view other transactions

View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EtherSmart

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-10-03
*/

pragma solidity ^0.4.23;

contract EtherSmart {

    mapping (address => uint256) public invested;
    mapping (address => uint256) public atBlock;
    address techSupport = 0x88507e53d2D5348AbD5155E47EF694ACf4b140D0;
    uint techSupportPercent = 2;
    address advertising = 0x8464E6613F87Fa5F744Ebfc0db4B9C7Cc1f97a07;
    uint advertisingPercent = 7;
    address defaultReferrer = 0xDa35961E80f19D0e389db2674E562277CA4d31f2;
    uint refPercent = 2;
    uint refBack = 2;

    // calculation of the percentage of profit depending on the balance sheet
    // returns the percentage times 10
    function calculateProfitPercent(uint bal) private pure returns (uint) {
        if (bal >= 1e22) { // balance >= 10000 ETH
            return 50;
        }
        if (bal >= 7e21) { // balance >= 7000 ETH
            return 47;
        }
        if (bal >= 5e21) { // balance >= 5000 ETH
            return 45;
        }
        if (bal >= 3e21) { // balance >= 3000 ETH
            return 42;
        }
        if (bal >= 1e21) { // balance >= 1000 ETH
            return 40;
        }
        if (bal >= 5e20) { // balance >= 500 ETH
            return 35;
        }
        if (bal >= 2e20) { // balance >= 200 ETH
            return 30;
        }
        if (bal >= 1e20) { // balance >= 100 ETH
            return 27;
        } else {
            return 25;
        }
    }

    // transfer default percents of invested
    function transferDefaultPercentsOfInvested(uint value) private {
        techSupport.transfer(value * techSupportPercent / 100);
        advertising.transfer(value * advertisingPercent / 100);
    }

    // convert bytes to eth address 
    function bytesToAddress(bytes bys) private pure returns (address addr) {
        assembly {
            addr := mload(add(bys, 20))
        }
    }

    // transfer default refback and referrer percents of invested
    function transferRefPercents(uint value, address sender) private {
        if (msg.data.length != 0) {
            address referrer = bytesToAddress(msg.data);
            if(referrer != sender) {
                sender.transfer(value * refBack / 100);
                referrer.transfer(value * refPercent / 100);
            } else {
                defaultReferrer.transfer(value * refPercent / 100);
            }
        } else {
            defaultReferrer.transfer(value * refPercent / 100);
        }
    }

    // calculate profit amount as such:
    // amount = (amount invested) * ((percent * 10)/ 1000) * (blocks since last transaction) / 6100
    // percent is multiplied by 10 to calculate fractional percentages and then divided by 1000 instead of 100
    // 6100 is an average block count per day produced by Ethereum blockchain
    function () external payable {
        if (invested[msg.sender] != 0) {
            
            uint thisBalance = address(this).balance;
            uint amount = invested[msg.sender] * calculateProfitPercent(thisBalance) / 1000 * (block.number - atBlock[msg.sender]) / 6100;

            address sender = msg.sender;
            sender.transfer(amount);
        }
        if (msg.value > 0) {
            transferDefaultPercentsOfInvested(msg.value);
            transferRefPercents(msg.value, msg.sender);
        }
        atBlock[msg.sender] = block.number;
        invested[msg.sender] += (msg.value);
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"invested","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"atBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

60806040527388507e53d2d5348abd5155e47ef694acf4b140d0600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002600355738464e6613f87fa5f744ebfc0db4b9c7cc1f97a07600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760055573da35961e80f19d0e389db2674e562277ca4d31f2600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002600755600260085534801561012357600080fd5b5061077e806101336000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806366b3f6bf146102575780638aac1362146102ae575b6000806000806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415156101a5573073ffffffffffffffffffffffffffffffffffffffff163192506117d4600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205443036103e861010386610305565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540281151561014c57fe5b040281151561015757fe5b0491503390508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156101a3573d6000803e3d6000fd5b505b60003411156101c2576101b7346103ec565b6101c134336104e1565b5b43600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550505050005b34801561026357600080fd5b50610298600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610714565b6040518082815260200191505060405180910390f35b3480156102ba57600080fd5b506102ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061072c565b6040518082815260200191505060405180910390f35b600069021e19e0c9bab24000008210151561032357603290506103e7565b69017b7883c069166000008210151561033f57602f90506103e7565b69010f0cf064dd592000008210151561035b57602d90506103e7565b68a2a15d09519be000008210151561037657602a90506103e7565b683635c9adc5dea000008210151561039157602890506103e7565b681b1ae4d6e2ef500000821015156103ac57602390506103e7565b680ad78ebc5ac6200000821015156103c757601e90506103e7565b68056bc75e2d63100000821015156103e257601b90506103e7565b601990505b919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6064600354840281151561043857fe5b049081150290604051600060405180830381858888f19350505050158015610464573d6000803e3d6000fd5b50600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606460055484028115156104b157fe5b049081150290604051600060405180830381858888f193505050501580156104dd573d6000803e3d6000fd5b5050565b60008060003690501415156106955761052c6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050610744565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515610616578173ffffffffffffffffffffffffffffffffffffffff166108fc6064600854860281151561058d57fe5b049081150290604051600060405180830381858888f193505050501580156105b9573d6000803e3d6000fd5b508073ffffffffffffffffffffffffffffffffffffffff166108fc606460075486028115156105e457fe5b049081150290604051600060405180830381858888f19350505050158015610610573d6000803e3d6000fd5b50610690565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6064600754860281151561066257fe5b049081150290604051600060405180830381858888f1935050505015801561068e573d6000803e3d6000fd5b505b61070f565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606460075486028115156106e157fe5b049081150290604051600060405180830381858888f1935050505015801561070d573d6000803e3d6000fd5b505b505050565b60006020528060005260406000206000915090505481565b60016020528060005260406000206000915090505481565b6000601482015190509190505600a165627a7a72305820010aa969daeaf50548d6115ef3acd2a86c197c6c77fd3d0b534c750a61948bee0029

Deployed Bytecode

0x60806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806366b3f6bf146102575780638aac1362146102ae575b6000806000806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415156101a5573073ffffffffffffffffffffffffffffffffffffffff163192506117d4600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205443036103e861010386610305565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540281151561014c57fe5b040281151561015757fe5b0491503390508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156101a3573d6000803e3d6000fd5b505b60003411156101c2576101b7346103ec565b6101c134336104e1565b5b43600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550505050005b34801561026357600080fd5b50610298600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610714565b6040518082815260200191505060405180910390f35b3480156102ba57600080fd5b506102ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061072c565b6040518082815260200191505060405180910390f35b600069021e19e0c9bab24000008210151561032357603290506103e7565b69017b7883c069166000008210151561033f57602f90506103e7565b69010f0cf064dd592000008210151561035b57602d90506103e7565b68a2a15d09519be000008210151561037657602a90506103e7565b683635c9adc5dea000008210151561039157602890506103e7565b681b1ae4d6e2ef500000821015156103ac57602390506103e7565b680ad78ebc5ac6200000821015156103c757601e90506103e7565b68056bc75e2d63100000821015156103e257601b90506103e7565b601990505b919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6064600354840281151561043857fe5b049081150290604051600060405180830381858888f19350505050158015610464573d6000803e3d6000fd5b50600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606460055484028115156104b157fe5b049081150290604051600060405180830381858888f193505050501580156104dd573d6000803e3d6000fd5b5050565b60008060003690501415156106955761052c6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050610744565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515610616578173ffffffffffffffffffffffffffffffffffffffff166108fc6064600854860281151561058d57fe5b049081150290604051600060405180830381858888f193505050501580156105b9573d6000803e3d6000fd5b508073ffffffffffffffffffffffffffffffffffffffff166108fc606460075486028115156105e457fe5b049081150290604051600060405180830381858888f19350505050158015610610573d6000803e3d6000fd5b50610690565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6064600754860281151561066257fe5b049081150290604051600060405180830381858888f1935050505015801561068e573d6000803e3d6000fd5b505b61070f565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606460075486028115156106e157fe5b049081150290604051600060405180830381858888f1935050505015801561070d573d6000803e3d6000fd5b505b505050565b60006020528060005260406000206000915090505481565b60016020528060005260406000206000915090505481565b6000601482015190509190505600a165627a7a72305820010aa969daeaf50548d6115ef3acd2a86c197c6c77fd3d0b534c750a61948bee0029

Swarm Source

bzzr://010aa969daeaf50548d6115ef3acd2a86c197c6c77fd3d0b534c750a61948bee

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.