Contract Overview
Balance: 26.060664698637848292 Ether
Ether Value: $4,629.94 (@ $177.66/ETH)
Transactions: 389 txns
Token Tracker: Proof of EIF (EIF)
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x7c76a64ac61d1eeafe2b8af6f7f0a6a1890418f3at txn 0xa7ca992a65ae8ea8b3546bc81623c478a07f53eb6dca1f9da9f9e7d14803fbbb
 Latest 25 transactions from a total of 389 transactions

TxHash Age From To Value [TxFee]
0x6ed85ac743d8fc0101c1b2f14e7f30f25b3a8e62a9354ce5e7136790739599491 hr 47 mins ago0xd3e60f828d3bb2994c5f03179470ea7fdaf8dad6  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.000261498
0x082f84155bfbcf4da5faa780a542d81a83ce8902ab1ad3b2e8f3908b81ef3ca11 hr 48 mins ago0xd3e60f828d3bb2994c5f03179470ea7fdaf8dad6  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.00034137
0x91970d1b3e34487b6b5e80ea5030e388101a2b4091581e64f36093cae3cf22b42 hrs 11 mins ago0xd3e60f828d3bb2994c5f03179470ea7fdaf8dad6  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.001063616
0xe9c8fc7e31839bcb25f3c1c5ab2426e776d5dfaead97794077d94b6686c0a6c07 hrs 20 mins ago0x7a5c4caf90e9211d7d474918f764ebdc2f9ec1a3  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.000943616
0x2e49fb44e2094c783e88ae11d868cdb9a19ea53849167eb6041fe2514b64b3e812 hrs 3 mins ago0x7c76a64ac61d1eeafe2b8af6f7f0a6a1890418f3  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.000303163
0xf6cca725a76832f828a48f154f6b7384387e5e702d2629db455b21a102101b3413 hrs 32 mins ago0xe012157d741d568d5f14ddc6bbb724e9132ca86d  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.000353856
0x6424c74914a3a5e837b5f12c357122d5e510ea754c00eedd4697f0b3e0be8a8321 hrs 17 mins ago0x4a42500b817439cf9b10b4d3edf68bb63ed0a89b  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.00028583
0xf4e4a49329f763ac2a57e8f6c66685cdead533271105fcfa7881b916cdc60a9e21 hrs 19 mins ago0x4a42500b817439cf9b10b4d3edf68bb63ed0a89b  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.00056895
0x4eae9ba53b595da89b7b2aa0074682208cc93bf2706ae278ef4463912a120de01 day 27 mins ago0xd3e60f828d3bb2994c5f03179470ea7fdaf8dad6  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.00117952
0x48beee943f70c82441c07f40b7c87569180ecee6ffdd1a08a9145db142c881ee1 day 1 hr ago0xec31176d4df0509115abc8065a8a3f8275aaff2b  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.00058976
0x7b0ab06cb7d15dfd46e44bb6ceb7ed51023d294cd216d8d0caec0183326141b11 day 4 hrs ago0x4a42500b817439cf9b10b4d3edf68bb63ed0a89b  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.000825664
0x1002585c0c6a6ea90c7cfb3e625bbecfe1f575cc2b89e5c66a534a21ab3a335a1 day 4 hrs ago0x4a42500b817439cf9b10b4d3edf68bb63ed0a89b  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c81.9 Ether0.000530285
0x3c65f2107df36ff66ef5a303e5c85f1d05efd049d3acafd066eda204882017c11 day 4 hrs ago0x5b81e57c809922009a874fe27f4df402ccef5e6a  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80.05 Ether0.001407888
0xcceb71a2e9e092eaced36f979090870a76e89a612303585a22e90d1956c8f5711 day 9 hrs ago0x7c76a64ac61d1eeafe2b8af6f7f0a6a1890418f3  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c81.5 Ether0.000530285
0x25676522d6139f0bb7c048c0e0d29ce7e11d3cd572776a6548f4daad56de977e1 day 9 hrs ago0x7c76a64ac61d1eeafe2b8af6f7f0a6a1890418f3  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.000259854
0xd22441cf462fdbf851b90b8975b167c1062c989aa01a9e69ae61af2eeade10891 day 12 hrs ago0x87be304002701be4cc7f403eb1ce5090b263340c  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.00058976
0x1fa75a2263a5426895834d12ee3cd99eaedcf03ee8c322fa7936898478fd35f11 day 16 hrs ago0x1243dff2c50c48038f1a913867cfe16d17e9f398  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.00058976
0x11b0fcfd70728499bf00f66b90f27c482d25572d0923372d90ff738b99e7cec71 day 17 hrs ago0xec31176d4df0509115abc8065a8a3f8275aaff2b  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.00117952
0x0d4d9d10063c333b8c1273bb3631b6f7cb647686475ef078e14a7bab38d958a61 day 20 hrs ago0x12408426e55bb6fbef11fb9ef895292c39bf3175  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.000823616
0x0be3af85b59557c9d3f1d182f5bef262136226a43d00d2f5d53f94d0afb4b8fc1 day 20 hrs ago0x7cfa43ddf6509381a4ae95d9b5b091cd8b52a7fa  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.000823616
0x04d49f30365db4486086faa3fa170698b7494266a02d504f6a26d99d1790df211 day 20 hrs ago0x9d0749b4d44dd8e088fd6389c331f8be05c41747  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.00073976
0xfa74762d28e1feb1c4e828675a93265ee4eed786b1a71e9611356d64aa7a7d822 days 7 hrs ago0x7a5c4caf90e9211d7d474918f764ebdc2f9ec1a3  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.00051476
0xaf60e7d92314995ec904293aa5fc36f557ffbbbbd2f79c97c6e3f9716f8833eb2 days 15 hrs ago0x4a42500b817439cf9b10b4d3edf68bb63ed0a89b  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.00051476
0xac515fa6ea178fd1e78809ab3855347e671a6d8013034ec58c500d9a70c125ed2 days 18 hrs ago0x21db5ce96df3b94a9def892b01f8a5a061630a9e  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80 Ether0.000303163
0x610717fef730e1642e5c1451144609468a69b646314dbe6f082e7cf27adc3aea2 days 18 hrs ago0x87a7e71d145187ee9aadc86954d39cf0e9446751  IN   0xffb8cca6d55762df595f21e78f21cd8dfeadf1c81.9 Ether0.000636342
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click here To View More View All
ParentTxHash Block Age From To Value
0x6ed85ac743d8fc0101c1b2f14e7f30f25b3a8e62a9354ce5e71367907395994967141191 hr 47 mins ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80xd3e60f828d3bb2994c5f03179470ea7fdaf8dad60.553371324718430794 Ether
0x2e49fb44e2094c783e88ae11d868cdb9a19ea53849167eb6041fe2514b64b3e8671146112 hrs 3 mins ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80x0111e8a755a4212e6e1f13e75b1eaba8f837a2130.20908136046144471 Ether
0x6424c74914a3a5e837b5f12c357122d5e510ea754c00eedd4697f0b3e0be8a83670910421 hrs 17 mins ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80x4a42500b817439cf9b10b4d3edf68bb63ed0a89b0.389946832886846562 Ether
0x25676522d6139f0bb7c048c0e0d29ce7e11d3cd572776a6548f4daad56de977e67060251 day 9 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80x0111e8a755a4212e6e1f13e75b1eaba8f837a2130.013707482765991585 Ether
0xac515fa6ea178fd1e78809ab3855347e671a6d8013034ec58c500d9a70c125ed66976312 days 18 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80x0111e8a755a4212e6e1f13e75b1eaba8f837a2130.164366762 Ether
0x412faa7f8a519aafa90950768242b6e4b009457b1665a660b6c3b8668a1a354466953443 days 3 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80xd3e60f828d3bb2994c5f03179470ea7fdaf8dad60.023484048537621514 Ether
0xaccbac48b4fd28f732b863d99e1b6a7520633fbd4e126972c448cfb9e370c94c66944903 days 7 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80x233a5180a19717d047999508a34c2dfbfdb25e780.008893394294264001 Ether
0x2825483b95d6ce152fdfda85bb49e7bb92a00475c4b21bfce297a006345310f866942893 days 7 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80x0111e8a755a4212e6e1f13e75b1eaba8f837a2130.004263169340752944 Ether
0xd69e259e75b0b6390698134df946c3d107344c01632b4412e8c367113f5d6cbf66927383 days 13 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80x530d83ab58e9ec666edd273288088a856c8927f10.115351768195375712 Ether
0xbea4a8c6efe06cd10089cb68031c0c88eb395d3ac7ac1b177ca5833b4df1ab1266920413 days 16 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80x21add73393635b26710c7689519a98b09ecdc4740.100931480473960789 Ether
0xe1457d95fd5bf20a72b870331cfe22b52a3592aa2ea3f86c676e6483f075214366907193 days 21 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80x067d4d88cba911ffc0b186fdffddf34fa675655a0.000001209864324033 Ether
0xe87a3a92e8ae223d57641f4de081215db00424f6a73bb2e554750b13d6a592b866901733 days 23 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80x0111e8a755a4212e6e1f13e75b1eaba8f837a2130.00151682475 Ether
0xa276e803b3e25e1c5caeef8dd70d1f1b8c68eede5e0ceff76b8e4e3ff30a42f066900933 days 23 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80x0111e8a755a4212e6e1f13e75b1eaba8f837a2130.000000001175346749 Ether
0xced2b99925232fc8b6c7b450d9c71d24fb8d60ff1ace1533ef488ec8447ee66266895434 days 2 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80x72a932a8f6a7b0b9aa6528cebb68008240901c4a1.079678389478787881 Ether
0x6036dabfff9ab71de39fe10c96539b02ee293ce1e019bc12cdc6107342f8f35566859854 days 16 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80x84eaa9a6a8e42696790289480314e2fca8f385810.250568120123468657 Ether
0x38be62e7234d978507d174f6e424333bd5c0d052e2f636b0fc1a8c7563f0118366853194 days 18 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80xc5f10e4dbfc298ceea161e23fba84cb5490a30ec0.001105354217628939 Ether
0x47fea70552dfc72d7d42e1586f958f0197ecf5e0576f34addf9676bb1db816da66846574 days 21 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80x233a5180a19717d047999508a34c2dfbfdb25e780.000148175819004744 Ether
0x3cc8f5b9fa680c60d19192d9860a8118bbdeab16ebdb13c4556dc8f544f9bd2a66835705 days 1 hr ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80x11dcb85916423c46f70552ddb220e2583d2a830f0.4999 Ether
0xd54c52dd84ae8015570fdde5a670a79fe7b7b077f2289b8a0e306f6f78897a4e66831345 days 3 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80xa043ef9fce771eaa194f29a8ff1d26682ae8e4380.0024 Ether
0xf4737ae4c964922deb15892f4c0b76ff94a8f9b8ba3e6285b9de8e78175f280a66831325 days 3 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80xa043ef9fce771eaa194f29a8ff1d26682ae8e4380.0024 Ether
0x80469422d1fab372ab153fdded9eb88250e29ab351caf5b5fa27ca1c9c50d77a66831325 days 3 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80xa043ef9fce771eaa194f29a8ff1d26682ae8e4380.0024 Ether
0xf8f55a2ebec5324d95f51340308f2795f20a059436ab1469e55db987408a4fad66831325 days 3 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80xa043ef9fce771eaa194f29a8ff1d26682ae8e4380.0024 Ether
0x68a30b718074e3f8f8c05cb91313a668c915e7ec4495c9841b60b99f01d9036d66831295 days 3 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80xa043ef9fce771eaa194f29a8ff1d26682ae8e4380.0024 Ether
0x4a195587659e9660c02753048220d55055a8f0506cf9b543d0aa536500b9b4e266831295 days 3 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80xa043ef9fce771eaa194f29a8ff1d26682ae8e4380.0024 Ether
0x5fba472afe37bab6ccd4a0af59298e72543e2ed95489e400b806048d448ca28066831275 days 3 hrs ago0xffb8cca6d55762df595f21e78f21cd8dfeadf1c80xa043ef9fce771eaa194f29a8ff1d26682ae8e4380.0024 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact Match)
Contract Name: ProofofEIF
Compiler Text: v0.4.25+commit.59dbf8f1
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.25;

