Contract 0xc28e860c9132d55a184f9af53fc85e90aa3a0153

 

TxHash Block Age From To Value [TxFee]
0xdf861c93ea51388c7b5c12e3299e6fbc0ac79fa348668819452402abd99ff990(pending)11 days 15 hrs ago0x0f21d37eda174aac3d5f98537983304c0705fdda IN 0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether(Pending)
0x44c323cba63b1aabf6a2c6cd2cbe2f14575d6d4eb5927467dbb84ccbaa0e5736719459210 days 20 hrs ago0x74e5a4cba4e44e2200844670297a0d5d0abe281f IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000112914
0xa493a8930649dbc607cbd89299ff24d0481a214f5acc8afb093e679fec10c187716491016 days 21 hrs ago0x5632ca98e5788eddb2397757aa82d1ed6171e5ad IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.00056457
0x894c0bf16ca6b5d4efcb20e2438168116813095174058a5a48767dcc0e54ff53698192850 days 20 hrs ago0xcb2b0eb210754bd93002faaca102092ef70b1d7e IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.0000717898
0x7f5f83137c836b850c2cf5a9e935056cf7ff6d023a7e7d85502233338dbc3f30696956452 days 22 hrs ago0xa84ead3c3c5aab2c5567469528298d555934d18a IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.0001036425
0x5b75e374503e17207f0a636f0c25cf659cd23b64d49daa013ea4f265beefd8f3695708755 days 1 hr ago0xc0de226d38c0c40487bb5f851db8798f6379c2f4 IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000282285
0x84b78cd3fe0bc1ae35dc141def9574b60768bc1e21f6f0735dd0421e45a24895691210062 days 16 hrs ago0xab8357856c5d104386d92e8834ff5f005b71794f IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000155906
0x8ba2b625849613add729c32e3854bffa0049670f53dc9d8de6111c53023a0755674773589 days 20 hrs ago0x54fb0f19a148054c4c0987e00285af96b21e259b IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000311812
0x2ebc69be7ae92aafb2198c478b4f9a5eaaf13ae781939cc2888c0c83572b5fd86643246106 days 23 hrs ago0x54fb0f19a148054c4c0987e00285af96b21e259b IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000227684
0xf5a24e74d3294cbf077674c3118db08fa3961f74f5e14ff93b1ffa4db033e3f86553105121 days 17 hrs ago0x7c0c417a5e9de5c97bd979b26af96b113aa1937d IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000389765
0x12841bf07757edebcc38daf398a417d9669452c4e9de378e1fdda865600709756498197130 days 16 hrs ago0xab8357856c5d104386d92e8834ff5f005b71794f IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000311812
0xc298d90cd5680b7f61fd63a6fd48d4fe26427cccc063af80780d6c2f7a0803b96465731135 days 22 hrs ago0x15a3139bd4767e8ee141467e49f0b223c7e1f5de IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000155906
0xed16db0ee1def31172fa37ceb31dc69118cb8ad3e2212a31c87fc641996912e26456963137 days 8 hrs ago0xb6164d5445ef7e83e5b61233762503985f18691d IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000130377
0x3a5e40985145a0559bbb66d1b6ec9adddd781bc8b7d6a9e2f000fe53665420e46455894137 days 12 hrs ago0xcb2b0eb210754bd93002faaca102092ef70b1d7e IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.0001050686
0xddcb178a1f3b120e2401a5e22aa4832cf652d7b600424b18afb742ae7fdc294a6455892137 days 12 hrs ago0xcb2b0eb210754bd93002faaca102092ef70b1d7e IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.0001781819
0x388cf94cc13dd01256bc60059d49caa4794f0f1f86d215c203199034d48b45b06455600137 days 13 hrs ago0x1f0f0de0ec5465f2f76d60284fb25615cefa48c7 IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000397288
0xf9922ec1f83bd3a6d883106506b52304245a4bc09b73b9188130f091140dd8ae6455598137 days 13 hrs ago0x1f0f0de0ec5465f2f76d60284fb25615cefa48c7 IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000347672
0xb06cf8039914a7ab009e896111e6ede1c9d88b6e33c3adeb968af02fa80d6c156452346138 days 2 hrs ago0xf0c8560803da6995c4af5bba46676a0591f1656c IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000023158
0xf4bae162a71df6fe9d053e2efd172de2404a33af220f1b9103ad204c20e0eb9f6451009138 days 7 hrs ago0x38e00b796e27e5cbb6a9eba8b5688801af4d20a9 IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000130377
0x6a5bfe2d05a57e208cc61af3256c2ebfcab3286218aec0248f51a0815ab089156450930138 days 8 hrs ago0x38e00b796e27e5cbb6a9eba8b5688801af4d20a9 IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000199156
0xd662d2a575d659630e725f39b9b0a942218ad563ecfd4e35cf910aace288d3596397658147 days 1 hr ago0xd2c379be3e5acbf96fcf16013afade5c6b201e03 IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000260754
0x0acd68b21195c006e9ea6257af3401991d2b56fa67a50828421cb34ad3cdaf0e6397624147 days 1 hr ago0xd2c379be3e5acbf96fcf16013afade5c6b201e03 IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000448677
0x1fc032c3d00a40e15c40ab4cc11c31ce689c958f3599bf49247516111d1f77f36397611147 days 1 hr ago0xd2c379be3e5acbf96fcf16013afade5c6b201e03 IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000467718
0x2ee4c756c41f5743da23cddd8a044778282ddbba87efde0369a127c5f0db71b46375370150 days 17 hrs ago0xab8357856c5d104386d92e8834ff5f005b71794f IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000389765
0x00588caf5f20e9b99f066071ab5a9b2e6ed111e659d0e4d039eb3b1e702357856374200150 days 21 hrs ago0xab8357856c5d104386d92e8834ff5f005b71794f IN  0xc28e860c9132d55a184f9af53fc85e90aa3a01530 Ether0.000077953
[ Download CSV Export 

Latest 25 Internal Transaction, Click here to view more Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
0x44c323cba63b1aabf6a2c6cd2cbe2f14575d6d4eb5927467dbb84ccbaa0e5736719459210 days 20 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530x74e5a4cba4e44e2200844670297a0d5d0abe281f0.000053293215152262 Ether
0xa493a8930649dbc607cbd89299ff24d0481a214f5acc8afb093e679fec10c187716491016 days 21 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530x5632ca98e5788eddb2397757aa82d1ed6171e5ad0.003826539066218831 Ether
0x7f5f83137c836b850c2cf5a9e935056cf7ff6d023a7e7d85502233338dbc3f30696956452 days 22 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530xa84ead3c3c5aab2c5567469528298d555934d18a0.035135564596940312 Ether
0x5b75e374503e17207f0a636f0c25cf659cd23b64d49daa013ea4f265beefd8f3695708755 days 1 hr ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530xc0de226d38c0c40487bb5f851db8798f6379c2f40.000226068960109559 Ether
0xed16db0ee1def31172fa37ceb31dc69118cb8ad3e2212a31c87fc641996912e26456963137 days 8 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530xb6164d5445ef7e83e5b61233762503985f18691d0.007436549925424224 Ether
0xddcb178a1f3b120e2401a5e22aa4832cf652d7b600424b18afb742ae7fdc294a6455892137 days 12 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530xcb2b0eb210754bd93002faaca102092ef70b1d7e0.008925959471910777 Ether
0xf9922ec1f83bd3a6d883106506b52304245a4bc09b73b9188130f091140dd8ae6455598137 days 13 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530x1f0f0de0ec5465f2f76d60284fb25615cefa48c70.005886466948323671 Ether
0xf4bae162a71df6fe9d053e2efd172de2404a33af220f1b9103ad204c20e0eb9f6451009138 days 7 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530x38e00b796e27e5cbb6a9eba8b5688801af4d20a90.001769430610294991 Ether
0xd662d2a575d659630e725f39b9b0a942218ad563ecfd4e35cf910aace288d3596397658147 days 1 hr ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530xd2c379be3e5acbf96fcf16013afade5c6b201e032.527525432542140215 Ether
0x787091694079b83b7f88d1f5fedf4cfc4e990777f1dde2210558a26dcdaf913a6318973160 days 1 hr ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530xe41b6cdcd395bf6dcece22cc9a2cae4d8271f0e00.033613741854729854 Ether
0x40b654ca02e6ab6bb90be71db8e5268182597d4edc786e76283b991b45605be46306653162 days 2 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530x0aa8e03ff2d1fa286c614c876c56bcd224acdf250.012549086447863281 Ether
0xb6cc889f601318fbd6a80fb0300199b801b96ac4c34775598ef7e5bb817c87e76297819163 days 13 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530xa2381223639181689cd6c46d38a1a4884bb6d83c0.001090715758835116 Ether
0xfdf339ad92db2a3777af543fe8e1c9947d5af3a67bb86d92456a81fe26486a356275860167 days 6 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530xefcd5e087e05058b362ea17acae5f1ec420864221.364314512556573395 Ether
0xae2bf56b43e7c32ca7fab01995cf38e52aedd4f6a24a2ecb2ac05befe220774b6265484169 days 7 mins ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530xefcd5e087e05058b362ea17acae5f1ec420864220.215905921737021641 Ether
0x04cd9fa1a352be8fcd178bf3561cb3477454c0c4f20496ec6aaaa85f2c494ac26260082169 days 21 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530x6cf441b689683d3049f11b02c001e14bd0d864210.003853541006137728 Ether
0xb1973d648614e520fbc677f21770c951d25b6b1439b2386c6145cc0e80d731d06238523173 days 13 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530xccfd0c63c6335c5db47e5ddf0cb850dca8d25e220.008276104997899358 Ether
0x34d01c5105430454584a1fba0f69f1b7ec77fb829d214e57bbe0630bdee327806218079177 days 8 mins ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530xf0c8560803da6995c4af5bba46676a0591f1656c0.01208098787337535 Ether
0x6ffb65137801120e76957e2aec20c7fee7823ac857ec6da6d26fa6acc96a182a6211426178 days 2 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530xd439ecd30792df6b0eac597c301208e9a47c5d320.041876158517750585 Ether
0x6cdaaeda863c074ca15b9cd5eeb830d8a7950fb1a0c148733783e507f1a8bae76195402180 days 20 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530x0923c9201c496a6da51dcb380909d02c5ba556200.020138176715848723 Ether
0x6ffc978c64ed1f10d18d43a54cef3e4ab1a6d162a86a6f114290eb65b8be9d5a6182515183 days 4 mins ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530x404015fb24d90ee668e65798b821bfcd3b8e8f100.060502712591971308 Ether
0x1999f912a109478eb01a4b032ca651197fb9cb56a2ed622a36049c2b6f48a49c6177062183 days 22 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530xf8a306791d7e1e4693645b816fc021a35dd039380.015170657203250559 Ether
0x42b7450e3a5c5642b5f6cc441724f3e86d7c0aa24603151fedffc5135406728b6166916185 days 15 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530xccfd0c63c6335c5db47e5ddf0cb850dca8d25e220.000167800843720254 Ether
0xe6df0c9bf6529c37fc173e5070d4073062584c00c0883e3fe393f2f32a8b6ce46151377188 days 6 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530x2539e5ee8b93c8319232d3a7cddd03f009b3458f0.129271802191185971 Ether
0x98be8849bfd21faf69a807e4b11e17943d2383461a93dd089b7dc356c4eed6d26131058191 days 17 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530x1f35e90d6de611183bb05fea9cbbb08f6ed37fc80.012565300593978597 Ether
0x8a0118198e7cb3192b98cc412f0fd0af58b266501f67456d1b2efaf136345f6f6102783196 days 11 hrs ago0xc28e860c9132d55a184f9af53fc85e90aa3a01530xcb2b0eb210754bd93002faaca102092ef70b1d7e0.01680253827698845 Ether
[ Download CSV Export 
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) Solidity Compiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: POTJ
Compiler Version: v0.4.20+commit.3155dd80
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity ^0.4.20;

/*
* Trevon James Presents....
* https://potj.me/
* https://discord.gg/8FdGtS8
* Twitter: https://twitter.com/BitcoinTre
* YouTube: https://www.youtube.com/channel/UCWZbtMeOAb_qpEVUl551l7w
* 
* 
*
* Proof of Trevon James
* Don't Talk To Me Unless It's About Intangible Coins.
*
* -> What?
* Incorporated the strong points of different POW{x}, best config:
* [✓] 20% dividends for token purchase, shared among all token holders.
* [✓] 10% dividends for token transfer, shared among all token holders.
* [✓] 25% dividends for token selling.
* [✓] 7% dividends is given to referrer.
* [✓] 50 tokens to activate Masternodes.
*
*/

contract POTJ {


    /*=================================
    =            MODIFIERS            =
    =================================*/

    /// @dev Only people with tokens
    modifier onlyBagholders {
        require(myTokens() > 0);
        _;
    }

    /// @dev Only people with profits
    modifier onlyStronghands {
        require(myDividends(true) > 0);
        _;
    }


    /*==============================
    =            EVENTS            =
    ==============================*/

    event onTokenPurchase(
        address indexed customerAddress,
        uint256 incomingEthereum,
        uint256 tokensMinted,
        address indexed referredBy,
        uint timestamp,
        uint256 price
    );

    event onTokenSell(
        address indexed customerAddress,
        uint256 tokensBurned,
        uint256 ethereumEarned,
        uint timestamp,
        uint256 price
    );

    event onReinvestment(
        address indexed customerAddress,
        uint256 ethereumReinvested,
        uint256 tokensMinted
    );

    event onWithdraw(
        address indexed customerAddress,
        uint256 ethereumWithdrawn
    );

    // ERC20
    event Transfer(
        address indexed from,
        address indexed to,
        uint256 tokens
    );


    /*=====================================
    =            CONFIGURABLES            =
    =====================================*/

    string public name = "Proof of Trevon James";
    string public symbol = "PoTJ";
    uint8 constant public decimals = 18;

    /// @dev 15% dividends for token purchase
    uint8 constant internal entryFee_ = 20;

    /// @dev 10% dividends for token transfer
    uint8 constant internal transferFee_ = 10;

    /// @dev 25% dividends for token selling
    uint8 constant internal exitFee_ = 25;

    /// @dev 35% of entryFee_ (i.e. 7% dividends) is given to referrer
    uint8 constant internal refferalFee_ = 35;

    uint256 constant internal tokenPriceInitial_ = 0.00000001 ether;
    uint256 constant internal tokenPriceIncremental_ = 0.000000001 ether;
    uint256 constant internal magnitude = 2 ** 64;

    /// @dev proof of stake (defaults at 50 tokens)
    uint256 public stakingRequirement = 50e18;


   /*=================================
    =            DATASETS            =
    ================================*/

    // amount of shares for each address (scaled number)
    mapping(address => uint256) internal tokenBalanceLedger_;
    mapping(address => uint256) internal referralBalance_;
    mapping(address => int256) internal payoutsTo_;
    uint256 internal tokenSupply_;
    uint256 internal profitPerShare_;


    /*=======================================
    =            PUBLIC FUNCTIONS           =
    =======================================*/

    /// @dev Converts all incoming ethereum to tokens for the caller, and passes down the referral addy (if any)
    function buy(address _referredBy) public payable returns (uint256) {
        purchaseTokens(msg.value, _referredBy);
    }

    /**
     * @dev Fallback function to handle ethereum that was send straight to the contract
     *  Unfortunately we cannot use a referral address this way.
     */
    function() payable public {
        purchaseTokens(msg.value, 0x0);
    }

    /// @dev Converts all of caller's dividends to tokens.
    function reinvest() onlyStronghands public {
        // fetch dividends
        uint256 _dividends = myDividends(false); // retrieve ref. bonus later in the code

        // pay out the dividends virtually
        address _customerAddress = msg.sender;
        payoutsTo_[_customerAddress] +=  (int256) (_dividends * magnitude);

        // retrieve ref. bonus
        _dividends += referralBalance_[_customerAddress];
        referralBalance_[_customerAddress] = 0;

        // dispatch a buy order with the virtualized "withdrawn dividends"
        uint256 _tokens = purchaseTokens(_dividends, 0x0);

        // fire event
        onReinvestment(_customerAddress, _dividends, _tokens);
    }

    /// @dev Alias of sell() and withdraw().
    function exit() public {
        // get token count for caller & sell them all
        address _customerAddress = msg.sender;
        uint256 _tokens = tokenBalanceLedger_[_customerAddress];
        if (_tokens > 0) sell(_tokens);

        // lambo delivery service
        withdraw();
    }

    /// @dev Withdraws all of the callers earnings.
    function withdraw() onlyStronghands public {
        // setup data
        address _customerAddress = msg.sender;
        uint256 _dividends = myDividends(false); // get ref. bonus later in the code

        // update dividend tracker
        payoutsTo_[_customerAddress] += (int256) (_dividends * magnitude);

        // add ref. bonus
        _dividends += referralBalance_[_customerAddress];
        referralBalance_[_customerAddress] = 0;

        // lambo delivery service
        _customerAddress.transfer(_dividends);

        // fire event
        onWithdraw(_customerAddress, _dividends);
    }

    /// @dev Liquifies tokens to ethereum.
    function sell(uint256 _amountOfTokens) onlyBagholders public {
        // setup data
        address _customerAddress = msg.sender;
        // russian hackers BTFO
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);
        uint256 _tokens = _amountOfTokens;
        uint256 _ethereum = tokensToEthereum_(_tokens);
        uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, exitFee_), 100);
        uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);

        // burn the sold tokens
        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokens);
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _tokens);

        // update dividends tracker
        int256 _updatedPayouts = (int256) (profitPerShare_ * _tokens + (_taxedEthereum * magnitude));
        payoutsTo_[_customerAddress] -= _updatedPayouts;

        // dividing by zero is a bad idea
        if (tokenSupply_ > 0) {
            // update the amount of dividends per token
            profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);
        }

        // fire event
        onTokenSell(_customerAddress, _tokens, _taxedEthereum, now, buyPrice());
    }


    /**
     * @dev Transfer tokens from the caller to a new holder.
     *  Remember, there's a 15% fee here as well.
     */
    function transfer(address _toAddress, uint256 _amountOfTokens) onlyBagholders public returns (bool) {
        // setup
        address _customerAddress = msg.sender;

        // make sure we have the requested tokens
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);

        // withdraw all outstanding dividends first
        if (myDividends(true) > 0) {
            withdraw();
        }

        // liquify 10% of the tokens that are transfered
        // these are dispersed to shareholders
        uint256 _tokenFee = SafeMath.div(SafeMath.mul(_amountOfTokens, transferFee_), 100);
        uint256 _taxedTokens = SafeMath.sub(_amountOfTokens, _tokenFee);
        uint256 _dividends = tokensToEthereum_(_tokenFee);

        // burn the fee tokens
        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokenFee);

        // exchange tokens
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
        tokenBalanceLedger_[_toAddress] = SafeMath.add(tokenBalanceLedger_[_toAddress], _taxedTokens);

        // update dividend trackers
        payoutsTo_[_customerAddress] -= (int256) (profitPerShare_ * _amountOfTokens);
        payoutsTo_[_toAddress] += (int256) (profitPerShare_ * _taxedTokens);

        // disperse dividends among holders
        profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);

        // fire event
        Transfer(_customerAddress, _toAddress, _taxedTokens);

        // ERC20
        return true;
    }


    /*=====================================
    =      HELPERS AND CALCULATORS        =
    =====================================*/

    /**
     * @dev Method to view the current Ethereum stored in the contract
     *  Example: totalEthereumBalance()
     */
    function totalEthereumBalance() public view returns (uint256) {
        return this.balance;
    }

    /// @dev Retrieve the total token supply.
    function totalSupply() public view returns (uint256) {
        return tokenSupply_;
    }

    /// @dev Retrieve the tokens owned by the caller.
    function myTokens() public view returns (uint256) {
        address _customerAddress = msg.sender;
        return balanceOf(_customerAddress);
    }

    /**
     * @dev Retrieve the dividends owned by the caller.
     *  If `_includeReferralBonus` is to to 1/true, the referral bonus will be included in the calculations.
     *  The reason for this, is that in the frontend, we will want to get the total divs (global + ref)
     *  But in the internal calculations, we want them separate.
     */
    function myDividends(bool _includeReferralBonus) public view returns (uint256) {
        address _customerAddress = msg.sender;
        return _includeReferralBonus ? dividendsOf(_customerAddress) + referralBalance_[_customerAddress] : dividendsOf(_customerAddress) ;
    }

    /// @dev Retrieve the token balance of any single address.
    function balanceOf(address _customerAddress) public view returns (uint256) {
        return tokenBalanceLedger_[_customerAddress];
    }

    /// @dev Retrieve the dividend balance of any single address.
    function dividendsOf(address _customerAddress) public view returns (uint256) {
        return (uint256) ((int256) (profitPerShare_ * tokenBalanceLedger_[_customerAddress]) - payoutsTo_[_customerAddress]) / magnitude;
    }

    /// @dev Return the sell price of 1 individual token.
    function sellPrice() public view returns (uint256) {
        // our calculation relies on the token supply, so we need supply. Doh.
        if (tokenSupply_ == 0) {
            return tokenPriceInitial_ - tokenPriceIncremental_;
        } else {
            uint256 _ethereum = tokensToEthereum_(1e18);
            uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, exitFee_), 100);
            uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);

            return _taxedEthereum;
        }
    }

    /// @dev Return the buy price of 1 individual token.
    function buyPrice() public view returns (uint256) {
        // our calculation relies on the token supply, so we need supply. Doh.
        if (tokenSupply_ == 0) {
            return tokenPriceInitial_ + tokenPriceIncremental_;
        } else {
            uint256 _ethereum = tokensToEthereum_(1e18);
            uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, entryFee_), 100);
            uint256 _taxedEthereum = SafeMath.add(_ethereum, _dividends);

            return _taxedEthereum;
        }
    }

    /// @dev Function for the frontend to dynamically retrieve the price scaling of buy orders.
    function calculateTokensReceived(uint256 _ethereumToSpend) public view returns (uint256) {
        uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereumToSpend, entryFee_), 100);
        uint256 _taxedEthereum = SafeMath.sub(_ethereumToSpend, _dividends);
        uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum);

        return _amountOfTokens;
    }

    /// @dev Function for the frontend to dynamically retrieve the price scaling of sell orders.
    function calculateEthereumReceived(uint256 _tokensToSell) public view returns (uint256) {
        require(_tokensToSell <= tokenSupply_);
        uint256 _ethereum = tokensToEthereum_(_tokensToSell);
        uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, exitFee_), 100);
        uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);
        return _taxedEthereum;
    }


    /*==========================================
    =            INTERNAL FUNCTIONS            =
    ==========================================*/

    /// @dev Internal function to actually purchase the tokens.
    function purchaseTokens(uint256 _incomingEthereum, address _referredBy) internal returns (uint256) {
        // data setup
        address _customerAddress = msg.sender;
        uint256 _undividedDividends = SafeMath.div(SafeMath.mul(_incomingEthereum, entryFee_), 100);
        uint256 _referralBonus = SafeMath.div(SafeMath.mul(_undividedDividends, refferalFee_), 100);
        uint256 _dividends = SafeMath.sub(_undividedDividends, _referralBonus);
        uint256 _taxedEthereum = SafeMath.sub(_incomingEthereum, _undividedDividends);
        uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum);
        uint256 _fee = _dividends * magnitude;

        // no point in continuing execution if OP is a poorfag russian hacker
        // prevents overflow in the case that the pyramid somehow magically starts being used by everyone in the world
        // (or hackers)
        // and yes we know that the safemath function automatically rules out the "greater then" equasion.
        require(_amountOfTokens > 0 && SafeMath.add(_amountOfTokens, tokenSupply_) > tokenSupply_);

        // is the user referred by a masternode?
        if (
            // is this a referred purchase?
            _referredBy != 0x0000000000000000000000000000000000000000 &&

            // no cheating!
            _referredBy != _customerAddress &&

            // does the referrer have at least X whole tokens?
            // i.e is the referrer a godly chad masternode
            tokenBalanceLedger_[_referredBy] >= stakingRequirement
        ) {
            // wealth redistribution
            referralBalance_[_referredBy] = SafeMath.add(referralBalance_[_referredBy], _referralBonus);
        } else {
            // no ref purchase
            // add the referral bonus back to the global dividends cake
            _dividends = SafeMath.add(_dividends, _referralBonus);
            _fee = _dividends * magnitude;
        }

        // we can't give people infinite ethereum
        if (tokenSupply_ > 0) {
            // add tokens to the pool
            tokenSupply_ = SafeMath.add(tokenSupply_, _amountOfTokens);

            // take the amount of dividends gained through this transaction, and allocates them evenly to each shareholder
            profitPerShare_ += (_dividends * magnitude / tokenSupply_);

            // calculate the amount of tokens the customer receives over his purchase
            _fee = _fee - (_fee - (_amountOfTokens * (_dividends * magnitude / tokenSupply_)));
        } else {
            // add tokens to the pool
            tokenSupply_ = _amountOfTokens;
        }

        // update circulating supply & the ledger address for the customer
        tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress], _amountOfTokens);

        // Tells the contract that the buyer doesn't deserve dividends for the tokens before they owned them;
        // really i know you think you do but you don't
        int256 _updatedPayouts = (int256) (profitPerShare_ * _amountOfTokens - _fee);
        payoutsTo_[_customerAddress] += _updatedPayouts;

        // fire event
        onTokenPurchase(_customerAddress, _incomingEthereum, _amountOfTokens, _referredBy, now, buyPrice());

        return _amountOfTokens;
    }

    /**
     * @dev Calculate Token price based on an amount of incoming ethereum
     *  It's an algorithm, hopefully we gave you the whitepaper with it in scientific notation;
     *  Some conversions occurred to prevent decimal errors or underflows / overflows in solidity code.
     */
    function ethereumToTokens_(uint256 _ethereum) internal view returns (uint256) {
        uint256 _tokenPriceInitial = tokenPriceInitial_ * 1e18;
        uint256 _tokensReceived =
         (
            (
                // underflow attempts BTFO
                SafeMath.sub(
                    (sqrt
                        (
                            (_tokenPriceInitial ** 2)
                            +
                            (2 * (tokenPriceIncremental_ * 1e18) * (_ethereum * 1e18))
                            +
                            ((tokenPriceIncremental_ ** 2) * (tokenSupply_ ** 2))
                            +
                            (2 * tokenPriceIncremental_ * _tokenPriceInitial*tokenSupply_)
                        )
                    ), _tokenPriceInitial
                )
            ) / (tokenPriceIncremental_)
        ) - (tokenSupply_);

        return _tokensReceived;
    }

    /**
     * @dev Calculate token sell value.
     *  It's an algorithm, hopefully we gave you the whitepaper with it in scientific notation;
     *  Some conversions occurred to prevent decimal errors or underflows / overflows in solidity code.
     */
    function tokensToEthereum_(uint256 _tokens) internal view returns (uint256) {
        uint256 tokens_ = (_tokens + 1e18);
        uint256 _tokenSupply = (tokenSupply_ + 1e18);
        uint256 _etherReceived =
        (
            // underflow attempts BTFO
            SafeMath.sub(
                (
                    (
                        (
                            tokenPriceInitial_ + (tokenPriceIncremental_ * (_tokenSupply / 1e18))
                        ) - tokenPriceIncremental_
                    ) * (tokens_ - 1e18)
                ), (tokenPriceIncremental_ * ((tokens_ ** 2 - tokens_) / 1e18)) / 2
            )
        / 1e18);

        return _etherReceived;
    }

    /// @dev This is where all your gas goes.
    function sqrt(uint256 x) internal pure returns (uint256 y) {
        uint256 z = (x + 1) / 2;
        y = x;

        while (z < y) {
            y = z;
            z = (x / z + z) / 2;
        }
    }


}

