Sponsored:   Color Platform: Decentralized App Store - Special Airdrop For Everyone (~17 Sep), Register NOW!
Contract Overview
Balance: 0.153594346723987203 Ether
Ether Value: $34.44 (@ $224.20/ETH)
Transactions: 59 txns
Token Tracker: Jiggs Rezurrection (Jiggs)
 Latest 25 txns From a total of 59 Transactions

TxHash Age From To Value [TxFee]
0x5624b9f70b0a8bda9ab905115fde5f5c76a6fb5085cb874406c52330c9f320fe64 days 3 hrs ago0xc7f15d0238d207e19cce6bd6c0b85f343896f046  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.000745005
0x9de7b9c7d82ea529fc9dbc64317208a6bb684b0fcb3131e7306510bb2dff798664 days 3 hrs ago0xc7f15d0238d207e19cce6bd6c0b85f343896f046  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.000248335
0xb4eb2ba2e0a8fc83d68d37545ba4e65018ce1b02f926ca6b571b976ff8f8913f64 days 3 hrs ago0xc7f15d0238d207e19cce6bd6c0b85f343896f046  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.0003228355
0x3931993bf97fd0e7f388099f3b7d99b6e248467c23a1d6f975a71364ee72ea3364 days 3 hrs ago0xc7f15d0238d207e19cce6bd6c0b85f343896f046  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310.01 Ether0.0018384612
0x1a9faab081a74aa3cda94ba93134624b294f5adabf465d5428ea70f68d29839f67 days 10 hrs ago0x074f21a36217d7615d0202faa926aefebb5a9999  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.00091364
0x4f1a46663692d1bc337828347752b2b96b5598e10360d399fec9822390ae29df67 days 16 hrs ago0x074f21a36217d7615d0202faa926aefebb5a9999  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.0028739667
0x2614e2208b08037cafea8cd2560f3ac08a9e71093529f685b7dcbe2c5a9c1e8668 days 7 hrs ago0xe8b1c589e86def7563ad43bebddb7b1677bec9a9  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.001347229
0x3578cf05689059601d6e646a933d31419cfb8942ab5732cc7f3e6a27bf764ff168 days 7 hrs ago0xe8b1c589e86def7563ad43bebddb7b1677bec9a9  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.001639011
0xe0b30573703bf5a6347f2357493bf3c838be06db7c6c06823f8d2ab23535f4d768 days 7 hrs ago0xe8b1c589e86def7563ad43bebddb7b1677bec9a9  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.001564524
0xe04aaa1871fcb5043d16453a99d4d46c615bc3db4dcb21ef27e7870ca9d42ef468 days 7 hrs ago0x3b0535c602078a22a9954209b3556549c4e5e987  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.00113377704
0x43a6e168ce2a4cc45fa06f7c9553a7143080d26782769e0b331f59627355913968 days 7 hrs ago0x41271507434e21dbd5f09624181d7cd70bf06cbf  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.00169389
0x1381670e9bbf06d01e6b39ac048f52e42a631ad338c8b688b3fbd51b7823025468 days 8 hrs ago0xe8b1c589e86def7563ad43bebddb7b1677bec9a9  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.002953132
0xb7a50266b6615aa780b1f27056228b0c7bbe586551baeaa23531be3de923aa0a68 days 8 hrs ago0xe8b1c589e86def7563ad43bebddb7b1677bec9a9  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310.1 Ether0.002401714
0x4af8947fcc7e9ae79ae120dd3be182e215471df2da75c776137e77bd1b35d44068 days 8 hrs ago0x41271507434e21dbd5f09624181d7cd70bf06cbf  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310.26 Ether0.002909115
0x4a73c4016a6fb4650bf40c158981520b271340fa54e982efc6c136d1e351cced68 days 8 hrs ago0x41271507434e21dbd5f09624181d7cd70bf06cbf  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.001955655
0x55c187c27161859beab7942f01f9be55cea85e4f3615edd7889b00efd0985a3f68 days 8 hrs ago0x41271507434e21dbd5f09624181d7cd70bf06cbf  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.001243275
0xdc832194c2e28185ae74c4edf872253c7908ff91343983b6199bf2c320ab463368 days 10 hrs ago0xc6d4a4a0bf0507749d4a23c9550a826207b5d94b  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.0045805786
0xe36f5df8169d52b05914334f3d833f25ad3baafa71aa475a9f78856a257a2f5c68 days 10 hrs ago0xe206201116978a48080c4b65cfa4ae9f03da3f0d  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.0022978046
0x560fda34718e761fee702a1c27284c42162db48ffa80c215519dfa5c3be08ea468 days 10 hrs ago0xe206201116978a48080c4b65cfa4ae9f03da3f0d  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.0038461215
0x4a006541e840988005f664179ca64db2f91ad369b07c35485102fd0ba84e55f368 days 15 hrs ago0xe40ffea88309174321ef230e10bfccc7c2687f76  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.002817441
0xe534b3ae37e3d6ad6b98a4b6da921b4ae0d7521f43e14f007e4f5ac47267e82968 days 15 hrs ago0xe206201116978a48080c4b65cfa4ae9f03da3f0d  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.00427647
0x5124949a56ec47ee89c10721b2a74d4e5271f5c2f49d0d6c360e736e592d6f7168 days 15 hrs ago0xe8b1c589e86def7563ad43bebddb7b1677bec9a9  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.00304213
0xe8eb782804d307fdce50507b0e355849a1dc9064827b9ac66715b4360fb074cf68 days 16 hrs ago0xe8b1c589e86def7563ad43bebddb7b1677bec9a9  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.00348565
0x3f0676ba35dcd7d081306626870510ab817f2f9cfe926e510cecb5382cf0f91f68 days 16 hrs ago0xe8b1c589e86def7563ad43bebddb7b1677bec9a9  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.002824835
0xe6e879fc243295c736dc2100341c4f1743af0000312fc1729d1ad0e762a531f068 days 16 hrs ago0xc6d4a4a0bf0507749d4a23c9550a826207b5d94b  IN   0x5216c8d4e0f29285b5c8805810487c5277788e310 Ether0.002306941
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 21 Internal Transactions