/*
*
*  _____                  __          __   ______ _____ ______ 
* |  __ \                / _|        / _| |  ____|_   _|  ____|
* | |__) | __ ___   ___ | |_    ___ | |_  | |__    | | | |__   
* |  ___/ '__/ _ \ / _ \|  _|  / _ \|  _| |  __|   | | |  __|  
* | |   | | | (_) | (_) | |   | (_) | |   | |____ _| |_| |     
* |_|   |_|  \___/ \___/|_|    \___/|_|   |______|_____|_|     
*                                                              
*            Proof of EIF   -  ZERO DEV FEES!
*
* [✓] 5% EIF fee - 5% goes to EasyInvestForever (excluding the shared divs below)
* [✓] 48%-8% Withdraw fee goes to Token Holders as divs 
*     (fee starts at 48% and reduces down to 8% over 30 day period to discourage early dumps)
* [✓] 15% Deposit fee of which at least 5% goes to Token Holders as divs 
*      (up to 10% to any referrers - referrers are sticky for better referral earnings)
* [✓] 0% Token transfer fee enabling third party trading
* [✓] Multi-level STICKY Referral System - 10% from total purchase
*  *  [✓]  1st level 50% (5% from total purchase)
*  *  [✓]  2nd level 30% (3% from total purchase)
*  *  [✓]  3rd level 20% (2% from total purchase)
*/


/**
 * Definition of contract accepting Proof of EIF (EIF) tokens
 * Games or any other innovative platforms can reuse this contract to support Proof Of EIF (EIF) tokens
 */