/**
 * @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 Substracts 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;
    }

}

Contract ABI
[{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"dividendsOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_ethereumToSpend","type":"uint256"}],"name":"calculateTokensReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokensToSell","type":"uint256"}],"name":"calculateEthereumReceived","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":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakingRequirement","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_includeReferralBonus","type":"bool"}],"name":"myDividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalEthereumBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"myTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amountOfTokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_referredBy","type":"address"}],"name":"buy","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"reinvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"incomingEthereum","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"},{"indexed":true,"name":"referredBy","type":"address"},{"indexed":false,"name":"timestamp","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"onTokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"tokensBurned","type":"uint256"},{"indexed":false,"name":"ethereumEarned","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"onTokenSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumReinvested","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"}],"name":"onReinvestment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumWithdrawn","type":"uint256"}],"name":"onWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"}]

Contract Creation Code
606060405260408051908101604052601581527f50726f6f66206f6620547265766f6e204a616d65730000000000000000000000602082015260009080516200004d929160200190620000b7565b5060408051908101604052600481527f506f544a000000000000000000000000000000000000000000000000000000006020820152600190805162000097929160200190620000b7565b506802b5e3af16b18800006002553415620000b157600080fd5b6200015c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000fa57805160ff19168380011785556200012a565b828001600101855582156200012a579182015b828111156200012a5782518255916020019190600101906200010d565b50620001389291506200013c565b5090565b6200015991905b8082111562000138576000815560010162000143565b90565b610f8d806200016c6000396000f3006060604052600436106101105763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166265318b811461011e57806306fdde031461014f57806310d0ffdd146101d957806318160ddd146101ef5780632260937314610202578063313ce567146102185780633ccfd60b146102415780634b7503341461025657806356d399e814610269578063688abbf71461027c5780636b2f46321461029457806370a08231146102a75780638620410b146102c6578063949e8acd146102d957806395d89b41146102ec578063a9059cbb146102ff578063e4849b3214610335578063e9fad8ee1461034b578063f088d5471461035e578063fdb5a03e14610372575b61011b346000610385565b50005b341561012957600080fd5b61013d600160a060020a03600435166105ed565b60405190815260200160405180910390f35b341561015a57600080fd5b610162610628565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561019e578082015183820152602001610186565b50505050905090810190601f1680156101cb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101e457600080fd5b61013d6004356106c6565b34156101fa57600080fd5b61013d6106f9565b341561020d57600080fd5b61013d6004356106ff565b341561022357600080fd5b61022b61073b565b60405160ff909116815260200160405180910390f35b341561024c57600080fd5b610254610740565b005b341561026157600080fd5b61013d61080c565b341561027457600080fd5b61013d610863565b341561028757600080fd5b61013d6004351515610869565b341561029f57600080fd5b61013d6108ac565b34156102b257600080fd5b61013d600160a060020a03600435166108ba565b34156102d157600080fd5b61013d6108d5565b34156102e457600080fd5b61013d610920565b34156102f757600080fd5b610162610932565b341561030a57600080fd5b610321600160a060020a036004351660243561099d565b604051901515815260200160405180910390f35b341561034057600080fd5b610254600435610b48565b341561035657600080fd5b610254610cc4565b61013d600160a060020a0360043516610cfb565b341561037d57600080fd5b610254610d07565b600033818080808080806103a461039d8c6014610dc2565b6064610df8565b96506103b461039d886023610dc2565b95506103c08787610e0f565b94506103cc8b88610e0f565b93506103d784610e21565b9250680100000000000000008502915060008311801561040157506006546103ff8482610eb3565b115b151561040c57600080fd5b600160a060020a038a1615801590610436575087600160a060020a03168a600160a060020a031614155b801561045c5750600254600160a060020a038b1660009081526003602052604090205410155b156104a257600160a060020a038a166000908152600460205260409020546104849087610eb3565b600160a060020a038b166000908152600460205260409020556104bd565b6104ac8587610eb3565b945068010000000000000000850291505b60006006541115610521576104d460065484610eb3565b60068190556801000000000000000086028115156104ee57fe5b6007805492909104909101905560065468010000000000000000860281151561051357fe5b048302820382039150610527565b60068390555b600160a060020a03881660009081526003602052604090205461054a9084610eb3565b600160a060020a03808a166000818152600360209081526040808320959095556007546005909152939020805493870286900393840190559192508b16907f8032875b28d82ddbd303a9e4e5529d047a14ecb6290f80012a81b7e6227ff1ab8d86426105b46108d5565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a350909998505050505050505050565b600160a060020a0316600090815260056020908152604080832054600390925290912054600754680100000000000000009102919091030490565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106be5780601f10610693576101008083540402835291602001916106be565b820191906000526020600020905b8154815290600101906020018083116106a157829003601f168201915b505050505081565b60008080806106d961039d866014610dc2565b92506106e58584610e0f565b91506106f082610e21565b95945050505050565b60065490565b600080600080600654851115151561071657600080fd5b61071f85610ec2565b925061072f61039d846019610dc2565b91506106f08383610e0f565b601281565b600080600061074f6001610869565b1161075957600080fd5b3391506107666000610869565b600160a060020a0383166000818152600560209081526040808320805468010000000000000000870201905560049091528082208054929055920192509082156108fc0290839051600060405180830381858888f1935050505015156107cb57600080fd5b81600160a060020a03167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc8260405190815260200160405180910390a25050565b6000806000806006546000141561082a57640218711a00935061085d565b61083b670de0b6b3a7640000610ec2565b925061084b61039d846019610dc2565b91506108578383610e0f565b90508093505b50505090565b60025481565b6000338261087f5761087a816105ed565b6108a3565b600160a060020a0381166000908152600460205260409020546108a1826105ed565b015b91505b50919050565b600160a060020a0330163190565b600160a060020a031660009081526003602052604090205490565b600080600080600654600014156108f35764028fa6ae00935061085d565b610904670de0b6b3a7640000610ec2565b925061091461039d846014610dc2565b91506108578383610eb3565b60003361092c816108ba565b91505090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106be5780601f10610693576101008083540402835291602001916106be565b6000806000806000806109ae610920565b116109b857600080fd5b33600160a060020a0381166000908152600360205260409020549094508611156109e157600080fd5b60006109ed6001610869565b11156109fb576109fb610740565b610a0961039d87600a610dc2565b9250610a158684610e0f565b9150610a2083610ec2565b9050610a2e60065484610e0f565b600655600160a060020a038416600090815260036020526040902054610a549087610e0f565b600160a060020a038086166000908152600360205260408082209390935590891681522054610a839083610eb3565b600160a060020a0388811660008181526003602090815260408083209590955560078054948a16835260059091528482208054948c02909403909355825491815292909220805492850290920190915554600654610af79190680100000000000000008402811515610af157fe5b04610eb3565b600755600160a060020a038088169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060019695505050505050565b6000806000806000806000610b5b610920565b11610b6557600080fd5b33600160a060020a038116600090815260036020526040902054909650871115610b8e57600080fd5b869450610b9a85610ec2565b9350610baa61039d856019610dc2565b9250610bb68484610e0f565b9150610bc460065486610e0f565b600655600160a060020a038616600090815260036020526040902054610bea9086610e0f565b600160a060020a0387166000908152600360209081526040808320939093556007546005909152918120805492880268010000000000000000860201928390039055600654919250901115610c5b57610c57600754600654680100000000000000008602811515610af157fe5b6007555b85600160a060020a03167f8d3a0130073dbd54ab6ac632c05946df540553d3b514c9f8165b4ab7f2b1805e868442610c916108d5565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a250505050505050565b33600160a060020a03811660009081526003602052604081205490811115610cef57610cef81610b48565b610cf7610740565b5050565b60006108a63483610385565b600080600080610d176001610869565b11610d2157600080fd5b610d2b6000610869565b33600160a060020a038116600090815260056020908152604080832080546801000000000000000087020190556004909152812080549082905590920194509250610d77908490610385565b905081600160a060020a03167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab3615326458848360405191825260208201526040908101905180910390a2505050565b600080831515610dd55760009150610df1565b50828202828482811515610de557fe5b0414610ded57fe5b8091505b5092915050565b6000808284811515610e0657fe5b04949350505050565b600082821115610e1b57fe5b50900390565b6006546000906b204fce5e3e25026110000000908290633b9aca00610ea0610e9a7259aedfc10d7279c5eed140164540000000000088026002850a670de0b6b3a764000002016f0f0bdc21abb48db201e86d40000000008502017704140c78940f6a24fdffc78873d4490d210000000000000001610f2c565b85610e0f565b811515610ea957fe5b0403949350505050565b600082820183811015610ded57fe5b600654600090670de0b6b3a7640000838101918101908390610f19640218711a00828504633b9aca0002018702600283670de0b6b3a763ffff1982890a8b90030104633b9aca0002811515610f1357fe5b04610e0f565b811515610f2257fe5b0495945050505050565b80600260018201045b818110156108a6578091506002818285811515610f4e57fe5b0401811515610f5957fe5b049050610f355600a165627a7a72305820ae4b88f50b406a7a09a38f04fa4be89df8d2f5bf3e029f8320e56dcf651469010029


   Swarm Source:
bzzr://ae4b88f50b406a7a09a38f04fa4be89df8d2f5bf3e029f8320e56dcf65146901
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.