Contract 0x8da9ccf44fa08f651b71fa76f4ed41796b428f61

 

TxHash Block Age From To Value [TxFee]
0x3a9a1a3d91727ec65b5c2296036564665769b604446eeab29efe436efbb0a9bd72337371 day 3 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0001187637
0x191facf52657d8413a0c1e59f986e0ac424be921f1c6f7a5ef9f0adec11eb63772115416 days 11 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0000954767
0xa773aef8a596a240b9daa75ab8979a014fddb0cafc31cfb908e566fd9db4dda1719027611 days 3 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0000974248
0x769e08b4d9462bedcdd9f7b22ef964d3cd70638edcc75f4da4cf9a039a6e486e716238216 days 19 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0002248275
0x6f1c488b7252d058dda3c98f5a0e9eeca58e55095079c1d469c3c04bf99aff64715144719 days 1 hr ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0002158344
0x33543f3bb86925ce158fa8b992bc6b24178dfc6b8eee500c6f4c10643e72ab7a714866119 days 15 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0000559488
0x7b3e39081fa32e8ae5d20e07fc793ee9cc800a7ad23ee4585ae8dc74eb698d99714865719 days 15 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0001323888
0x1221f9462f09d0a9ef9e3f374f329ed09576cd8d8abba7f24f3425caa1f5bef8714243020 days 21 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0001978482
0xd107bc4b06bde9bbd186c4cc936ca6ffe8a9098a7a559da3f88a7df73792d200714242620 days 21 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0001213564
0xbb34b05071323b2a8b10e63e72b7f0000afbd90f15387558d246d803eda9db47713679222 days 1 hr ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0007284411
0x624028cdccbf60aa09112ca172d31640e1a2ecdadf9cf9cbcd711d8cb5b46e58713317122 days 18 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0000559488
0xd12d45fb13e8d25c5c10a36ad4016ff2679b58a8ed41dc3515f9c65236ccd498712148625 days 2 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0002248275
0x38e026ec4b9c0367b05bb26fdfbc8c96bc813f41e76aed948681bef69670e49a712148225 days 2 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.000137905
0x256ccbd1d02ea6913ebfb97a468b6dcc2bbad4b3a1416c8235c2eb2eeac41be8710626428 days 2 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0002158344
0x47dad5b721450d6116115d116c98dc97fb628824c875d0044f0935c7ab0b60f4710476028 days 9 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0001185648
0x8ca4088beee2198c34f01e668f1613340e46703f3bb98b9d27637b9bc8251a50710380728 days 14 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0000650944
0x0ddd93776410ba0d0a43aeb0283579ea0b512aa75bf954e76b246711d1723c28710198828 days 22 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0002787861
0x791c3b76182eb95f3e65a56569d073bf118787a4bc5df58c85983a594e1a7f84710198028 days 22 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0001710022
0x605c4c3c015d35f02beb8def7a1d305fdc03ec1d1800d8bfd48735e17be02a2c707413833 days 22 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0007284411
0x0e466089d4707eb3622f67910a6428d98e09d9d6c96c0f056b5d8c2f7eba4e71706574635 days 10 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0005485791
0x6cdce30e6617fd4ca0c0bc4a0c2276c12a65623ed23c11ddcfa69fac9af2e0d8706522535 days 12 hrs ago0x18ff5c952295e1931584e7d8597bbecdae61d75b  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.000359724
0x6315f72e232594479dddddfbf6d43c02cfdb4e06acf67a9feaf82f9ea777f438705898936 days 15 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0001268726
0x079d8a32f3c7dd0dfe5ea3eb287c91949eeff4e114e6ec2dd0f7d9c4478de4f4701670344 days 4 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0001978482
0x10b56f68c7cf7e6eeed113cbe650950d926f62be38e21a70257c1726f54b6e07701209145 days 28 mins ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0002787861
0x56993e465e36622a137419b75876f5b8d5748c81a62f12c3c2bede12de5f6c7e701138045 days 3 hrs ago0x106655e5649d654816c25c138fa5816b92f53850  IN   0x8da9ccf44fa08f651b71fa76f4ed41796b428f610 Ether0.0002068413
[ Download CSV Export 

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

Parent TxHash Block Age From To Value
0xa773aef8a596a240b9daa75ab8979a014fddb0cafc31cfb908e566fd9db4dda1719027611 days 3 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610x106655e5649d654816c25c138fa5816b92f538500.000000275629104551 Ether
0x7b5e84a675a5fb5d82432046719810dee70bad1c1e24ed8b9bbba659dce514b7682650976 days 6 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610x6adae826c3a47bba78b87b3ce73ce7a26af5d8950.011041760843086069 Ether
0x5b681c1050f4d4afce7fe462b9da5942f6d91c20c1fbbe9678b8c2401ad560ff6012071211 days 5 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610xf43c76170eac81fc56c59d36f2f247e64930d6f90.005039111349038192 Ether
0x261ff109479a22ff2207ed317a7d622a041eb2fb6cc259637e04f2ce93c24f705985130215 days 19 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610xa02fcb851eced4ee4317fee10050aad02339d20e0.231712790987630405 Ether
0x66faecefab4690c9ba7441a278dba68d18986f5936c242bc59f8425aeffd3db35971800218 days 2 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610xf43c76170eac81fc56c59d36f2f247e64930d6f90.001088101835551253 Ether
0xcbd9deb2747ecf1ae111abf3af22256517d884baf9bd5020fe3189099d6eda935945611222 days 10 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610xa02fcb851eced4ee4317fee10050aad02339d20e0.003547716150247593 Ether
0x08044bfcf6725c080800c16dc59cf452430a22e021f5fe775b6fb659c6398e7d5940463223 days 8 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610xfb3c04d6ee279f5566a10e50cd1e3353d6f206770.396412666179404668 Ether
0xfaa9500345e79409e4b5c77e942e3c8fada73a83724cc6265ab58d4dde64ee3e5874681234 days 15 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610x632324a5b5b1879360d5aa994fa27ea2bc1617430.064054126363698543 Ether
0x081e1334d5f5f1eb7f58dfdde11c5d6df67de409d5567666c47e4e1b03409e575854593238 days 2 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610x7cc26a97e884821ece40664512b24587145afdc40.023776582634701699 Ether
0x2e08430d72afad2e49e06fca217481ad443bbacc2d0e64fcb8c85212e672d6055725039260 days 14 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610xfea0904acc8df0f3288b6583f60b86c36ea52acd0.186654997223671652 Ether
0x70c1605792506d920b226bbaa16fae96d24e9c130a1e0ca9f1fe12599bbe6fe15710297263 days 5 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610x25860120f36bce185043a2513fc006b0a134fe4f0.094742157157325635 Ether
0x79f6bd21eaf5374d30951ed26f77e0d8a6cf35aee038b484ee7af9998582e7a65702801264 days 13 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610x7c76a64ac61d1eeafe2b8af6f7f0a6a1890418f30.152286385055309543 Ether
0xa799cde3d54e46ca8d7f36b9d40be5d1305eae205368be01b7f7d4119c91b9c45670084270 days 8 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610xb43fa78a75f642d5f40df893a1d1ed0d9869aa3a0.074679577839055268 Ether
0xb4b0367d64818845f3391679c85fad8ddd3d24d26fdef468f83899ec3fbdbb315666152271 days 1 hr ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610xffb6fd071e57f66c3af69a637361306cbd84a3890.08647990017849149 Ether
0x6be41c9aaeefd882e551e16ed6a4778ba566654f0cb738d62834a240f6b714d55657538272 days 14 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610x9640a35e5345cb0639c4dd0593567f9334ffeb8a0.021125242364054343 Ether
0xa292aa30b1ab2156a0b7459eda31ea2b057698533903f99ab624c63cef1686995653138273 days 8 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610x632324a5b5b1879360d5aa994fa27ea2bc1617430.3780014667542549 Ether
0x2fac603ae3e1604107e3acb46d85a8e636a528242a5f1c71c261ed4d6aea98fe5644665274 days 20 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610xaec539a116fa75e8bdcf016d3c146a25bc1af93b0.116217664893742137 Ether
0xec5f456e65802aa1289c5ceb6b4a9bde0eeca8b89cb604ad2255e5062c117ec55640352275 days 15 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610xf1ced8b74ff8d27805ea734525521defe35ef4750.196775973985032753 Ether
0x024775e08ae9b49d4dbdbaca51814ffabc5d6647543c45021d904a820f73bc585633254276 days 21 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610x21db5ce96df3b94a9def892b01f8a5a061630a9e0.03034612127416735 Ether
0xdfef2bd53763caed6343e20fd71f72fccc586fd51cf0b3853552f518da64363a5632916276 days 22 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610x21db5ce96df3b94a9def892b01f8a5a061630a9e0.012328857539682626 Ether
0x6b78bdfb95f249febc852d33aa3a313a4a8ee32b1aa12032bf8546b8adc5013f5630827277 days 7 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610x4f0d861281161f39c62b790995fb1e7a0b81b07b0.059732458672494091 Ether
0xec82cb029d523fb919245369922489121281b3522c8b411660a0b3037576225e5627707277 days 20 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610x1eb695d7575eda1f2c8a0aa6edf871b5fc73ea6d0.008452555714956916 Ether
0x33e26098af7a51dfd02cbc92be72dba51c5369b515a69ade846c2342267ababb5627017277 days 23 hrs ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610x6aa9efa4ea9830c25c22b2963128de4bd00e24840.005408668312437057 Ether
0x4abaf25ac47638f0fbd472e874ab66b290727cc8047651a485f0c2ff6105f44b5626793278 days 45 mins ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610x77d15e258e0d65bee3c79ecdbda615e4bd7dc32a0.432488795573231953 Ether
0x647ef7954693a88e9639c7f861b758d1009ce81f14dc23709d37cf8e8100cc885626707278 days 1 hr ago0x8da9ccf44fa08f651b71fa76f4ed41796b428f610x158c81cc3aa51e613c33900713051724f9b605830.021763052399891981 Ether
[ Download CSV Export 
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) Solidity Compiler Bugs.

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


Contract Source Code
pragma solidity ^0.4.20;
 
/*
* ====================================*
*
* PROOF OF RIPPLE
* https://poripple.com/
* https://discord.gg/6AA5etr
*
* ====================================*
*
* -> How is Proof of Ripple different than other Proof Coin?
* Proof of Ripple is a more sustainable contract with the innovative 4X Wagering Requirement mechanics.
* The total amount of all sold tokens and reinvested tokens must be at least 4 times the total purchased tokens before you can withdraw.
*
* -> Here is an example illustrating how it works:
* Let say initially you purchased 500 PoRipple tokens, and sold all 500 tokens later, at that point, you cannot immediately withdraw because the 4X Wagering Requirement haven't met yet, you'll need to reinvest your balance in order to increase the total wagering amount.
* Now suppose the tokens price dropped a bit later on, and you're able to reinvest the dividends and get 750 tokens, so if you sell all 750 tokens, you'll be able to withdraw all your balance, because the 4X Wagering Requirement is fulfilled, i.e. Total Wagered Tokens (500 sell + 750 reinvest + 750 sell) = 4 x Total Purchased Tokens (500 initial purchase)
*
* -> What is the advantages of wagering:
* 1. Unlike all other PO clones, early buyers cannot just dump and exit in PoRipple, because they'll need to reinvest it back in order to fulfill the 4X Wagering Requirement.
* 2. It incentivize token holding, and gathering dividends instead of fomo dumping.
* 3. It induce higher volatility, more actions = more dividends for holders!
* 4. People will feel more comfortable buying in later stage.
*
* -> What?
* The original autonomous pyramid, improved:
* [x] More stable than ever, having withstood severe testnet abuse and attack attempts from our community!.
* [x] Audited, tested, and approved by known community security specialists such as tocsick and Arc.
* [X] New functionality; you can now perform partial sell orders. If you succumb to weak hands, you don't have to dump all of your bags!
* [x] New functionality; you can now transfer tokens between wallets. Trading is now possible from within the contract!
* [x] New Feature: PoS Masternodes! The first implementation of Ethereum Staking in the world! Vitalik is mad.
* [x] Masternodes: Holding 50 PoRipple Tokens allow you to generate a Masternode link, Masternode links are used as unique entry points to the contract!
* [x] Masternodes: All players who enter the contract through your Masternode have 30% of their 20% dividends fee rerouted from the master-node, to the node-master!
*
* -> What about the last projects?
* Every programming member of the old dev team has been fired and/or killed by 232.
* The new dev team consists of seasoned, professional developers and has been audited by veteran solidity experts.
* Additionally, two independent testnet iterations have been used by hundreds of people; not a single point of failure was found.
*
* -> Who worked on this project?
* Trusted community from CryptoGaming
*
*/
 
contract ProofOfRipple {
    /*=================================
    =            MODIFIERS            =
    =================================*/
    // only people with tokens
    modifier onlyBagholders() {
        require(myTokens() > 0);
        _;
    }
 
    // only people with profits
    modifier onlyStronghands() {
        require(myDividends(true) > 0);
        _;
    }
 
    modifier onlyWageredWithdraw() {
       address _customerAddress = msg.sender;
       require(wageringOf_[_customerAddress] >= SafeMath.mul(initialBuyinOf_[_customerAddress], wageringRequirement_));
       _;
    }
 
    // 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)
    // they CANNOT:
    // -> take funds
    // -> disable withdrawals
    // -> kill the contract
    // -> change the price of tokens
    modifier onlyAdministrator(){
        address _customerAddress = msg.sender;
        require(administrators[_customerAddress]);
        _;
    }
 
 
    // ensures that the first tokens in the contract will be equally distributed
    // meaning, no divine dump will be ever possible
    // result: healthy longevity.
    modifier antiEarlyWhale(uint256 _amountOfEthereum){
        address _customerAddress = msg.sender;
 
        // are we still in the vulnerable phase?
        // if so, enact anti early whale protocol
        if( onlyAmbassadors && ((totalEthereumBalance() - _amountOfEthereum) <= ambassadorQuota_ )){
            require(
                // is the customer in the ambassador list?
                ambassadors_[_customerAddress] == true &&
 
                // does the customer purchase exceed the max ambassador quota?
                (ambassadorAccumulatedQuota_[_customerAddress] + _amountOfEthereum) <= ambassadorMaxPurchase_
 
            );
 
            // updated the accumulated quota
            ambassadorAccumulatedQuota_[_customerAddress] = SafeMath.add(ambassadorAccumulatedQuota_[_customerAddress], _amountOfEthereum);
 
            // execute
            _;
        } else {
            // in case the ether count drops low, the ambassador phase won't reinitiate
            onlyAmbassadors = false;
            _;
        }
 
    }
 
 
    /*==============================
    =            EVENTS            =
    ==============================*/
    event onTokenPurchase(
        address indexed customerAddress,
        uint256 incomingEthereum,
        uint256 tokensMinted,
        address indexed referredBy,
        uint256 timestamp,
        uint256 price
    );
 
    event onTokenSell(
        address indexed customerAddress,
        uint256 tokensBurned,
        uint256 ethereumEarned,
        uint256 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 = "ProofOfRipple";
    string public symbol = "PoRipple";
    uint8 constant public decimals = 18;
    uint8 constant internal dividendFee_ = 5; // 20% dividends on buy and sell and transfer
    uint256 constant internal tokenPriceInitial_ = 0.0000001 ether;
    uint256 constant internal tokenPriceIncremental_ = 0.00000001 ether;
    uint256 constant internal magnitude = 2**64;
    uint256 constant internal wageringRequirement_ = 4; // 4x is wagering requirement for the pyramid
 
    // proof of stake (defaults at 100 tokens)
    uint256 public stakingRequirement = 50e18;
 
    // ambassador program
    mapping(address => bool) internal ambassadors_;
    uint256 constant internal ambassadorMaxPurchase_ = 0.4 ether; // only 0.4 eth premine
    uint256 constant internal ambassadorQuota_ = 2 ether;
 
 
 
   /*================================
    =            DATASETS            =
    ================================*/
    mapping(address => uint256) public initialBuyinOf_; // amount of tokens bought in pyramid
    mapping(address => uint256) public wageringOf_; // wagering amount of tokens for the user
 
    // amount of shares for each address (scaled number)
    mapping(address => uint256) internal tokenBalanceLedger_;
    mapping(address => uint256) internal referralBalance_;
    mapping(address => int256) internal payoutsTo_;
    mapping(address => uint256) internal ambassadorAccumulatedQuota_;
    uint256 internal tokenSupply_ = 0;
    uint256 internal profitPerShare_;
 
    // administrator list (see above on what they can do)
    mapping(address => bool) public administrators;
 
    // when this is set to true, only ambassadors can purchase tokens (this prevents a whale premine, it ensures a fairly distributed upper pyramid)
    bool public onlyAmbassadors = true;
 
 
 
    /*=======================================
    =            PUBLIC FUNCTIONS            =
    =======================================*/
    /*
    * -- APPLICATION ENTRY POINTS --
    */
    function ProofOfRipple()
        public
    {
        // add administrators here
        administrators[0x15Fda64fCdbcA27a60Aa8c6ca882Aa3e1DE4Ea41] = true;
        ambassadors_[0x15Fda64fCdbcA27a60Aa8c6ca882Aa3e1DE4Ea41] = true;
        ambassadors_[0xFEA0904ACc8Df0F3288b6583f60B86c36Ea52AcD] = true;
        ambassadors_[0x494952f01a30547d269aaF147e6226f940f5B041] = true;
    }
 
 
    /**
     * 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, false);
    }
 
    /**
     * 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, false);
    }
 
    /**
     * 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, true);
 
        // fire event
        onReinvestment(_customerAddress, _dividends, _tokens);
    }
 
    /**
     * 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();
    }
 
    /**
     * Withdraws all of the callers earnings.
     */
    function withdraw()
        onlyStronghands()
        onlyWageredWithdraw()
        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);
    }
 
    /**
     * 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(_ethereum, dividendFee_);
        uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);
 
        // burn the sold tokens
        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokens);
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _tokens);
        // Update wagering balance of the user, add the sold amount of tokens
        wageringOf_[_customerAddress] = SafeMath.add(wageringOf_[_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());
    }
 
 
    /**
     * Transfer tokens from the caller to a new holder.
     * Remember, there's a 20% 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
        // also disables transfers until ambassador phase is over
        // ( we dont want whale premines )
        require(!onlyAmbassadors && _amountOfTokens <= tokenBalanceLedger_[_customerAddress]);
 
        // withdraw all outstanding dividends first
        if(myDividends(true) > 0) withdraw();
 
        // liquify 20% of the tokens that are transfered
        // these are dispersed to shareholders
        uint256 _tokenFee = SafeMath.div(_amountOfTokens, dividendFee_);
        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 wagering balance of the user, add the transfer amount tokens
        wageringOf_[_customerAddress] = SafeMath.add(wageringOf_[_customerAddress], _amountOfTokens);
        // Update wagering balance and buyin fee for the user tokens transfered to
        initialBuyinOf_[_toAddress] = SafeMath.add(initialBuyinOf_[_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;
 
    }
 
    /*----------  ADMINISTRATOR ONLY FUNCTIONS  ----------*/
    /**
     * In case the amassador quota is not met, the administrator can manually disable the ambassador phase.
     */
    function disableInitialStage()
        onlyAdministrator()
        public
    {
        onlyAmbassadors = false;
    }
 
    /**
     * In case one of us dies, we need to replace ourselves.
     */
    function setAdministrator(address _identifier, bool _status)
        onlyAdministrator()
        public
    {
        administrators[_identifier] = _status;
    }
 
    /**
     * Precautionary measures in case we need to adjust the masternode rate.
     */
    function setStakingRequirement(uint256 _amountOfTokens)
        onlyAdministrator()
        public
    {
        stakingRequirement = _amountOfTokens;
    }
 
    /**
     * 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;
    }
 
 
    /*----------  HELPERS AND CALCULATORS  ----------*/
    /**
     * Method to view the current Ethereum stored in the contract
     * Example: totalEthereumBalance()
     */
    function totalEthereumBalance()
        public
        view
        returns(uint)
    {
        return this.balance;
    }
 
    /**
     * Retrieve the total token supply.
     */
    function totalSupply()
        public
        view
        returns(uint256)
    {
        return tokenSupply_;
    }
 
    /**
     * Retrieve the tokens owned by the caller.
     */
    function myTokens()
        public
        view
        returns(uint256)
    {
        address _customerAddress = msg.sender;
        return balanceOf(_customerAddress);
    }
 
    /**
     * 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) ;
    }
 
    /**
     * Retrieve the token balance of any single address.
     */
    function balanceOf(address _customerAddress)
        view
        public
        returns(uint256)
    {
        return tokenBalanceLedger_[_customerAddress];
    }
 
    /**
     * Retrieve the dividend balance of any single address.
     */
    function dividendsOf(address _customerAddress)
        view
        public
        returns(uint256)
    {
        return (uint256) ((int256)(profitPerShare_ * tokenBalanceLedger_[_customerAddress]) - payoutsTo_[_customerAddress]) / magnitude;
    }
 
    /**
     * Return the buy 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(_ethereum, dividendFee_  );
            uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);
            return _taxedEthereum;
        }
    }
 
    /**
     * Return the sell 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(_ethereum, dividendFee_  );
            uint256 _taxedEthereum = SafeMath.add(_ethereum, _dividends);
            return _taxedEthereum;
        }
    }
 
    /**
     * 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(_ethereumToSpend, dividendFee_);
        uint256 _taxedEthereum = SafeMath.sub(_ethereumToSpend, _dividends);
        uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum);
 
        return _amountOfTokens;
    }
 
    /**
     * 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(_ethereum, dividendFee_);
        uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);
        return _taxedEthereum;
    }
 
 
    /*==========================================
    =            INTERNAL FUNCTIONS            =
    ==========================================*/
    function purchaseTokens(uint256 _incomingEthereum, address _referredBy,  bool _isReinvest)
        antiEarlyWhale(_incomingEthereum)
        internal
        returns(uint256)
    {
        // data setup
        uint256 _undividedDividends = SafeMath.div(_incomingEthereum, dividendFee_);
        uint256 _referralBonus = SafeMath.div(_undividedDividends, 3);
        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 != msg.sender &&
 
            // 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_[msg.sender] = SafeMath.add(tokenBalanceLedger_[msg.sender], _amountOfTokens);
 
        
        if (_isReinvest) {
            // Update the Wagering Balance for the customer
            wageringOf_[msg.sender] = SafeMath.add(wageringOf_[msg.sender], _amountOfTokens);
        } else {
          // If it is not reinvest update initial Buy In amount
          initialBuyinOf_[msg.sender] = SafeMath.add(initialBuyinOf_[msg.sender], _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_[msg.sender] += _updatedPayouts;
 
        // fire event
        onTokenPurchase(msg.sender, _incomingEthereum, _amountOfTokens, _referredBy, now, buyPrice());
 
        return _amountOfTokens;
    }
 
    /**
     * 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;
    }
 
    /**
     * 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;
    }
 
 
    //This is where all your gas goes, sorry
    //Not sorry, you probably only paid 1 gwei
    function sqrt(uint x) internal pure returns (uint y) {
        uint 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":"","type":"address"}],"name":"wageringOf_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"onlyAmbassadors","outputs":[{"name":"","type":"bool"}],"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":"","type":"address"}],"name":"initialBuyinOf_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"","type":"address"}],"name":"administrators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","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":false,"inputs":[{"name":"_identifier","type":"address"},{"name":"_status","type":"bool"}],"name":"setAdministrator","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"disableInitialStage","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"_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"},{"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"}]

Contract Creation Code
60606040526040805190810160405280600d81526020017f50726f6f664f66526970706c650000000000000000000000000000000000000081525060009080519060200190620000519291906200028f565b506040805190810160405280600881526020017f506f526970706c65000000000000000000000000000000000000000000000000815250600190805190602001906200009f9291906200028f565b506802b5e3af16b18800006002556000600a556001600d60006101000a81548160ff0219169083151502179055503415620000d957600080fd5b6001600c60007315fda64fcdbca27a60aa8c6ca882aa3e1de4ea4173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360007315fda64fcdbca27a60aa8c6ca882aa3e1de4ea4173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600073fea0904acc8df0f3288b6583f60b86c36ea52acd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600073494952f01a30547d269aaf147e6226f940f5b04173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200033e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002d257805160ff191683800117855562000303565b8280016001018555821562000303579182015b8281111562000302578251825591602001919060010190620002e5565b5b50905062000312919062000316565b5090565b6200033b91905b80821115620003375760008160009055506001016200031d565b5090565b90565b6128ed806200034e6000396000f300606060405260043610610174576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806265318b1461018357806306fdde03146101d057806310d0ffdd1461025e57806318160ddd1461029557806322609373146102be57806326b75952146102f557806327defa1f14610342578063313ce5671461036f5780633ccfd60b1461039e57806345e069ae146103b35780634b7503341461040057806356d399e814610429578063688abbf7146104525780636b2f46321461048b57806370a08231146104b457806376be1585146105015780638328b610146105525780638620410b1461057557806387c950581461059e578063949e8acd146105e257806395d89b411461060b578063a8e04f3414610699578063a9059cbb146106ae578063b84c824614610708578063c47f002714610765578063e4849b32146107c2578063e9fad8ee146107e5578063f088d547146107fa578063fdb5a03e1461083c575b61018034600080610851565b50005b341561018e57600080fd5b6101ba600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113be565b6040518082815260200191505060405180910390f35b34156101db57600080fd5b6101e3611460565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610223578082015181840152602081019050610208565b50505050905090810190601f1680156102505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561026957600080fd5b61027f60048080359060200190919050506114fe565b6040518082815260200191505060405180910390f35b34156102a057600080fd5b6102a8611536565b6040518082815260200191505060405180910390f35b34156102c957600080fd5b6102df6004808035906020019091905050611540565b6040518082815260200191505060405180910390f35b341561030057600080fd5b61032c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611589565b6040518082815260200191505060405180910390f35b341561034d57600080fd5b6103556115a1565b604051808215151515815260200191505060405180910390f35b341561037a57600080fd5b6103826115b4565b604051808260ff1660ff16815260200191505060405180910390f35b34156103a957600080fd5b6103b16115b9565b005b34156103be57600080fd5b6103ea600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506117f3565b6040518082815260200191505060405180910390f35b341561040b57600080fd5b61041361180b565b6040518082815260200191505060405180910390f35b341561043457600080fd5b61043c611869565b6040518082815260200191505060405180910390f35b341561045d57600080fd5b6104756004808035151590602001909190505061186f565b6040518082815260200191505060405180910390f35b341561049657600080fd5b61049e6118db565b6040518082815260200191505060405180910390f35b34156104bf57600080fd5b6104eb600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506118fa565b6040518082815260200191505060405180910390f35b341561050c57600080fd5b610538600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611943565b604051808215151515815260200191505060405180910390f35b341561055d57600080fd5b6105736004808035906020019091905050611963565b005b341561058057600080fd5b6105886119cb565b6040518082815260200191505060405180910390f35b34156105a957600080fd5b6105e0600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080351515906020019091905050611a29565b005b34156105ed57600080fd5b6105f5611ae2565b6040518082815260200191505060405180910390f35b341561061657600080fd5b61061e611af7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561065e578082015181840152602081019050610643565b50505050905090810190601f16801561068b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156106a457600080fd5b6106ac611b95565b005b34156106b957600080fd5b6106ee600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611c10565b604051808215151515815260200191505060405180910390f35b341561071357600080fd5b610763600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061205a565b005b341561077057600080fd5b6107c0600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506120d2565b005b34156107cd57600080fd5b6107e3600480803590602001909190505061214a565b005b34156107f057600080fd5b6107f861241b565b005b610826600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612482565b6040518082815260200191505060405180910390f35b341561084757600080fd5b61084f612496565b005b6000806000806000806000808a6000339050600d60009054906101000a900460ff1680156108905750671bc16d674ec800008261088c6118db565b0311155b15610eb65760011515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514801561093e575067058d15e17628000082600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111155b151561094957600080fd5b610992600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361260c565b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109e38d600560ff1661262a565b98506109f089600361262a565b97506109fc8989612645565b9650610a088d8a612645565b9550610a138661265e565b94506801000000000000000087029350600085118015610a3f5750600a54610a3d86600a5461260c565b115b1515610a4a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614158015610ab357503373ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b8015610b005750600254600660008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15610b9657610b4e600760008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548961260c565b600760008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bb1565b610ba0878961260c565b965068010000000000000000870293505b6000600a541115610c1c57610bc8600a548661260c565b600a81905550600a54680100000000000000008802811515610be657fe5b04600b60008282540192505081905550600a54680100000000000000008802811515610c0e57fe5b048502840384039350610c24565b84600a819055505b610c6d600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548661260c565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508a15610d4757610cff600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548661260c565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610dd4565b610d90600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548661260c565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8385600b540203925082600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8032875b28d82ddbd303a9e4e5529d047a14ecb6290f80012a81b7e6227ff1ab8f8842610e846119cb565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a38499506113ae565b6000600d60006101000a81548160ff021916908315150217905550610edf8d600560ff1661262a565b9850610eec89600361262a565b9750610ef88989612645565b9650610f048d8a612645565b9550610f0f8661265e565b94506801000000000000000087029350600085118015610f3b5750600a54610f3986600a5461260c565b115b1515610f4657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614158015610faf57503373ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b8015610ffc5750600254600660008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b156110925761104a600760008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548961260c565b600760008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110ad565b61109c878961260c565b965068010000000000000000870293505b6000600a541115611118576110c4600a548661260c565b600a81905550600a546801000000000000000088028115156110e257fe5b04600b60008282540192505081905550600a5468010000000000000000880281151561110a57fe5b048502840384039350611120565b84600a819055505b611169600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548661260c565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508a15611243576111fb600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548661260c565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112d0565b61128c600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548661260c565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8385600b540203925082600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8032875b28d82ddbd303a9e4e5529d047a14ecb6290f80012a81b7e6227ff1ab8f88426113806119cb565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a38499505b5050505050505050509392505050565b600068010000000000000000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600b54020381151561145857fe5b049050919050565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114f65780601f106114cb576101008083540402835291602001916114f6565b820191906000526020600020905b8154815290600101906020018083116114d957829003601f168201915b505050505081565b60008060008061151285600560ff1661262a565b925061151e8584612645565b91506115298261265e565b9050809350505050919050565b6000600a54905090565b600080600080600a54851115151561155757600080fd5b611560856126eb565b925061157083600560ff1661262a565b915061157c8383612645565b9050809350505050919050565b60056020528060005260406000206000915090505481565b600d60009054906101000a900460ff1681565b601281565b60008060006115c8600161186f565b1115156115d457600080fd5b6000339050611623600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546004612796565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561167057600080fd5b33925061167d600061186f565b9150680100000000000000008202600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054820191506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156117a057600080fd5b8273ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc836040518082815260200191505060405180910390a2505050565b60046020528060005260406000206000915090505481565b6000806000806000600a541415611830576402540be40064174876e800039350611863565b611841670de0b6b3a76400006126eb565b925061185183600560ff1661262a565b915061185d8383612645565b90508093505b50505090565b60025481565b6000803390508261188857611883816113be565b6118d3565b600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118d1826113be565b015b915050919050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156119c057600080fd5b816002819055505050565b6000806000806000600a5414156119f0576402540be40064174876e800019350611a23565b611a01670de0b6b3a76400006126eb565b9250611a1183600560ff1661262a565b9150611a1d838361260c565b90508093505b50505090565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611a8657600080fd5b81600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b600080339050611af1816118fa565b91505090565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b8d5780601f10611b6257610100808354040283529160200191611b8d565b820191906000526020600020905b815481529060010190602001808311611b7057829003601f168201915b505050505081565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611bf257600080fd5b6000600d60006101000a81548160ff02191690831515021790555050565b600080600080600080611c21611ae2565b111515611c2d57600080fd5b339350600d60009054906101000a900460ff16158015611c8c5750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548611155b1515611c9757600080fd5b6000611ca3600161186f565b1115611cb257611cb16115b9565b5b611cc086600560ff1661262a565b9250611ccc8684612645565b9150611cd7836126eb565b9050611ce5600a5484612645565b600a81905550611d34600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487612645565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dc0600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361260c565b600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e4c600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548761260c565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ed8600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361260c565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085600b5402600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600b5402600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550611fe1600b54600a54680100000000000000008402811515611fdb57fe5b0461260c565b600b819055508673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600194505050505092915050565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156120b757600080fd5b81600190805190602001906120cd92919061281c565b505050565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561212f57600080fd5b816000908051906020019061214592919061281c565b505050565b600080600080600080600061215d611ae2565b11151561216957600080fd5b339550600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487111515156121ba57600080fd5b8694506121c6856126eb565b93506121d684600560ff1661262a565b92506121e28484612645565b91506121f0600a5486612645565b600a8190555061223f600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612645565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122cb600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548661260c565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555068010000000000000000820285600b540201905080600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506000600a5411156123a55761239e600b54600a5468010000000000000000860281151561239857fe5b0461260c565b600b819055505b8573ffffffffffffffffffffffffffffffffffffffff167f8d3a0130073dbd54ab6ac632c05946df540553d3b514c9f8165b4ab7f2b1805e8684426123e86119cb565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a250505050505050565b600080339150600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115612476576124758161214a565b5b61247e6115b9565b5050565b600061249034836000610851565b50919050565b6000806000806124a6600161186f565b1115156124b257600080fd5b6124bc600061186f565b9250339150680100000000000000008302600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054830192506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125af8360006001610851565b90508173ffffffffffffffffffffffffffffffffffffffff167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588483604051808381526020018281526020019250505060405180910390a2505050565b600080828401905083811015151561262057fe5b8091505092915050565b600080828481151561263857fe5b0490508091505092915050565b600082821115151561265357fe5b818303905092915050565b6000806000670de0b6b3a764000064174876e800029150600a546402540be4006126d46126ce600a54866402540be40060020202026002600a540a60026402540be4000a02670de0b6b3a76400008a02670de0b6b3a76400006402540be40002600202026002890a0101016127d1565b85612645565b8115156126dd57fe5b040390508092505050919050565b600080600080670de0b6b3a764000085019250670de0b6b3a7640000600a54019150670de0b6b3a764000061277f670de0b6b3a764000085036402540be400670de0b6b3a76400008681151561273d57fe5b046402540be4000264174876e8000103026002670de0b6b3a7640000876002890a0381151561276857fe5b046402540be4000281151561277957fe5b04612645565b81151561278857fe5b049050809350505050919050565b60008060008414156127ab57600091506127ca565b82840290508284828115156127bc57fe5b041415156127c657fe5b8091505b5092915050565b6000806002600184018115156127e357fe5b0490508291505b8181101561281657809150600281828581151561280357fe5b040181151561280e57fe5b0490506127ea565b50919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061285d57805160ff191683800117855561288b565b8280016001018555821561288b579182015b8281111561288a57825182559160200191906001019061286f565b5b509050612898919061289c565b5090565b6128be91905b808211156128ba5760008160009055506001016128a2565b5090565b905600a165627a7a72305820f97a1f7399cce3818eb3db08284cd35186dd65e6b942caeb2e3559292e7673cc0029


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