contract AcceptsEIF {
    ProofofEIF public tokenContract;

    constructor(address _tokenContract) public {
        tokenContract = ProofofEIF(_tokenContract);
    }

    modifier onlyTokenContract {
        require(msg.sender == address(tokenContract));
        _;
    }

    /**
    * @dev Standard ERC677 function that will handle incoming token transfers.
    *
    * @param _from  Token sender address.
    * @param _value Amount of tokens.
    * @param _data  Transaction metadata.
    */
    function tokenFallback(address _from, uint256 _value, bytes _data) external returns (bool);
}


contract ProofofEIF {

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

    modifier onlyBagholders {
        require(myTokens() > 0);
        _;
    }

    modifier onlyStronghands {
        require(myDividends(true) > 0);
        _;
    }
    
    modifier notGasbag() {
      require(tx.gasprice <= 200000000000); // max 200 gwei
      _;
    }

    modifier notContract() {
      require (msg.sender == tx.origin);

      _;
    }
    
    
       /// @dev Limit ambassador mine and prevent deposits before startTime
    modifier antiEarlyWhale {
        if (isPremine()) { //max 1ETH purchase premineLimit per ambassador
          require(ambassadors_[msg.sender] && msg.value <= premineLimit);
        // stop them purchasing a second time
          ambassadors_[msg.sender]=false;
        }
        else require (isStarted());
        _;
    }
    
    
    
    // administrators can:
    // -> change the name of the contract
    // -> change the name of the token
    // -> change the PoS difficulty (How many tokens it costs to hold a masternode, in case it gets crazy high later)
    // -> a few more things such as add ambassadors, administrators, reset more things
    // they CANNOT:
    // -> take funds
    // -> disable withdrawals
    // -> kill the contract
    // -> change the price of tokens
    modifier onlyAdministrator(){
        address _customerAddress = msg.sender;
        require(administrators[_customerAddress]);
        _;
    }    
    
    // administrator list (see above on what they can do)
    mapping(address => bool) public administrators;
    // ambassadors list (promoters who will get the contract started)
    mapping(address => bool) public ambassadors_;

    /*==============================
    =            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
    );

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

    event onReferralUse(
        address indexed referrer,
        uint8  indexed level,
        uint256 ethereumCollected,
        address indexed customerAddress,
        uint256 timestamp
    );



    string public name = "Proof of EIF";
    string public symbol = "EIF";
    uint8 constant public decimals = 18;
    uint8 constant internal entryFee_ = 15;
    
    /// @dev 48% dividends for token selling
    uint8 constant internal startExitFee_ = 48;

    /// @dev 8% dividends for token selling after step
    uint8 constant internal finalExitFee_ = 8;

    /// @dev Exit fee falls over period of 30 days
    uint256 constant internal exitFeeFallDuration_ = 30 days;
    
    /// @dev starting
    uint256 public startTime = 0; //  January 1, 1970 12:00:00
    mapping(address => uint256) internal bonusBalance_;
    uint256 public depositCount_;
    uint8 constant internal fundEIF_ = 5; // 5% goes to first EasyInvestForever contract
    
    /// @dev anti-early-whale
    uint256 public maxEarlyStake = 2.5 ether;
    uint256 public whaleBalanceLimit = 75 ether;
    uint256 public premineLimit = 1 ether;
    uint256 public ambassadorCount = 1;
    
    /// @dev PoEIF address
    address public PoEIF;
    
    // Address to send the 5% EasyInvestForever Fee
    address public giveEthFundAddress = 0x35027a992A3c232Dd7A350bb75004aD8567561B2;
    uint256 public totalEthFundRecieved; // total ETH EasyInvestForever recieved from this contract
    uint256 public totalEthFundCollected; // total ETH collected in this contract for EasyInvestForever
    
    
    uint8 constant internal maxReferralFee_ = 10; // 10% from total sum (lev1 - 5%, lev2 - 3%, lev3 - 2%)
    uint256 constant internal tokenPriceInitial_ = 0.0000001 ether;
    uint256 constant internal tokenPriceIncremental_ = 0.00000001 ether;
    uint256 constant internal magnitude = 2 ** 64;
    uint256 public stakingRequirement = 50e18;
    mapping(address => uint256) internal tokenBalanceLedger_;
    mapping(address => uint256) internal referralBalance_;
    mapping(address => int256) internal payoutsTo_;
    uint256 internal tokenSupply_;
    uint256 internal profitPerShare_;
    
    // Special Platform control from scam game contracts on PoEIF platform
    mapping(address => bool) public canAcceptTokens_; // contracts, which can accept PoEIF tokens

    mapping(address => address) public stickyRef;
    
    /*=======================================
    =            CONSTRUCTOR                =
    =======================================*/

   constructor () public {
     PoEIF = msg.sender;
     // initially set only contract creator as ambassador and administrator but can be changed later
     ambassadors_[PoEIF] = true;
     administrators[PoEIF] = true;
   }    
    

    function buy(address _referredBy) notGasbag antiEarlyWhale public payable {
        purchaseInternal(msg.value, _referredBy);
    }

    function() payable notGasbag antiEarlyWhale public {
        purchaseInternal(msg.value, 0x0);
    }
    
/**
 * Sends FUND money to the Easy Invest Forever Contract
 * Contract address can also be updated by admin if required in the future
 */
 
     function updateFundAddress(address _newAddress)
        onlyAdministrator()
        public
    {
        giveEthFundAddress = _newAddress;
    }
    
    function payFund() public {
        uint256 ethToPay = SafeMath.sub(totalEthFundCollected, totalEthFundRecieved);
        require(ethToPay > 0);
        totalEthFundRecieved = SafeMath.add(totalEthFundRecieved, ethToPay);
        if(!giveEthFundAddress.call.value(ethToPay)()) {
            revert();
        }
    }

 /**
  * Anyone can donate divs using this function to spread some love to all tokenholders without buying tokens
  */
    function donateDivs() payable public {
        require(msg.value > 10000 wei && tokenSupply_ > 0);

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

    // @dev Function setting the start time of the system  - can also be reset when contract balance is under 10ETH
    function setStartTime(uint256 _startTime) onlyAdministrator public {
        if (address(this).balance < 10 ether ) {
            startTime = _startTime; 
            // If not already in premine, set premine to start again - remove default ambassador afterwards for zero premine
            if (!isPremine()) {depositCount_ = 0; ambassadorCount = 1; ambassadors_[PoEIF] = true;}
        }
    }
    
    // @dev Function for find if premine
    function isPremine() public view returns (bool) {
      return depositCount_ < ambassadorCount;
    }

    // @dev Function for find if started
    function isStarted() public view returns (bool) {
      return startTime!=0 && now > startTime;
    }    

    function reinvest() onlyStronghands public {
        uint256 _dividends = myDividends(false);
        address _customerAddress = msg.sender;
        payoutsTo_[_customerAddress] +=  (int256) (_dividends * magnitude);
        _dividends += referralBalance_[_customerAddress];
        referralBalance_[_customerAddress] = 0;
        uint256 _tokens = purchaseTokens(_dividends, 0x0);
        emit onReinvestment(_customerAddress, _dividends, _tokens);
    }

    function exit() public {
        address _customerAddress = msg.sender;
        uint256 _tokens = tokenBalanceLedger_[_customerAddress];
        if (_tokens > 0) sell(_tokens);
        withdraw();
    }

    function withdraw() onlyStronghands public {
        address _customerAddress = msg.sender;
        uint256 _dividends = myDividends(false);
        payoutsTo_[_customerAddress] += (int256) (_dividends * magnitude);
        _dividends += referralBalance_[_customerAddress];
        referralBalance_[_customerAddress] = 0;
        _customerAddress.transfer(_dividends);
        emit onWithdraw(_customerAddress, _dividends);
    }

    function sell(uint256 _amountOfTokens) onlyBagholders public {
        address _customerAddress = msg.sender;
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);
        uint256 _tokens = _amountOfTokens;
        uint256 _ethereum = tokensToEthereum_(_tokens);
        uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, exitFee()), 100);
        
        uint256 _fundPayout = SafeMath.div(SafeMath.mul(_ethereum, fundEIF_), 100);
        // Take out dividends and then _fundPayout
        uint256 _taxedEthereum =  SafeMath.sub(SafeMath.sub(_ethereum, _dividends), _fundPayout);

        // Add ethereum to send to fund
        totalEthFundCollected = SafeMath.add(totalEthFundCollected, _fundPayout);

        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokens);
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _tokens);

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

        if (tokenSupply_ > 0) {
            profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);
        }
        emit onTokenSell(_customerAddress, _tokens, _taxedEthereum, now, buyPrice());
    }

    function transfer(address _toAddress, uint256 _amountOfTokens) onlyBagholders public returns (bool) {
        // setup
        address _customerAddress = msg.sender;

        // make sure we have the requested tokens
        // also disables transfers until ambassador phase is over
        // ( we dont want whale premines )
        require(!isPremine() && _amountOfTokens <= tokenBalanceLedger_[_customerAddress]);

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

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

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


        // fire event
        emit Transfer(_customerAddress, _toAddress, _amountOfTokens);
        return true;
    }


 /**
    * Transfer token to a specified address and forward the data to recipient
    * ERC-677 standard
    * https://github.com/ethereum/EIPs/issues/677
    * @param _to    Receiver address.
    * @param _value Amount of tokens that will be transferred.
    * @param _data  Transaction metadata.
    */
    function transferAndCall(address _to, uint256 _value, bytes _data) external returns (bool) {
      require(_to != address(0));
      require(canAcceptTokens_[_to] == true); // security check that contract approved by PoEIF platform
      require(transfer(_to, _value)); // do a normal token transfer to the contract

      if (isContract(_to)) {
        AcceptsEIF receiver = AcceptsEIF(_to);
        require(receiver.tokenFallback(msg.sender, _value, _data));
      }

      return true;
    }

    /**
     * Additional check that the game address we are sending tokens to is a contract
     * assemble the given address bytecode. If bytecode exists then the _addr is a contract.
     */
     function isContract(address _addr) private constant returns (bool is_contract) {
       // retrieve the size of the code on target address, this needs assembly
       uint length;
       assembly { length := extcodesize(_addr) }
       return length > 0;
     }

    /**
     * Precautionary measures in case we need to adjust the masternode rate.
     */
    function setStakingRequirement(uint256 _amountOfTokens)
        onlyAdministrator()
        public
    {
        stakingRequirement = _amountOfTokens;
    }
    
     /**
     * Set new Early limits (only appropriate at start of new game).
     */
    function setEarlyLimits(uint256 _whaleBalanceLimit, uint256 _maxEarlyStake, uint256 _premineLimit)
        onlyAdministrator()
        public
    {
        whaleBalanceLimit = _whaleBalanceLimit;
        maxEarlyStake = _maxEarlyStake;
        premineLimit = _premineLimit;
    }
    

    /**
     * Add or remove game contract, which can accept PoEIF (EIF) tokens
     */
    function setCanAcceptTokens(address _address, bool _value)
      onlyAdministrator()
      public
    {
      canAcceptTokens_[_address] = _value;
    }

    /**
     * If we want to rebrand, we can.
     */
    function setName(string _name)
        onlyAdministrator()
        public
    {
        name = _name;
    }

    /**
     * If we want to rebrand, we can.
     */
    function setSymbol(string _symbol)
        onlyAdministrator()
        public
    {
        symbol = _symbol;
    }

  /**
   * @dev add an address to the ambassadors_ list (this can be done anytime until the premine finishes)
   * @param addr address
   * @return true if the address was added to the list, false if the address was already in the list
   */
  function addAmbassador(address addr) onlyAdministrator public returns(bool success) {
    if (!ambassadors_[addr] && isPremine()) {
      ambassadors_[addr] = true;
      ambassadorCount += 1;
      success = true;
    }
  }


  /**
   * @dev remove an address from the ambassadors_ list
   * (only do this if they take too long to buy premine - they are removed automatically during premine purchase)
   * @param addr address
   * @return true if the address was removed from the list,
   * false if the address wasn't in the list in the first place
   */
  function removeAmbassador(address addr) onlyAdministrator public returns(bool success) {
    if (ambassadors_[addr]) {
      ambassadors_[addr] = false;
      ambassadorCount -= 1;
      success = true;
    }
  }
  
    /**
   * @dev add an address to the administrators list
   * @param addr address
   * @return true if the address was added to the list, false if the address was already in the list
   */
  function addAdministrator(address addr) onlyAdministrator public returns(bool success) {
    if (!administrators[addr]) {
      administrators[addr] = true;
      success = true;
    }
  }


  /**
   * @dev remove an address from the administrators list
   * @param addr address
   * @return true if the address was removed from the list,
   * false if the address wasn't in the list in the first place or not called by original administrator
   */
  function removeAdministrator(address addr) onlyAdministrator public returns(bool success) {
    if (administrators[addr] && msg.sender==PoEIF) {
      administrators[addr] = false;
      success = true;
    }
  }


    function totalEthereumBalance() public view returns (uint256) {
        return address(this).balance;
    }

    function totalSupply() public view returns (uint256) {
        return tokenSupply_;
    }

    function myTokens() public view returns (uint256) {
        address _customerAddress = msg.sender;
        return balanceOf(_customerAddress);
    }

    function myDividends(bool _includeReferralBonus) public view returns (uint256) {
        address _customerAddress = msg.sender;
        return _includeReferralBonus ? dividendsOf(_customerAddress) + referralBalance_[_customerAddress] : dividendsOf(_customerAddress) ;
    }

    function balanceOf(address _customerAddress) public view returns (uint256) {
        return tokenBalanceLedger_[_customerAddress];
    }

    function dividendsOf(address _customerAddress) public view returns (uint256) {
        return (uint256) ((int256) (profitPerShare_ * tokenBalanceLedger_[_customerAddress]) - payoutsTo_[_customerAddress]) / magnitude;
    }

    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 _fundPayout = SafeMath.div(SafeMath.mul(_ethereum, fundEIF_), 100);
            uint256 _taxedEthereum = SafeMath.sub(SafeMath.sub(_ethereum, _dividends), _fundPayout);
            return _taxedEthereum;
        }
    }

    function buyPrice() public view returns (uint256) {
        if (tokenSupply_ == 0) {
            return tokenPriceInitial_ + tokenPriceIncremental_;
        } else {
            uint256 _ethereum = tokensToEthereum_(1e18);
            uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, entryFee_), 100);
            uint256 _fundPayout = SafeMath.div(SafeMath.mul(_ethereum, fundEIF_), 100);
            uint256 _taxedEthereum =  SafeMath.add(SafeMath.add(_ethereum, _dividends), _fundPayout);

            return _taxedEthereum;
        }
    }

    function calculateTokensReceived(uint256 _ethereumToSpend) public view returns (uint256) {
        uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereumToSpend, entryFee_), 100);
        uint256 _fundPayout = SafeMath.div(SafeMath.mul(_ethereumToSpend, fundEIF_), 100);
        uint256 _taxedEthereum = SafeMath.sub(SafeMath.sub(_ethereumToSpend, _dividends), _fundPayout);
        uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum);

        return _amountOfTokens;
    }

    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 _fundPayout = SafeMath.div(SafeMath.mul(_ethereum, fundEIF_), 100);
        uint256 _taxedEthereum = SafeMath.sub(SafeMath.sub(_ethereum, _dividends), _fundPayout);
        return _taxedEthereum;
    }

    function exitFee() public view returns (uint8) {
        if (startTime==0 || now < startTime){
           return startExitFee_;
        }
        
        uint256 secondsPassed = now - startTime;
        if (secondsPassed >= exitFeeFallDuration_) {
            return finalExitFee_;
        }
        uint8 totalChange = startExitFee_ - finalExitFee_;
        uint8 currentChange = uint8(totalChange * secondsPassed / exitFeeFallDuration_);
        uint8 currentFee = startExitFee_- currentChange;
        return currentFee;
    }
    /*==========================================
    =            INTERNAL FUNCTIONS            =
    ==========================================*/

    // Make sure we will send back excess if user sends more than early limits
    function purchaseInternal(uint256 _incomingEthereum, address _referredBy)
      internal
      notContract() // no contracts allowed
      returns(uint256) {

      uint256 purchaseEthereum = _incomingEthereum;
      uint256 excess;
      if(purchaseEthereum > maxEarlyStake ) { // check if the transaction is over early limit of 2.5 ether
          if (SafeMath.sub(address(this).balance, purchaseEthereum) <= whaleBalanceLimit) { // if so check the contract is less than 75 ether whaleBalanceLimit
              purchaseEthereum = maxEarlyStake;
              excess = SafeMath.sub(_incomingEthereum, purchaseEthereum);
          }
      }
    
      if (excess > 0) {
        msg.sender.transfer(excess);
      }
    
      purchaseTokens(purchaseEthereum, _referredBy);
    }

    function handleReferrals(address _referredBy, uint _referralBonus, uint _undividedDividends) internal returns (uint){
        uint _dividends = _undividedDividends;
        address _level1Referrer = stickyRef[msg.sender];
        
        if (_level1Referrer == address(0x0)){
            _level1Referrer = _referredBy;
        }
        // is the user referred by a masternode?
        if(
            // is this a referred purchase?
            _level1Referrer != 0x0000000000000000000000000000000000000000 &&

            // no cheating!
            _level1Referrer != msg.sender &&

            // does the referrer have at least X whole tokens?
            // i.e is the referrer a godly chad masternode
            tokenBalanceLedger_[_level1Referrer] >= stakingRequirement
        ){
            // wealth redistribution
            if (stickyRef[msg.sender] == address(0x0)){
                stickyRef[msg.sender] = _level1Referrer;
            }

            // level 1 refs - 50%
            uint256 ethereumCollected =  _referralBonus/2;
            referralBalance_[_level1Referrer] = SafeMath.add(referralBalance_[_level1Referrer], ethereumCollected);
            _dividends = SafeMath.sub(_dividends, ethereumCollected);
            emit onReferralUse(_level1Referrer, 1, ethereumCollected, msg.sender, now);

            address _level2Referrer = stickyRef[_level1Referrer];

            if (_level2Referrer != address(0x0) && tokenBalanceLedger_[_level2Referrer] >= stakingRequirement){
                // level 2 refs - 30%
                ethereumCollected =  (_referralBonus*3)/10;
                referralBalance_[_level2Referrer] = SafeMath.add(referralBalance_[_level2Referrer], ethereumCollected);
                _dividends = SafeMath.sub(_dividends, ethereumCollected);
                emit onReferralUse(_level2Referrer, 2, ethereumCollected, _level1Referrer, now);
                address _level3Referrer = stickyRef[_level2Referrer];

                if (_level3Referrer != address(0x0) && tokenBalanceLedger_[_level3Referrer] >= stakingRequirement){
                    //level 3 refs - 20%
                    ethereumCollected =  (_referralBonus*2)/10;
                    referralBalance_[_level3Referrer] = SafeMath.add(referralBalance_[_level3Referrer], ethereumCollected);
                    _dividends = SafeMath.sub(_dividends, ethereumCollected);
                    emit onReferralUse(_level3Referrer, 3, ethereumCollected, _level2Referrer, now);
                }
            }
        }
        return _dividends;
    }

    function purchaseTokens(uint256 _incomingEthereum, address _referredBy) internal returns (uint256) {
        address _customerAddress = msg.sender;
        uint256 _undividedDividends = SafeMath.div(SafeMath.mul(_incomingEthereum, entryFee_), 100);
        uint256 _referralBonus = SafeMath.div(SafeMath.mul(_incomingEthereum, maxReferralFee_), 100);
        uint256 _dividends = handleReferrals(_referredBy, _referralBonus, _undividedDividends);
        uint256 _fundPayout = SafeMath.div(SafeMath.mul(_incomingEthereum, fundEIF_), 100);
        uint256 _taxedEthereum = SafeMath.sub(SafeMath.sub(_incomingEthereum, _undividedDividends), _fundPayout);
        totalEthFundCollected = SafeMath.add(totalEthFundCollected, _fundPayout);
        
        
        uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum);
        uint256 _fee = _dividends * magnitude;

        require(_amountOfTokens > 0 && SafeMath.add(_amountOfTokens, tokenSupply_) > tokenSupply_);

        if (tokenSupply_ > 0) {
            tokenSupply_ = SafeMath.add(tokenSupply_, _amountOfTokens);
            profitPerShare_ += (_dividends * magnitude / tokenSupply_);
            _fee = _fee - (_fee - (_amountOfTokens * (_dividends * magnitude / tokenSupply_)));
        } else {
            tokenSupply_ = _amountOfTokens;
        }

        tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
        int256 _updatedPayouts = (int256) (profitPerShare_ * _amountOfTokens - _fee);
        payoutsTo_[_customerAddress] += _updatedPayouts;
        emit onTokenPurchase(_customerAddress, _incomingEthereum, _amountOfTokens, _referredBy, now, buyPrice());
        // Keep track
        depositCount_++;
        return _amountOfTokens;
    }

    function ethereumToTokens_(uint256 _ethereum) internal view returns (uint256) {
        uint256 _tokenPriceInitial = tokenPriceInitial_ * 1e18;
        uint256 _tokensReceived =
            (
                (
                    SafeMath.sub(
                        (sqrt
                            (
                                (_tokenPriceInitial ** 2)
                                +
                                (2 * (tokenPriceIncremental_ * 1e18) * (_ethereum * 1e18))
                                +
                                ((tokenPriceIncremental_ ** 2) * (tokenSupply_ ** 2))
                                +
                                (2 * tokenPriceIncremental_ * _tokenPriceInitial*tokenSupply_)
                            )
                        ), _tokenPriceInitial
                    )
                ) / (tokenPriceIncremental_)
            ) - (tokenSupply_);

        return _tokensReceived;
    }

    function tokensToEthereum_(uint256 _tokens) internal view returns (uint256) {
        uint256 tokens_ = (_tokens + 1e18);
        uint256 _tokenSupply = (tokenSupply_ + 1e18);
        uint256 _etherReceived =
            (
                SafeMath.sub(
                    (
                        (
                            (
                                tokenPriceInitial_ + (tokenPriceIncremental_ * (_tokenSupply / 1e18))
                            ) - tokenPriceIncremental_
                        ) * (tokens_ - 1e18)
                    ), (tokenPriceIncremental_ * ((tokens_ ** 2 - tokens_) / 1e18)) / 2
                )
                / 1e18);

        return _etherReceived;
    }

    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;
        }
    }


}