ParentTxHash Block Age From To Value
0x4f1a46663692d1bc337828347752b2b96b5598e10360d399fec9822390ae29df596819167 days 16 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310x074f21a36217d7615d0202faa926aefebb5a99990.020112210793504019 Ether
0x2614e2208b08037cafea8cd2560f3ac08a9e71093529f685b7dcbe2c5a9c1e86596459768 days 7 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310xe8b1c589e86def7563ad43bebddb7b1677bec9a90.014195010751903405 Ether
0xe0b30573703bf5a6347f2357493bf3c838be06db7c6c06823f8d2ab23535f4d7596456568 days 7 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310xe8b1c589e86def7563ad43bebddb7b1677bec9a90.030476320950864966 Ether
0xe04aaa1871fcb5043d16453a99d4d46c615bc3db4dcb21ef27e7870ca9d42ef4596453668 days 7 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310x3b0535c602078a22a9954209b3556549c4e5e9870.016934784594115009 Ether
0x43a6e168ce2a4cc45fa06f7c9553a7143080d26782769e0b331f596273559139596450868 days 7 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310x41271507434e21dbd5f09624181d7cd70bf06cbf0.259586693976535811 Ether
0x4a73c4016a6fb4650bf40c158981520b271340fa54e982efc6c136d1e351cced596425568 days 8 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310x41271507434e21dbd5f09624181d7cd70bf06cbf0.091545207752304079 Ether
0xdc832194c2e28185ae74c4edf872253c7908ff91343983b6199bf2c320ab4633596379568 days 10 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310xc6d4a4a0bf0507749d4a23c9550a826207b5d94b0.000000659703917822 Ether
0x560fda34718e761fee702a1c27284c42162db48ffa80c215519dfa5c3be08ea4596379468 days 10 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310xe206201116978a48080c4b65cfa4ae9f03da3f0d0.0939538311191533 Ether
0x4a006541e840988005f664179ca64db2f91ad369b07c35485102fd0ba84e55f3596251568 days 15 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310xe40ffea88309174321ef230e10bfccc7c2687f760.093790832667443645 Ether
0x5124949a56ec47ee89c10721b2a74d4e5271f5c2f49d0d6c360e736e592d6f71596237568 days 15 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310xe8b1c589e86def7563ad43bebddb7b1677bec9a90.057972269909190411 Ether
0x3f0676ba35dcd7d081306626870510ab817f2f9cfe926e510cecb5382cf0f91f596233568 days 16 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310xe8b1c589e86def7563ad43bebddb7b1677bec9a90.042917273666326047 Ether
0x84aa993e687d0d151fd3789127a3a754c56f3c1d5b8b79a32e3afff2c3c5ed3e596225468 days 16 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310xc6d4a4a0bf0507749d4a23c9550a826207b5d94b0.030100755787314687 Ether
0x5cbe598178b9d1c3197857326f53723fd38476c4d1b708d4427764784422057b596223068 days 16 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310xc6d4a4a0bf0507749d4a23c9550a826207b5d94b0.047949392605587786 Ether
0x1d412535228c7abad2727bdd49041ba6514985cf27d88bc333070321297e0a4d596102468 days 21 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310x908599102d61a59f9a4458d73b944ec2f66f3b4f0.47671065654287896 Ether
0xaef020ec3802c2ba0e0ef4b4b4c29bb85cc5a7c1a0faec3e88f0207b42de0506596098868 days 21 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310xe8b1c589e86def7563ad43bebddb7b1677bec9a90.011181259237626799 Ether
0x14516e1abc1b2b50019592c8c8862a7b776de490fca29d641e9156c2153317ef595808969 days 8 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310xe8b1c589e86def7563ad43bebddb7b1677bec9a90.046567530850130521 Ether
0x160b467ad368704cecee8111211f3dfb60d57ea06c377ffccadcdf4c050a43ce595806469 days 9 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310xe40ffea88309174321ef230e10bfccc7c2687f760.508783397105201465 Ether
0xcfd90b47b8c8f1c55e475222c67ef2673604f3bc846229ba889a7e755b1af3a1595800369 days 9 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310xe40ffea88309174321ef230e10bfccc7c2687f760.071364991508212434 Ether
0x2005b22891df65bb90eaa0a801088c260c74ec693b70b8d413eefe2932c7dacb595467169 days 22 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310xe40ffea88309174321ef230e10bfccc7c2687f760.231791808137738238 Ether
0x56b6ab5f82de8dc7f25fa44c04199e09ce7f778238655d44dba8c93b249cdf2a595404470 days 1 hr ago0x5216c8d4e0f29285b5c8805810487c5277788e310xe8b1c589e86def7563ad43bebddb7b1677bec9a90.007281021646272162 Ether
0xe6802ddce4dc1a423a6224e1628e7d4b243c3a9cdc989ad15d558c59cf6d84eb595270070 days 6 hrs ago0x5216c8d4e0f29285b5c8805810487c5277788e310xe8b1c589e86def7563ad43bebddb7b1677bec9a90.012889743969791231 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: JiggsRezurrection
Compiler Text: v0.4.20+commit.3155dd80
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.20;

/*
* JIGSAW IS BACK
*
* YOU TOUGHT THE GAME WAS OVER? THINK AGAIN 
* ARE YOU READY TO PARTICIPATE? OR ARE YOU AFRAID? MAKE JIGSAW LAUGH!
* https://discord.gg/ZxEja6a
* Jiggs.io is the only official website!
* Only 1 token to activate your masterkey
* 20% IN / 25% OUT / 50% MASTERNODE - DONT LIKE IT? STAY AWAY! DIVIDENDS LOVERS ONLY!
* NO FUNNY ADMINISTRATOR/AMBASSADOR FUNCTIONS, FREEDOM TO EVERYONE!
* NO DEV FEES, WHO NEED DEV FEES IF THE SITE KEEPS RUNNING FOR $10 A MONTH? WHAT A BULLSHIT
*/


contract JiggsRezurrection {


    /*=================================
    =            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 = "Jiggs Rezurrection";
    string public symbol = "Jiggs";
    uint8 constant public decimals = 18;

    /// NO BULLSHIT, WE ARE HERE TO EARN DIVIDENDS
    uint8 constant internal entryFee_ = 25;

    /// THE AIR IS FOR FREE
    uint8 constant internal transferFee_ = 10;

    /// NO MERCY WITH A EXIT EITHER
    uint8 constant internal exitFee_ = 25;

    /// LETS GO CRAZY LIKE JIGSAW IS, EVERYTHING UNDER 50 MAKES HAVING A MASTERNODE USELESS
    uint8 constant internal refferalFee_ = 50;

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

    /// TOUCH 1 JIGGS FOR A MASTERNODE
    uint256 public stakingRequirement = 1e18;


   /*=================================
    =            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 Switch To Opcodes View
606060405260408051908101604052601281527f4a696767732052657a757272656374696f6e0000000000000000000000000000602082015260009080516200004d929160200190620000b6565b5060408051908101604052600581527f4a696767730000000000000000000000000000000000000000000000000000006020820152600190805162000097929160200190620000b6565b50670de0b6b3a76400006002553415620000b057600080fd5b6200015b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000f957805160ff191683800117855562000129565b8280016001018555821562000129579182015b82811115620001295782518255916020019190600101906200010c565b50620001379291506200013b565b5090565b6200015891905b8082111562000137576000815560010162000142565b90565b610f88806200016b6000396000f3006060604052600436106101105763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166265318b811461011e57806306fdde031461014f57806310d0ffdd146101d957806318160ddd146101ef5780632260937314610202578063313ce567146102185780633ccfd60b146102415780634b7503341461025657806356d399e814610269578063688abbf71461027c5780636b2f46321461029457806370a08231146102a75780638620410b146102c6578063949e8acd146102d957806395d89b41146102ec578063a9059cbb146102ff578063e4849b3214610335578063e9fad8ee1461034b578063f088d5471461035e578063fdb5a03e14610372575b61011b346000610385565b50005b341561012957600080fd5b61013d600160a060020a03600435166105ed565b60405190815260200160405180910390f35b341561015a57600080fd5b610162610628565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561019e578082015183820152602001610186565b50505050905090810190601f1680156101cb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101e457600080fd5b61013d6004356106c6565b34156101fa57600080fd5b61013d6106f9565b341561020d57600080fd5b61013d6004356106ff565b341561022357600080fd5b61022b61073b565b60405160ff909116815260200160405180910390f35b341561024c57600080fd5b610254610740565b005b341561026157600080fd5b61013d61080c565b341561027457600080fd5b61013d610863565b341561028757600080fd5b61013d6004351515610869565b341561029f57600080fd5b61013d6108ac565b34156102b257600080fd5b61013d600160a060020a03600435166108ba565b34156102d157600080fd5b61013d6108d5565b34156102e457600080fd5b61013d61091f565b34156102f757600080fd5b610162610931565b341561030a57600080fd5b610321600160a060020a036004351660243561099c565b604051901515815260200160405180910390f35b341561034057600080fd5b610254600435610b47565b341561035657600080fd5b610254610cc3565b61013d600160a060020a0360043516610cfa565b341561037d57600080fd5b610254610d06565b600033818080808080806103a461039d8c6019610dc1565b6064610df7565b96506103b461039d886032610dc1565b95506103c08787610e0e565b94506103cc8b88610e0e565b93506103d784610e20565b9250680100000000000000008502915060008311801561040157506006546103ff8482610eae565b115b151561040c57600080fd5b600160a060020a038a1615801590610436575087600160a060020a03168a600160a060020a031614155b801561045c5750600254600160a060020a038b1660009081526003602052604090205410155b156104a257600160a060020a038a166000908152600460205260409020546104849087610eae565b600160a060020a038b166000908152600460205260409020556104bd565b6104ac8587610eae565b945068010000000000000000850291505b60006006541115610521576104d460065484610eae565b60068190556801000000000000000086028115156104ee57fe5b6007805492909104909101905560065468010000000000000000860281151561051357fe5b048302820382039150610527565b60068390555b600160a060020a03881660009081526003602052604090205461054a9084610eae565b600160a060020a03808a166000818152600360209081526040808320959095556007546005909152939020805493870286900393840190559192508b16907f8032875b28d82ddbd303a9e4e5529d047a14ecb6290f80012a81b7e6227ff1ab8d86426105b46108d5565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a350909998505050505050505050565b600160a060020a0316600090815260056020908152604080832054600390925290912054600754680100000000000000009102919091030490565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106be5780601f10610693576101008083540402835291602001916106be565b820191906000526020600020905b8154815290600101906020018083116106a157829003601f168201915b505050505081565b60008080806106d961039d866019610dc1565b92506106e58584610e0e565b91506106f082610e20565b95945050505050565b60065490565b600080600080600654851115151561071657600080fd5b61071f85610ebd565b925061072f61039d846019610dc1565b91506106f08383610e0e565b601281565b600080600061074f6001610869565b1161075957600080fd5b3391506107666000610869565b600160a060020a0383166000818152600560209081526040808320805468010000000000000000870201905560049091528082208054929055920192509082156108fc0290839051600060405180830381858888f1935050505015156107cb57600080fd5b81600160a060020a03167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc8260405190815260200160405180910390a25050565b6000806000806006546000141561082a576335a4e8ff19935061085d565b61083b670de0b6b3a7640000610ebd565b925061084b61039d846019610dc1565b91506108578383610e0e565b90508093505b50505090565b60025481565b6000338261087f5761087a816105ed565b6108a3565b600160a060020a0381166000908152600460205260409020546108a1826105ed565b015b91505b50919050565b600160a060020a0330163190565b600160a060020a031660009081526003602052604090205490565b600080600080600654600014156108f257634190ab00935061085d565b610903670de0b6b3a7640000610ebd565b925061091361039d846019610dc1565b91506108578383610eae565b60003361092b816108ba565b91505090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106be5780601f10610693576101008083540402835291602001916106be565b6000806000806000806109ad61091f565b116109b757600080fd5b33600160a060020a0381166000908152600360205260409020549094508611156109e057600080fd5b60006109ec6001610869565b11156109fa576109fa610740565b610a0861039d87600a610dc1565b9250610a148684610e0e565b9150610a1f83610ebd565b9050610a2d60065484610e0e565b600655600160a060020a038416600090815260036020526040902054610a539087610e0e565b600160a060020a038086166000908152600360205260408082209390935590891681522054610a829083610eae565b600160a060020a0388811660008181526003602090815260408083209590955560078054948a16835260059091528482208054948c02909403909355825491815292909220805492850290920190915554600654610af69190680100000000000000008402811515610af057fe5b04610eae565b600755600160a060020a038088169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060019695505050505050565b6000806000806000806000610b5a61091f565b11610b6457600080fd5b33600160a060020a038116600090815260036020526040902054909650871115610b8d57600080fd5b869450610b9985610ebd565b9350610ba961039d856019610dc1565b9250610bb58484610e0e565b9150610bc360065486610e0e565b600655600160a060020a038616600090815260036020526040902054610be99086610e0e565b600160a060020a0387166000908152600360209081526040808320939093556007546005909152918120805492880268010000000000000000860201928390039055600654919250901115610c5a57610c56600754600654680100000000000000008602811515610af057fe5b6007555b85600160a060020a03167f8d3a0130073dbd54ab6ac632c05946df540553d3b514c9f8165b4ab7f2b1805e868442610c906108d5565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a250505050505050565b33600160a060020a03811660009081526003602052604081205490811115610cee57610cee81610b47565b610cf6610740565b5050565b60006108a63483610385565b600080600080610d166001610869565b11610d2057600080fd5b610d2a6000610869565b33600160a060020a038116600090815260056020908152604080832080546801000000000000000087020190556004909152812080549082905590920194509250610d76908490610385565b905081600160a060020a03167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab3615326458848360405191825260208201526040908101905180910390a2505050565b600080831515610dd45760009150610df0565b50828202828482811515610de457fe5b0414610dec57fe5b8091505b5092915050565b6000808284811515610e0557fe5b04949350505050565b600082821115610e1a57fe5b50900390565b6006546000906a52b7d2dcc80cd2e4000000908290633b9aca00610e9b610e957259aedfc10d7279c5eed140164540000000000088026002850a670de0b6b3a764000002016e2684c2e58e9b04570f1fd000000000850201751aba4714957d300d0e549208b31adb1000000000000001610f27565b85610e0e565b811515610ea457fe5b0403949350505050565b600082820183811015610dec57fe5b600654600090670de0b6b3a7640000838101918101908390610f146335a4e8ff19828504633b9aca0002018702600283670de0b6b3a763ffff1982890a8b90030104633b9aca0002811515610f0e57fe5b04610e0e565b811515610f1d57fe5b0495945050505050565b80600260018201045b818110156108a6578091506002818285811515610f4957fe5b0401811515610f5457fe5b049050610f305600a165627a7a72305820b124b5c0254645b3bd65e7d68af9ef02981c6dd4494bca39ce764971847f3d300029

   Swarm Source:
bzzr://b124b5c0254645b3bd65e7d68af9ef02981c6dd4494bca39ce764971847f3d30

 

View All
Block Age transaction Difficulty 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.