library SafeMath {
    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;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a / b;
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

    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":"ambassadorCount","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":"","type":"address"}],"name":"canAcceptTokens_","outputs":[{"name":"","type":"bool"}],"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":false,"inputs":[{"name":"_newAddress","type":"address"}],"name":"updateFundAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokensToSell","type":"uint256"}],"name":"calculateEthereumReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_value","type":"bool"}],"name":"setCanAcceptTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"addAmbassador","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[{"name":"_startTime","type":"uint256"}],"name":"setStartTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transferAndCall","outputs":[{"name":"","type":"bool"}],"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":"","type":"address"}],"name":"stickyRef","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isStarted","outputs":[{"name":"","type":"bool"}],"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":"maxEarlyStake","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"giveEthFundAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"ambassadors_","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"premineLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exitFee","outputs":[{"name":"","type":"uint8"}],"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":false,"inputs":[{"name":"addr","type":"address"}],"name":"removeAdministrator","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":"","type":"address"}],"name":"administrators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalEthFundCollected","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_whaleBalanceLimit","type":"uint256"},{"name":"_maxEarlyStake","type":"uint256"},{"name":"_premineLimit","type":"uint256"}],"name":"setEarlyLimits","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"setStakingRequirement","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PoEIF","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"payFund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"whaleBalanceLimit","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":true,"inputs":[],"name":"totalEthFundRecieved","outputs":[{"name":"","type":"uint256"}],"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":"_symbol","type":"string"}],"name":"setSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"addAdministrator","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"donateDivs","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"isPremine","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"depositCount_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"removeAmbassador","outputs":[{"name":"success","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":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"reinvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"referrer","type":"address"},{"indexed":true,"name":"level","type":"uint8"},{"indexed":false,"name":"ethereumCollected","type":"uint256"},{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"onReferralUse","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60c0604052600c60808190527f50726f6f66206f6620454946000000000000000000000000000000000000000060a09081526200004091600291906200014d565b506040805180820190915260038082527f454946000000000000000000000000000000000000000000000000000000000060209092019182526200008591816200014d565b5060006004556722b1c8c1227a0000600755680410d586a20a4c0000600855670de0b6b3a76400006009556001600a55600c8054600160a060020a0319167335027a992a3c232dd7a350bb75004ad8567561b21790556802b5e3af16b1880000600f55348015620000f557600080fd5b50600b8054600160a060020a0319163317808255600160a060020a039081166000908152600160208181526040808420805460ff199081168517909155955490941683528290529190208054909216179055620001f2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200019057805160ff1916838001178555620001c0565b82800160010185558215620001c0579182015b82811115620001c0578251825591602001919060010190620001a3565b50620001ce929150620001d2565b5090565b620001ef91905b80821115620001ce5760008155600101620001d9565b90565b61205c80620002026000396000f3006080604052600436106102655763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166265318b81146102ed578063016650441461032057806306fdde03146103355780630f34dc16146103bf57806310d0ffdd146103f457806318160ddd1461040c5780631d5459f7146104215780632260937314610444578063294205b41461045c578063295c25d514610482578063313ce567146104a35780633ccfd60b146104ce5780633e0a322d146104e35780634000aea0146104fb5780634b7503341461052c5780634d6352e514610541578063544736e61461057e57806356d399e814610593578063585bc281146105a85780635e079aa5146105bd5780636122d906146105d257806362254eeb146105f35780636284ae4114610608578063688abbf71461061d57806368fa8134146106375780636b2f46321461065857806370a082311461066d57806376be15851461068e57806378e97925146106af5780637ff276bd146106c4578063817189df146106d95780638328b610146106f75780638620410b1461070f57806387c935cf146107245780638974372d1461073957806391e331071461074e578063949e8acd1461076357806395d89b4114610778578063a4d556861461078d578063a9059cbb146107a2578063b84c8246146107c6578063c47f00271461081f578063c999117614610878578063ca970bac14610899578063d6dda33d146108a1578063da7af32d146108b6578063de96587e146108cb578063e4849b32146108ec578063e9fad8ee14610904578063f088d54714610919578063fdb5a03e1461092d575b642e90edd0003a111561027757600080fd5b61027f610942565b156102cc573360009081526001602052604090205460ff1680156102a557506009543411155b15156102b057600080fd5b336000908152600160205260409020805460ff191690556102df565b6102d461094d565b15156102df57600080fd5b6102ea346000610968565b50005b3480156102f957600080fd5b5061030e600160a060020a03600435166109f5565b60408051918252519081900360200190f35b34801561032c57600080fd5b5061030e610a30565b34801561034157600080fd5b5061034a610a36565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561038457818101518382015260200161036c565b50505050905090810190601f1680156103b15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103cb57600080fd5b506103e0600160a060020a0360043516610ac1565b604080519115158252519081900360200190f35b34801561040057600080fd5b5061030e600435610ad6565b34801561041857600080fd5b5061030e610b2b565b34801561042d57600080fd5b50610442600160a060020a0360043516610b31565b005b34801561045057600080fd5b5061030e600435610b7f565b34801561046857600080fd5b50610442600160a060020a03600435166024351515610bdf565b34801561048e57600080fd5b506103e0600160a060020a0360043516610c29565b3480156104af57600080fd5b506104b8610cb1565b6040805160ff9092168252519081900360200190f35b3480156104da57600080fd5b50610442610cb6565b3480156104ef57600080fd5b50610442600435610d89565b34801561050757600080fd5b506103e060048035600160a060020a0316906024803591604435918201910135610e01565b34801561053857600080fd5b5061030e610f3b565b34801561054d57600080fd5b50610562600160a060020a0360043516610fa9565b60408051600160a060020a039092168252519081900360200190f35b34801561058a57600080fd5b506103e061094d565b34801561059f57600080fd5b5061030e610fc4565b3480156105b457600080fd5b5061030e610fca565b3480156105c957600080fd5b50610562610fd0565b3480156105de57600080fd5b506103e0600160a060020a0360043516610fdf565b3480156105ff57600080fd5b5061030e610ff4565b34801561061457600080fd5b506104b8610ffa565b34801561062957600080fd5b5061030e6004351515611052565b34801561064357600080fd5b506103e0600160a060020a0360043516611093565b34801561066457600080fd5b5061030e611111565b34801561067957600080fd5b5061030e600160a060020a0360043516611116565b34801561069a57600080fd5b506103e0600160a060020a0360043516611131565b3480156106bb57600080fd5b5061030e611146565b3480156106d057600080fd5b5061030e61114c565b3480156106e557600080fd5b50610442600435602435604435611152565b34801561070357600080fd5b5061044260043561117f565b34801561071b57600080fd5b5061030e6111a3565b34801561073057600080fd5b50610562611209565b34801561074557600080fd5b50610442611218565b34801561075a57600080fd5b5061030e611275565b34801561076f57600080fd5b5061030e61127b565b34801561078457600080fd5b5061034a61128e565b34801561079957600080fd5b5061030e6112e9565b3480156107ae57600080fd5b506103e0600160a060020a03600435166024356112ef565b3480156107d257600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261044294369492936024939284019190819084018382808284375094975061143b9650505050505050565b34801561082b57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526104429436949293602493928401919081908401838280828437509497506114719650505050505050565b34801561088457600080fd5b506103e0600160a060020a03600435166114a2565b61044261150f565b3480156108ad57600080fd5b506103e0610942565b3480156108c257600080fd5b5061030e61155a565b3480156108d757600080fd5b506103e0600160a060020a0360043516611560565b3480156108f857600080fd5b506104426004356115d3565b34801561091057600080fd5b5061044261176b565b610442600160a060020a0360043516611794565b34801561093957600080fd5b50610442611818565b600a54600654105b90565b6000600454600014158015610963575060045442115b905090565b6000808033321461097857600080fd5b8491506007548211156109aa576008546109933031846118ce565b116109aa5760075491506109a785836118ce565b90505b60008111156109e257604051339082156108fc029083906000818181858888f193505050501580156109e0573d6000803e3d6000fd5b505b6109ec82856118e0565b50505092915050565b600160a060020a0316600090815260126020908152604080832054601090925290912054601454680100000000000000009102919091030490565b600a5481565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610ab95780601f10610a8e57610100808354040283529160200191610ab9565b820191906000526020600020905b815481529060010190602001808311610a9c57829003601f168201915b505050505081565b60156020526000908152604090205460ff1681565b600080808080610af1610aea87600f611abe565b6064611ae9565b9350610b01610aea876005611abe565b9250610b16610b1087866118ce565b846118ce565b9150610b2182611b00565b9695505050505050565b60135490565b3360008181526020819052604090205460ff161515610b4f57600080fd5b50600c805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008060008060006013548611151515610b9857600080fd5b610ba186611b98565b9350610bba610aea85610bb2610ffa565b60ff16611abe565b9250610bca610aea856005611abe565b9150610b21610bd985856118ce565b836118ce565b3360008181526020819052604090205460ff161515610bfd57600080fd5b50600160a060020a03919091166000908152601560205260409020805460ff1916911515919091179055565b3360008181526020819052604081205490919060ff161515610c4a57600080fd5b600160a060020a03831660009081526001602052604090205460ff16158015610c765750610c76610942565b15610cab57600160a060020a0383166000908152600160208190526040909120805460ff191682179055600a80548201905591505b50919050565b601281565b6000806000610cc56001611052565b11610ccf57600080fd5b339150610cdc6000611052565b600160a060020a038316600081815260126020908152604080832080546801000000000000000087020190556011909152808220805490839055905193019350909183156108fc0291849190818181858888f19350505050158015610d45573d6000803e3d6000fd5b50604080518281529051600160a060020a038416917fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc919081900360200190a25050565b3360008181526020819052604090205460ff161515610da757600080fd5b678ac7230489e8000030311015610dfd576004829055610dc5610942565b1515610dfd57600060068190556001600a819055600b54600160a060020a0316825260208190526040909120805460ff191690911790555b5050565b600080600160a060020a0386161515610e1957600080fd5b600160a060020a03861660009081526015602052604090205460ff161515600114610e4357600080fd5b610e4d86866112ef565b1515610e5857600080fd5b610e6186611c04565b15610f2f57506040517fc0ee0b8a000000000000000000000000000000000000000000000000000000008152336004820181815260248301879052606060448401908152606484018690528893600160a060020a0385169363c0ee0b8a9390928a928a928a929091608401848480828437820191505095505050505050602060405180830381600087803b158015610ef857600080fd5b505af1158015610f0c573d6000803e3d6000fd5b505050506040513d6020811015610f2257600080fd5b50511515610f2f57600080fd5b50600195945050505050565b600080600080600060135460001415610f5b576414f46b04009450610fa2565b610f6c670de0b6b3a7640000611b98565b9350610f7d610aea85610bb2610ffa565b9250610f8d610aea856005611abe565b9150610f9c610bd985856118ce565b90508094505b5050505090565b601660205260009081526040902054600160a060020a031681565b600f5481565b60075481565b600c54600160a060020a031681565b60016020526000908152604090205460ff1681565b60095481565b600080600080600060045460001480611014575060045442105b156110225760309450610fa2565b6004544203935062278d00841061103c5760089450610fa2565b50505062278d0060289190910204603003919050565b6000338261106857611063816109f5565b61108c565b600160a060020a03811660009081526011602052604090205461108a826109f5565b015b9392505050565b3360008181526020819052604081205490919060ff1615156110b457600080fd5b600160a060020a03831660009081526020819052604090205460ff1680156110e65750600b54600160a060020a031633145b15610cab575050600160a060020a03166000908152602081905260409020805460ff19169055600190565b303190565b600160a060020a031660009081526010602052604090205490565b60006020819052908152604090205460ff1681565b60045481565b600e5481565b3360008181526020819052604090205460ff16151561117057600080fd5b50600892909255600755600955565b3360008181526020819052604090205460ff16151561119d57600080fd5b50600f55565b6000806000806000601354600014156111c35764199c82cc009450610fa2565b6111d4670de0b6b3a7640000611b98565b93506111e4610aea85600f611abe565b92506111f4610aea856005611abe565b9150610f9c6112038585611c0c565b83611c0c565b600b54600160a060020a031681565b6000611228600e54600d546118ce565b90506000811161123757600080fd5b611243600d5482611c0c565b600d55600c54604051600160a060020a03909116908290600081818185875af192505050151561127257600080fd5b50565b60085481565b60003361128781611116565b91505b5090565b6003805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610ab95780601f10610a8e57610100808354040283529160200191610ab9565b600d5481565b60008060006112fc61127b565b1161130657600080fd5b5033611310610942565b1580156113355750600160a060020a0381166000908152601060205260409020548311155b151561134057600080fd5b600061134c6001611052565b111561135a5761135a610cb6565b600160a060020a03811660009081526010602052604090205461137d90846118ce565b600160a060020a0380831660009081526010602052604080822093909355908616815220546113ac9084611c0c565b600160a060020a0385811660008181526010602090815260408083209590955560148054948716808452601283528684208054968b02909603909555548383529185902080549289029092019091558351878152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3600191505b5092915050565b3360008181526020819052604090205460ff16151561145957600080fd5b815161146c906003906020850190611fa2565b505050565b3360008181526020819052604090205460ff16151561148f57600080fd5b815161146c906002906020850190611fa2565b3360008181526020819052604081205490919060ff1615156114c357600080fd5b600160a060020a03831660009081526020819052604090205460ff161515610cab575050600160a060020a03166000908152602081905260409020805460ff1916600190811790915590565b60006127103411801561152457506000601354115b151561152f57600080fd5b34905060135468010000000000000000820281151561154a57fe5b6014805492909104909101905550565b60065481565b3360008181526020819052604081205490919060ff16151561158157600080fd5b600160a060020a03831660009081526001602052604090205460ff1615610cab575050600160a060020a03166000908152600160208190526040909120805460ff19169055600a805460001901905590565b6000806000806000806000806115e761127b565b116115f157600080fd5b3360008181526010602052604090205490975088111561161057600080fd5b87955061161c86611b98565b945061162d610aea86610bb2610ffa565b935061163d610aea866005611abe565b925061164c610b1086866118ce565b915061165a600e5484611c0c565b600e5560135461166a90876118ce565b601355600160a060020a03871660009081526010602052604090205461169090876118ce565b600160a060020a03881660009081526010602090815260408083209390935560145460129091529181208054928902680100000000000000008602019283900390556013549192501015611706576117026014546013546801000000000000000087028115156116fc57fe5b04611c0c565b6014555b86600160a060020a03167f8d3a0130073dbd54ab6ac632c05946df540553d3b514c9f8165b4ab7f2b1805e87844261173c6111a3565b604080519485526020850193909352838301919091526060830152519081900360800190a25050505050505050565b336000818152601060205260408120549081111561178c5761178c816115d3565b610dfd610cb6565b642e90edd0003a11156117a657600080fd5b6117ae610942565b156117fb573360009081526001602052604090205460ff1680156117d457506009543411155b15156117df57600080fd5b336000908152600160205260409020805460ff1916905561180e565b61180361094d565b151561180e57600080fd5b610dfd3482610968565b6000806000806118286001611052565b1161183257600080fd5b61183c6000611052565b3360008181526012602090815260408083208054680100000000000000008702019055601190915281208054908290559092019450925061187e9084906118e0565b905081600160a060020a03167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588483604051808381526020018281526020019250505060405180910390a2505050565b6000828211156118da57fe5b50900390565b60003381808080808080806118f9610aea8d600f611abe565b9750611909610aea8d600a611abe565b96506119168b888a611c1b565b9550611926610aea8d6005611abe565b945061193b6119358d8a6118ce565b866118ce565b9350611949600e5486611c0c565b600e5561195584611b00565b9250680100000000000000008602915060008311801561197f575060135461197d8482611c0c565b115b151561198a57600080fd5b600060135411156119ee576119a160135484611c0c565b60138190556801000000000000000087028115156119bb57fe5b601480549290910490910190556013546801000000000000000087028115156119e057fe5b0483028203820391506119f4565b60138390555b600160a060020a038916600090815260106020526040902054611a179084611c0c565b600160a060020a03808b166000818152601060209081526040808320959095556014546012909152939020805493870286900393840190559192508c16907f8032875b28d82ddbd303a9e4e5529d047a14ecb6290f80012a81b7e6227ff1ab8e8642611a816111a3565b604080519485526020850193909352838301919091526060830152519081900360800190a350506006805460010190559998505050505050505050565b600080831515611ad15760009150611434565b50828202828482811515611ae157fe5b041461108c57fe5b6000808284811515611af757fe5b04949350505050565b6013546000906c01431e0fae6d7217caa00000009082906402540be400611b85611b7f730380d4bd8a8678c1bb542c80deb4800000000000880268056bc75e2d631000006002860a02017005e0a1fd2712875988becaad0000000000850201780197d4df19d605767337e9f14d3eec8920e40000000000000001611f6d565b856118ce565b811515611b8e57fe5b0403949350505050565b601354600090670de0b6b3a7640000838101918101908390611bf16414f46b04008285046402540be40002018702600283670de0b6b3a763ffff1982890a8b900301046402540be40002811515611beb57fe5b046118ce565b811515611bfa57fe5b0495945050505050565b6000903b1190565b60008282018381101561108c57fe5b336000908152601660205260408120548290600160a060020a0316828080831515611c44578893505b600160a060020a03841615801590611c655750600160a060020a0384163314155b8015611c8b5750600f54600160a060020a03851660009081526010602052604090205410155b15611f605733600090815260166020526040902054600160a060020a03161515611ce557336000908152601660205260409020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0386161790555b600160a060020a038416600090815260116020526040902054600289049350611d0e9084611c0c565b600160a060020a038516600090815260116020526040902055611d3185846118ce565b6040805185815242602082015281519297503392600192600160a060020a038916927faa2bebb51de7655c0cc01571c3c91cda2f269b8d8add6392407afc885f8b0a58929081900390910190a4600160a060020a038085166000908152601660205260409020541691508115801590611dc45750600f54600160a060020a03831660009081526010602052604090205410155b15611f6057600160a060020a038216600090815260116020526040902054600a60038a02049350611df59084611c0c565b600160a060020a038316600090815260116020526040902055611e1885846118ce565b945083600160a060020a0316600283600160a060020a03167faa2bebb51de7655c0cc01571c3c91cda2f269b8d8add6392407afc885f8b0a588642604051808381526020018281526020019250505060405180910390a450600160a060020a03808216600090815260166020526040902054168015801590611eb45750600f54600160a060020a03821660009081526010602052604090205410155b15611f6057600160a060020a038116600090815260116020526040902054600a60028a02049350611ee59084611c0c565b600160a060020a038216600090815260116020526040902055611f0885846118ce565b945081600160a060020a0316600382600160a060020a03167faa2bebb51de7655c0cc01571c3c91cda2f269b8d8add6392407afc885f8b0a588642604051808381526020018281526020019250505060405180910390a45b5092979650505050505050565b80600260018201045b81811015610cab578091506002818285811515611f8f57fe5b0401811515611f9a57fe5b049050611f76565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611fe357805160ff1916838001178555612010565b82800160010185558215612010579182015b82811115612010578251825591602001919060010190611ff5565b5061128a9261094a9250905b8082111561128a576000815560010161201c5600a165627a7a72305820fd5a5e19ecdc5d62a83df107d6f445176a7cbced3b812988c15bc324145c7e440029

   Swarm Source:
bzzr://fd5a5e19ecdc5d62a83df107d6f445176a7cbced3b812988c15bc324145c7e44

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.