Sponsored Link:   COVESTING - EU-based digital asset exchange. Aggregated liquidity. Algorithmic & Copy-trading features. 24/7 support. Get access!
Contract Overview
Balance: 47.411391117922131332 Ether
Ether Value: $24,498.41 (@ $516.72/ETH)
Transactions: 9506 txns
Token Contract: REV1 (REV1)
 Latest 25 txns from a total Of 9506 transactions
View All

TxHash Age From To Value [TxFee]
0x8789008895a74cfb90b0de7bafac4bdaf3c6bf8514441847e809cbd4549e0e9547 mins ago0xae3a597dc95821370ef94afeb560e0d904688db6  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000055647005
0x39fe1f3a955b213e5866960679d400d5b4f4353485a9be17900134213e5b6f581 hr 30 mins ago0xae3a597dc95821370ef94afeb560e0d904688db6  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000055647
0xb34b9f1592d8e1f7cf55bcb08219459e55930dd9b8a20d2338b37fd96770863a2 hrs 25 mins ago0x7ef5d02356f779170b49ba2bcbac3a9105fb10d1  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.0002218245
0x3854beedb9d8cfd7744f239498f7ac7f202e1d20c2e39d62a631582712578c713 hrs 5 mins ago0x7ef5d02356f779170b49ba2bcbac3a9105fb10d1  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000195484
0x8f1065ef838b8bd9f46ba59735c96d90765d844dbcde40b092a152d01ebdfa3a3 hrs 27 mins ago0xae3a597dc95821370ef94afeb560e0d904688db6  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.0000447117
0x53606619b20aafb05493e7b2175823d3827ad5cdd8a7e93121168ccbaf4796194 hrs 24 mins ago0xebcc64cf3d710fc98207dabdc17f9be443d2699d  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.0000612117
0x1bbafdb726db47bf8fd691fbaf31af2f25a3c7c70827283bade91f5aa91af76d7 hrs 33 mins ago0xae3a597dc95821370ef94afeb560e0d904688db6  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000111294
0x78f9a9bfd52aabfe9b5ec92c5a8ae267cbcc3ce8aba550e6fea7b62715456a0c7 hrs 34 mins ago0xa96c206f11a94a7b9dc341ca44eaa831a264716f  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000111294
0xd382778166f57d05dc817faad6c4090d530c6c10ed4ef3664a7b851e624f45508 hrs 4 mins ago0x51faac1a4072bafb87a4cc50673ed4dad9a66817  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000043495
0x267e33f520a73117e5d9c362808c87687afc1055ece1b9a063edfda3a2a6e0979 hrs 21 mins ago0xf0a14b2ba2ecacf1c2954717811d3d836110ae5d  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000077727
0xebe43d72b831f63563ce95842566226af5261f23c9171b729f7c4a6a41ac128510 hrs 4 mins ago0xbb3f1c738ed1e98058796e6f071ff161f41968b7  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.0002281527
0xa3025a9231c6a50a627d9282c9f89a21d9155b02fd99d1fe19fa642360f2672a10 hrs 27 mins ago0xae3a597dc95821370ef94afeb560e0d904688db6  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000222588
0xe3c91b44bfed93831712962aaeb772d8c881a985c1b4e93e8c6cd66741415b4d10 hrs 44 mins ago0x879139630679f6a219409ba8859b0d4945cc8ad8  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.00017398
0x02d424e2b8fe154248217b457bd74d1b9afc44ebe66692b552cea2a7151188bc10 hrs 46 mins ago0xebcc64cf3d710fc98207dabdc17f9be443d2699d  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000111294
0x06929ab56df0bf4bc5d58760cddf2c9a2bc311fc8ff8d47143f78d1efabf0a2810 hrs 46 mins ago0xae3a597dc95821370ef94afeb560e0d904688db6  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000111294
0x17ff03d9d2da9bb19348010b211be6e5831889d33509915d69cb10228c81810e10 hrs 48 mins ago0xae3a597dc95821370ef94afeb560e0d904688db6  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000115714
0x5a448a8612d985faee1ce8a859a304a2495d95b835c01ce8c4e95e30d9ae983810 hrs 49 mins ago0xc13e14064c312203b7388bd44741da72adbecb1e  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000111294
0x36e3b01f6c40712d776807122862f73874cf7ed74e1fa85fad798feab00b05ea11 hrs 51 mins ago0x22b83d31984309e7edacdee6cd1b8c98ac89490c  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000203235
0xdbe31ede56dcdfb04f621837637202e41b893c09cc7f21d1ab71b6a8d6a8333214 hrs 5 mins ago0x6d484eef5fbe97216d1c416f63e0f9dcc04af376  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.0008699
0x5474b07549f506a7bbc92a0c809c7e4057149266fcf13cbfaf97f65d1f3d0b2a14 hrs 16 mins ago0x173bb3cfee874d7b2063312c87edb275d0d656d2  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000333882
0x4bdf963154b61431ffc02e5dc70bc9c9e3205b48023f39aafb4b9026d3baff8f15 hrs 20 mins ago0x459628b55e94d3c749823e90714cd85e048c360d  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.0003394467
0xb49e337fec4287c6ebc329b9f52fd7a7f9dd9b5ad0b75492e86cedfeda8ed84915 hrs 45 mins ago0x4aecb7caf0b9eabb46b58938c6f28b5262e38d42  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000111294
0x556dc5515d13b2571d89b9202c4869214df69b0fce884a09afdbf55dab4ccd5e16 hrs 22 mins ago0xae3a597dc95821370ef94afeb560e0d904688db6  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000081294
0x5797676d8f7a21eeec549b72854f646ec286b90a85956aecb4a0c098c9c5060118 hrs 4 mins ago0x296831944e66b499b26346a280b53e6ab6af6f87  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000217475
0x4d05db943bcccd81a84eac6a264c639874595937cbf701531059d58e33dbc36118 hrs 44 mins ago0xae3a597dc95821370ef94afeb560e0d904688db6  IN   0x05215fce25902366480696f38c3093e31dbce69a0 Ether0.000162588
[ 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
0x50dc933c674b48f405bc6714e3837df9e41cdd9f363302342b68bbaee67f5e9358321607 mins ago0x05215fce25902366480696f38c3093e31dbce69a0x87e5212a30135d562501143cec9f95ffb1de4e9f0.000000000007817681 Ether
0x50dc933c674b48f405bc6714e3837df9e41cdd9f363302342b68bbaee67f5e9358321607 mins ago0x87e5212a30135d562501143cec9f95ffb1de4e9f0x05215fce25902366480696f38c3093e31dbce69a0.000077042105720524 Ether
0x05fd3c09b928c263463f88023e1ce053b41287f55423be0688fac49caef810f458321577 mins ago0x05215fce25902366480696f38c3093e31dbce69a0xd9d4a84daea75acae7a682ce66f599fb5402bb940.000000000000100571 Ether
0x05fd3c09b928c263463f88023e1ce053b41287f55423be0688fac49caef810f458321577 mins ago0xd9d4a84daea75acae7a682ce66f599fb5402bb940x05215fce25902366480696f38c3093e31dbce69a0.000008738247130092 Ether
0x0c8f36d662aad2d21a20e919d6534e4eaffaa8bc4a0bdeea3402674cb0f7e532583203834 mins ago0x05215fce25902366480696f38c3093e31dbce69a0xa5629861c9c345f50221996ef852fd9665eb1c050.005737260817755864 Ether
0x8789008895a74cfb90b0de7bafac4bdaf3c6bf8514441847e809cbd4549e0e95583198447 mins ago0x05215fce25902366480696f38c3093e31dbce69a0xae3a597dc95821370ef94afeb560e0d904688db60.002131773109883764 Ether
0x1733e54d981a46d0ecda35c298cc6a2cef00d04fe2a477ca3268ebe11166826058318791 hr 11 mins ago0x05215fce25902366480696f38c3093e31dbce69a0xd9d4a84daea75acae7a682ce66f599fb5402bb940.000000002021963596 Ether
0x1733e54d981a46d0ecda35c298cc6a2cef00d04fe2a477ca3268ebe11166826058318791 hr 11 mins ago0xd9d4a84daea75acae7a682ce66f599fb5402bb940x05215fce25902366480696f38c3093e31dbce69a0.001239046292001406 Ether
0xbf7200acdcbc8d9324da2b23f8577dc644e73aca5979dde720b64ad7d9cc685158318741 hr 12 mins ago0x05215fce25902366480696f38c3093e31dbce69a0x87e5212a30135d562501143cec9f95ffb1de4e9f0.000000002554999972 Ether
0xbf7200acdcbc8d9324da2b23f8577dc644e73aca5979dde720b64ad7d9cc685158318741 hr 12 mins ago0x87e5212a30135d562501143cec9f95ffb1de4e9f0x05215fce25902366480696f38c3093e31dbce69a0.001392803394237584 Ether
0x39fe1f3a955b213e5866960679d400d5b4f4353485a9be17900134213e5b6f5858318071 hr 30 mins ago0x05215fce25902366480696f38c3093e31dbce69a0xae3a597dc95821370ef94afeb560e0d904688db60.004006229753109764 Ether
0x63836cc7e0a5c56e7662d42592440b0cb9f2cbbe98718747615f650ead1483f558317291 hr 48 mins ago0x05215fce25902366480696f38c3093e31dbce69a0xd9d4a84daea75acae7a682ce66f599fb5402bb940.000000001328565106 Ether
0x63836cc7e0a5c56e7662d42592440b0cb9f2cbbe98718747615f650ead1483f558317291 hr 48 mins ago0xd9d4a84daea75acae7a682ce66f599fb5402bb940x05215fce25902366480696f38c3093e31dbce69a0.001004394595089568 Ether
0x5ac7ec5598c8666c56da5b9f4bac3079e4a3d98f926c9deeffa7f454123d60be58316162 hrs 17 mins ago0x05215fce25902366480696f38c3093e31dbce69a0xd9d4a84daea75acae7a682ce66f599fb5402bb940.000000002671054908 Ether
0x5ac7ec5598c8666c56da5b9f4bac3079e4a3d98f926c9deeffa7f454123d60be58316162 hrs 17 mins ago0xd9d4a84daea75acae7a682ce66f599fb5402bb940x05215fce25902366480696f38c3093e31dbce69a0.001424127111167041 Ether
0xb34b9f1592d8e1f7cf55bcb08219459e55930dd9b8a20d2338b37fd96770863a58315872 hrs 25 mins ago0x05215fce25902366480696f38c3093e31dbce69a0x7ef5d02356f779170b49ba2bcbac3a9105fb10d10.001972965836523895 Ether
0x8ac132c584a70667ade98be82a90ece8e71d7bc49dbccb3ff24b753e0140974e58315592 hrs 31 mins ago0x05215fce25902366480696f38c3093e31dbce69a0x87e5212a30135d562501143cec9f95ffb1de4e9f0.000000002289345665 Ether
0x8ac132c584a70667ade98be82a90ece8e71d7bc49dbccb3ff24b753e0140974e58315592 hrs 31 mins ago0x87e5212a30135d562501143cec9f95ffb1de4e9f0x05215fce25902366480696f38c3093e31dbce69a0.001318426363991879 Ether
0x0b33f9fa74a93e935bd474c0b607108927cc23f9389cc9288469961117b1822358314542 hrs 57 mins ago0x05215fce25902366480696f38c3093e31dbce69a0xd9d4a84daea75acae7a682ce66f599fb5402bb940.00000000189366202 Ether
0x0b33f9fa74a93e935bd474c0b607108927cc23f9389cc9288469961117b1822358314542 hrs 57 mins ago0xd9d4a84daea75acae7a682ce66f599fb5402bb940x05215fce25902366480696f38c3093e31dbce69a0.001199070806415113 Ether
0x637e4451bbdcc07477eb69abed5ad0cf3a58bfb3570dfb877eba656011cb22f258314073 hrs 10 mins ago0x05215fce25902366480696f38c3093e31dbce69a0x2781349e2833bf56d356d18af9788919cc727cb70.000000007750920355 Ether
0x637e4451bbdcc07477eb69abed5ad0cf3a58bfb3570dfb877eba656011cb22f258314073 hrs 10 mins ago0x2781349e2833bf56d356d18af9788919cc727cb70x05215fce25902366480696f38c3093e31dbce69a0.002425912697463816 Ether
0x8f1065ef838b8bd9f46ba59735c96d90765d844dbcde40b092a152d01ebdfa3a58313423 hrs 27 mins ago0x05215fce25902366480696f38c3093e31dbce69a0xae3a597dc95821370ef94afeb560e0d904688db60.010552165568680128 Ether
0xfdb63df4bf909f85c4b5098e11a9ded4bc674a2d8875d421bae61a57d2ead82958313333 hrs 29 mins ago0x05215fce25902366480696f38c3093e31dbce69a0xd9d4a84daea75acae7a682ce66f599fb5402bb940.000000005596479389 Ether
0xfdb63df4bf909f85c4b5098e11a9ded4bc674a2d8875d421bae61a57d2ead82958313333 hrs 29 mins ago0xd9d4a84daea75acae7a682ce66f599fb5402bb940x05215fce25902366480696f38c3093e31dbce69a0.00252496073089492 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact match)
Contract Name: REV1
Compiler Version: v0.4.24-nightly.2018.5.11+commit.43803b1a
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.20;


/*
* 
* REVOLUTION1
*
* A new concept in profit sharing and giving back to the community
*
*/

contract REV1 {
    /*=================================
    =            MODIFIERS            =
    =================================*/
    // only people with tokens
    modifier onlyBagholders() {
        require(myTokens() > 0);
        _;
    }
    
    // only people with profits
    modifier onlyStronghands() {
        require(myDividends(true) > 0);
        _;
    }
    
    // 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[keccak256(_customerAddress)]);
        _;
    }
    
    //fvrr2 ensure that every buy transaction has a maximum of 1 ETH when the contract reaches 10 ETH
    modifier limitBuy() { 
        if(msg.value > 1 ether) { // check if the transaction is over 1ether
            if (address(this).balance >= 10 ether) { // if so check if the contract has over 10 ether
                revert(); // if so : revert the transaction
            }
        }
        _;
    }

    /*==============================
    =            EVENTS            =
    ==============================*/
    event onTokenPurchase(
        address indexed customerAddress,
        uint256 incomingEthereum,
        uint256 tokensMinted,
        address indexed referredBy
    );
    
    event onTokenSell(
        address indexed customerAddress,
        uint256 tokensBurned,
        uint256 ethereumEarned
    );
    
    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 = "REV1";
    string public symbol = "REV1";
    uint8 constant public decimals = 18;
    uint8 constant internal dividendFee_ = 10;
    uint256 constant internal tokenPriceInitial_ = 0.0000001 ether;
    uint256 constant internal tokenPriceIncremental_ = 0.00000001 ether;
    uint256 constant internal magnitude = 2**64;
    
    // proof of stake (defaults at 100 tokens)
    uint256 public stakingRequirement = 5e18;
    
    // ambassador program
    mapping(address => bool) internal ambassadors_;
    
    
    
   /*================================
    =            DATASETS            =
    ================================*/
    // amount of shares for each address (scaled number)
    mapping(address => uint256) internal tokenBalanceLedger_;
    mapping(address => uint256) public   ambassadorLedger;
    mapping(address => uint256) internal referralBalance_;
    mapping(address => int256) internal payoutsTo_;
    uint256 internal tokenSupply_ = 0;
    uint256 internal ambassadorSupply = 0; // fvrr is important to be able to view the REAL supply with ambassador tokens but still receiving his dividends.
    uint256 internal profitPerShare_;
    mapping(address => bool) internal whitelisted_; // fvrr3
    bool internal whitelist_ = true; // fvrr3 whitelist is automatically activated
    
    // administrator list (see above on what they can do)
    mapping(bytes32 => bool) public administrators;
    


    /*=======================================
    =            PUBLIC FUNCTIONS            =
    =======================================*/
    /*
    * -- APPLICATION ENTRY POINTS --  
    */
    constructor()
        public
    {
        // add administrators here
        //No ambassadors aside from the WHALE
        

        // add the ambassadors here. 
        ambassadors_[0x7301494d217C50557f4b2A515F0c65FA9b302641] = true; //D

        whitelisted_[0x7301494d217C50557f4b2A515F0c65FA9b302641] = true;
        whitelisted_[0xB093E319f94c02604FdDD57701Cd5C34F71d6f3d] = true;
        whitelisted_[0xc42559F88481e1Df90f64e5E9f7d7C6A34da5691] = true;
        whitelisted_[0xd72998ab5681d8EA37D16Ad9bf3aE50b4C693289] = true;
        whitelisted_[0x3B37F823108A1BF7cdb0c6626b473e3bC9D21621] = 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)
    {
        excludeAmbassadors(msg.value, _referredBy); // fvrr : just a tag so I can easily search for parts that I changed
    }
    
    /**
     * Fallback function to handle ethereum that was send straight to the contract
     * Unfortunately we cannot use a referral address this way.
     */
    function()
        payable
        public
    {
        excludeAmbassadors(msg.value, 0x0); // fvrr : just a tag so I can easily search for parts that I changed
    }
    
    /**
     * 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;
        require(ambassadors_[_customerAddress] == false); //fvrr ambassador can't reinvest tokens
        payoutsTo_[_customerAddress] +=  (int256) (_dividends * magnitude);
        
        // retrieve ref. bonus
        _dividends += referralBalance_[_customerAddress];
        referralBalance_[_customerAddress] = 0;
        
        // dispatch a buy order with the virtualized "withdrawn dividends"
        uint256 _tokens = purchaseTokens(_dividends, 0x0);
        
        // fire event
        emit 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()
        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
        emit onWithdraw(_customerAddress, _dividends);
    }
    
    /**
     * Liquifies tokens to ethereum.
     */
    function sell(uint256 _amountOfTokens)
        onlyBagholders()
        public
    {
        // setup data
        address _customerAddress = msg.sender;
        require(ambassadors_[_customerAddress] == false); //fvrr ambassador can't sell tokens
        // 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 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
        emit onTokenSell(_customerAddress, _tokens, _taxedEthereum);
    }
    
    
    /**
     * Transfer tokens from the caller to a new holder.
     * Remember, there's a 10% fee here as well.
     */
    function transfer(address _toAddress, uint256 _amountOfTokens)
        onlyBagholders()
        public
        returns(bool)
    {
        // setup
        address _customerAddress = msg.sender;
        require(ambassadors_[_customerAddress] == false && ambassadors_[_toAddress] == false); //fvrr ambassador can't transfer tokens or receive tokens
        
        // make sure we have the requested tokens
        // also disables transfers until ambassador phase is over
        // ( we dont want whale premines )
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);
        
        // withdraw all outstanding dividends first
        if(myDividends(true) > 0) withdraw();
        
        // liquify 10% of the tokens that are transfered
        // these are dispersed to shareholders
        //uint256 _tokenFee = SafeMath.div(_amountOfTokens, dividendFee_); // fvrr2 disable dividends
        //uint256 _taxedTokens = SafeMath.sub(_amountOfTokens, _tokenFee); // fvrr2 disable dividends
        //uint256 _dividends = tokensToEthereum_(_tokenFee); // fvrr2 disable dividends
  
        // burn the fee tokens
        //tokenSupply_ = SafeMath.sub(tokenSupply_, _tokenFee); // fvrr2 disable dividends

        // exchange tokens
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
        tokenBalanceLedger_[_toAddress] = SafeMath.add(tokenBalanceLedger_[_toAddress], _amountOfTokens); // fvrr2 _taxedTokens = _amountOfTokens
        
        // update dividend trackers
        payoutsTo_[_customerAddress] -= (int256) (profitPerShare_ * _amountOfTokens);
        payoutsTo_[_toAddress] += (int256) (profitPerShare_ * _amountOfTokens); // fvrr2 _taxedTokens = _amountOfTokens
        
        // disperse dividends among holders
        //profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_); // fvrr2 disable dividends
        
        // fire event
        emit Transfer(_customerAddress, _toAddress, _amountOfTokens); // fvrr2 _taxedTokens = _amountOfTokens
        
        // ERC20
        return true;
       
    }
    
    /*----------  ADMINISTRATOR ONLY FUNCTIONS  ----------*/

    /**
     * In case one of us dies, we need to replace ourselves.
     */
    function setAdministrator(bytes32 _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 address (this).balance;
    }
    
    /**
     * Retrieve the total token supply.
     */
    function totalSupply()
        public
        view
        returns(uint256)
    {
        return tokenSupply_ + ambassadorSupply; // fvrr adds the tokens from ambassadors to the supply (but not to the dividends calculation which is based on the supply)
    }
    
    /**
     * 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)
    {
        uint256 balance;
        if (ambassadors_[msg.sender] == true) { // changement here so the ambassador still sees his special amount of tokens
            balance = ambassadorLedger[_customerAddress]; // fvrr : just a tag so I can easily search for parts that I changed
        }
        else {
            balance = tokenBalanceLedger_[_customerAddress];
        }
        return balance;
    }
    
    /**
     * 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_+ambassadorSupply == 0){ // fvrr changed so they see the correct price with ambassadorSupply
            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_+ambassadorSupply == 0){ // fvrr changed so they see the correct price with ambassadorSupply
            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;
    }
    
    function disableWhitelist() public returns(bool){
        require(ambassadors_[msg.sender] == true);
        whitelist_ = false;

        return whitelist_;
    }
    /*==========================================
    =            INTERNAL FUNCTIONS            =
    ==========================================*/
    function excludeAmbassadors(uint256 _incomingEthereum, address _referredBy) internal returns(uint256) { // fvrr : just a tag so I can easily search for parts that I changed
        address _customerAddress = msg.sender;
        uint256 StokenAmount;

        //fvrr3 if the whitelist is true only whitelisted people are allowed to buy.
        //whitelist
        if((msg.value) < address(this).balance && (address(this).balance-(msg.value)) >= 7 ether) { 
            whitelist_ = false; 
            }

        if (whitelisted_[msg.sender] == false && whitelist_ == true) { // if the person is not whitelisted but whitelist is true/active, revert the transaction
            revert();
        }

        StokenAmount = purchaseTokens(msg.value, _referredBy); //redirects to purchaseTokens so same functionality

        if (ambassadors_[_customerAddress] == true) { // special treatment of ambassador addresses (only for them)

            tokenSupply_ = SafeMath.sub(tokenSupply_, StokenAmount); // takes out ambassadors token from the tokenSupply_ (important for redistribution)
            tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], StokenAmount); // takes out ambassadors tokens from his ledger so he is "officially" holding 0 tokens. (=> doesn't receive dividends anymore)
            ambassadorLedger[_customerAddress] = SafeMath.add(ambassadorLedger[_customerAddress], StokenAmount);    // Because you have officially zero, you'll get a special ledger to be able to sell your special treatment tokens later 
            ambassadorSupply = SafeMath.add(ambassadorSupply, StokenAmount); // we need this for a correct totalSupply() number later
        }

        return StokenAmount;
    }


    function purchaseTokens(uint256 _incomingEthereum, address _referredBy)
        limitBuy() // fvrr2 add the limitBuy restriction
        internal
        returns(uint256)
    {
        // data setup
        address _customerAddress = msg.sender;
        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 != _customerAddress &&
            
            // does the referrer have at least X whole tokens?
            // i.e is the referrer a godly chad masternode
            tokenBalanceLedger_[_referredBy] >= stakingRequirement
        ){
            // wealth redistribution
            referralBalance_[_referredBy] = SafeMath.add(referralBalance_[_referredBy], _referralBonus);
        } else {
            // no ref purchase
            // add the referral bonus back to the global dividends cake
            _dividends = SafeMath.add(_dividends, _referralBonus);
            _fee = _dividends * magnitude;
        }
        
        // we can't give people infinite ethereum
        if(tokenSupply_ > 0){
            
            // add tokens to the pool
            tokenSupply_ = SafeMath.add(tokenSupply_, _amountOfTokens);
 
            // take the amount of dividends gained through this transaction, and allocates them evenly to each shareholder
            profitPerShare_ += (_dividends * magnitude / (tokenSupply_));
            
            // calculate the amount of tokens the customer receives over his purchase 
            _fee = _fee - (_fee-(_amountOfTokens * (_dividends * magnitude / (tokenSupply_))));
        
        } else {
            // add tokens to the pool
            tokenSupply_ = _amountOfTokens;
        }
        
        // update circulating supply & the ledger address for the customer
        tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
        
        // Tells the contract that the buyer doesn't deserve dividends for the tokens before they owned them;
        //really i know you think you do but you don't
        int256 _updatedPayouts = (int256) ((profitPerShare_ * _amountOfTokens) - _fee);
        payoutsTo_[_customerAddress] += _updatedPayouts;
        
        // fire event
        emit onTokenPurchase(_customerAddress, _incomingEthereum, _amountOfTokens, _referredBy);
        
        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 _tknsupply = tokenSupply_ + ambassadorSupply; // fvrr ambassadorSupply needs to get added otherwise the tokenprice wouldn't change if ambassador buys
        uint256 _tokensReceived = 
         (
            (
                // underflow attempts BTFO
                SafeMath.sub(
                    (sqrt
                        (
                            (_tokenPriceInitial**2)
                            +
                            (2*(tokenPriceIncremental_ * 1e18)*(_ethereum * 1e18))
                            +
                            (((tokenPriceIncremental_)**2)*(_tknsupply**2))
                            +
                            (2*(tokenPriceIncremental_)*_tokenPriceInitial*_tknsupply)
                        )
                    ), _tokenPriceInitial
                )
            )/(tokenPriceIncremental_)
        )-(_tknsupply)
        ;
  
        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_ + ambassadorSupply + 1e18); // fvrr ambassadorSupply needs to get added otherwise the tokenprice wouldn't change if ambassador buys
        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":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"administrators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"ambassadorLedger","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":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":"bytes32"},{"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":"_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":"disableWhitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_referredBy","type":"address"}],"name":"buy","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"reinvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"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"}],"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"}],"name":"onTokenSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumReinvested","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"}],"name":"onReinvestment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumWithdrawn","type":"uint256"}],"name":"onWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60806040526040805190810160405280600481526020017f524556310000000000000000000000000000000000000000000000000000000081525060009080519060200190620000519291906200036d565b506040805190810160405280600481526020017f5245563100000000000000000000000000000000000000000000000000000000815250600190805190602001906200009f9291906200036d565b50674563918244f40000600255600060085560006009556001600c60006101000a81548160ff021916908315150217905550348015620000de57600080fd5b50600160036000737301494d217c50557f4b2a515f0c65fa9b30264173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000737301494d217c50557f4b2a515f0c65fa9b30264173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b600073b093e319f94c02604fddd57701cd5c34f71d6f3d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b600073c42559f88481e1df90f64e5e9f7d7c6a34da569173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b600073d72998ab5681d8ea37d16ad9bf3ae50b4c69328973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000733b37f823108a1bf7cdb0c6626b473e3bc9d2162173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200041c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003b057805160ff1916838001178555620003e1565b82800160010185558215620003e1579182015b82811115620003e0578251825591602001919060010190620003c3565b5b509050620003f09190620003f4565b5090565b6200041991905b8082111562000415576000816000905550600101620003fb565b5090565b90565b6123bd806200042c6000396000f30060806040526004361061015e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806265318b1461016c57806306fdde03146101c357806310d0ffdd1461025357806318160ddd1461029457806322609373146102bf578063313ce56714610300578063392efb52146103315780633ccfd60b1461037a5780634b75033414610391578063523191bf146103bc57806356d399e814610413578063688abbf71461043e5780636b2f46321461048157806370a08231146104ac5780638328b610146105035780638620410b1461053057806389135ae91461055b578063949e8acd1461059857806395d89b41146105c3578063a9059cbb14610653578063b84c8246146106b8578063c47f002714610721578063d6b0f4841461078a578063e4849b32146107b9578063e9fad8ee146107e6578063f088d547146107fd578063fdb5a03e14610847575b61016934600061085e565b50005b34801561017857600080fd5b506101ad600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610af8565b6040518082815260200191505060405180910390f35b3480156101cf57600080fd5b506101d8610b9a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102185780820151818401526020810190506101fd565b50505050905090810190601f1680156102455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025f57600080fd5b5061027e60048036038101908080359060200190929190505050610c38565b6040518082815260200191505060405180910390f35b3480156102a057600080fd5b506102a9610c70565b6040518082815260200191505060405180910390f35b3480156102cb57600080fd5b506102ea60048036038101908080359060200190929190505050610c7e565b6040518082815260200191505060405180910390f35b34801561030c57600080fd5b50610315610cc7565b604051808260ff1660ff16815260200191505060405180910390f35b34801561033d57600080fd5b506103606004803603810190808035600019169060200190929190505050610ccc565b604051808215151515815260200191505060405180910390f35b34801561038657600080fd5b5061038f610cec565b005b34801561039d57600080fd5b506103a6610e90565b6040518082815260200191505060405180910390f35b3480156103c857600080fd5b506103fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ef2565b6040518082815260200191505060405180910390f35b34801561041f57600080fd5b50610428610f0a565b6040518082815260200191505060405180910390f35b34801561044a57600080fd5b5061046b600480360381019080803515159060200190929190505050610f10565b6040518082815260200191505060405180910390f35b34801561048d57600080fd5b50610496610f7c565b6040518082815260200191505060405180910390f35b3480156104b857600080fd5b506104ed600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f9b565b6040518082815260200191505060405180910390f35b34801561050f57600080fd5b5061052e6004803603810190808035906020019092919050505061108a565b005b34801561053c57600080fd5b5061054561111e565b6040518082815260200191505060405180910390f35b34801561056757600080fd5b506105966004803603810190808035600019169060200190929190803515159060200190929190505050611180565b005b3480156105a457600080fd5b506105ad611241565b6040518082815260200191505060405180910390f35b3480156105cf57600080fd5b506105d8611256565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106185780820151818401526020810190506105fd565b50505050905090810190601f1680156106455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561065f57600080fd5b5061069e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112f4565b604051808215151515815260200191505060405180910390f35b3480156106c457600080fd5b5061071f600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061165e565b005b34801561072d57600080fd5b50610788600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611702565b005b34801561079657600080fd5b5061079f6117a6565b604051808215151515815260200191505060405180910390f35b3480156107c557600080fd5b506107e460048036038101908080359060200190929190505050611837565b005b3480156107f257600080fd5b506107fb611ac4565b005b610831600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b2b565b6040518082815260200191505060405180910390f35b34801561085357600080fd5b5061085c611b3d565b005b60008060003391503073ffffffffffffffffffffffffffffffffffffffff1631341080156108ad5750676124fee993bc0000343073ffffffffffffffffffffffffffffffffffffffff16310310155b156108ce576000600c60006101000a81548160ff0219169083151502179055505b60001515600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015610941575060011515600c60009054906101000a900460ff161515145b1561094b57600080fd5b6109553485611d10565b905060011515600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415610aed576109bc6008548261210e565b600881905550610a0b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261210e565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a97600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612127565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ae660095482612127565b6009819055505b809250505092915050565b600068010000000000000000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600a540203811515610b9257fe5b049050919050565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c305780601f10610c0557610100808354040283529160200191610c30565b820191906000526020600020905b815481529060010190602001808311610c1357829003601f168201915b505050505081565b600080600080610c4c85600a60ff16612145565b9250610c58858461210e565b9150610c6382612160565b9050809350505050919050565b600060095460085401905090565b6000806000806008548511151515610c9557600080fd5b610c9e856121f2565b9250610cae83600a60ff16612145565b9150610cba838361210e565b9050809350505050919050565b601281565b600d6020528060005260406000206000915054906101000a900460ff1681565b6000806000610cfb6001610f10565b111515610d0757600080fd5b339150610d146000610f10565b9050680100000000000000008102600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810190506000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610e3d573d6000803e3d6000fd5b508173ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc826040518082815260200191505060405180910390a25050565b6000806000806000600954600854011415610eb9576402540be40064174876e800039350610eec565b610eca670de0b6b3a76400006121f2565b9250610eda83600a60ff16612145565b9150610ee6838361210e565b90508093505b50505090565b60056020528060005260406000206000915090505481565b60025481565b60008033905082610f2957610f2481610af8565b610f74565b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f7282610af8565b015b915050919050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b60008060011515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561103e57600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050611081565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b80915050919050565b6000339050600d600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561111357600080fd5b816002819055505050565b6000806000806000600954600854011415611147576402540be40064174876e80001935061117a565b611158670de0b6b3a76400006121f2565b925061116883600a60ff16612145565b91506111748383612127565b90508093505b50505090565b6000339050600d600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561120957600080fd5b81600d6000856000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b60008033905061125081610f9b565b91505090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112ec5780601f106112c1576101008083540402835291602001916112ec565b820191906000526020600020905b8154815290600101906020018083116112cf57829003601f168201915b505050505081565b6000806000611301611241565b11151561130d57600080fd5b33905060001515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480156113c0575060001515600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156113cb57600080fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115151561141957600080fd5b60006114256001610f10565b111561143457611433610cec565b5b61147d600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461210e565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611509600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612127565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600a5402600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555082600a5402600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b6000339050600d600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156116e757600080fd5b81600190805190602001906116fd9291906122ec565b505050565b6000339050600d600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561178b57600080fd5b81600090805190602001906117a19291906122ec565b505050565b600060011515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561180757600080fd5b6000600c60006101000a81548160ff021916908315150217905550600c60009054906101000a900460ff16905090565b600080600080600080600061184a611241565b11151561185657600080fd5b33955060001515600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415156118b857600080fd5b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054871115151561190657600080fd5b869450611912856121f2565b935061192284600a60ff16612145565b925061192e848461210e565b915061193c6008548661210e565b60088190555061198b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548661210e565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555068010000000000000000820285600a540201905080600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555060006008541115611a6557611a5e600a54600854680100000000000000008602811515611a5857fe5b04612127565b600a819055505b8573ffffffffffffffffffffffffffffffffffffffff167fc4823739c5787d2ca17e404aa47d5569ae71dfb49cbf21b3f6152ed238a311398684604051808381526020018281526020019250505060405180910390a250505050505050565b600080339150600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115611b1f57611b1e81611837565b5b611b27610cec565b5050565b6000611b37348361085e565b50919050565b600080600080611b4d6001610f10565b111515611b5957600080fd5b611b636000610f10565b925033915060001515600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515611bc757600080fd5b680100000000000000008302600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054830192506000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cb3836000611d10565b90508173ffffffffffffffffffffffffffffffffffffffff167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588483604051808381526020018281526020019250505060405180910390a2505050565b6000806000806000806000806000670de0b6b3a7640000341115611d5c57678ac7230489e800003073ffffffffffffffffffffffffffffffffffffffff1631101515611d5b57600080fd5b5b339750611d6d8b600a60ff16612145565b9650611d7a876003612145565b9550611d86878761210e565b9450611d928b8861210e565b9350611d9d84612160565b92506801000000000000000085029150600083118015611dc95750600854611dc784600854612127565b115b1515611dd457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614158015611e3d57508773ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614155b8015611e8a5750600254600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15611f2057611ed8600660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487612127565b600660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f3b565b611f2a8587612127565b945068010000000000000000850291505b60006008541115611fa657611f5260085484612127565b600881905550600854680100000000000000008602811515611f7057fe5b04600a60008282540192505081905550600854680100000000000000008602811515611f9857fe5b048302820382039150611fae565b826008819055505b611ff7600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612127565b600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508183600a540203905080600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508973ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f022c0d992e4d873a3748436d960d5140c1f9721cf73f7ca5ec679d3d9f4fe2d58d86604051808381526020018281526020019250505060405180910390a3829850505050505050505092915050565b600082821115151561211c57fe5b818303905092915050565b600080828401905083811015151561213b57fe5b8091505092915050565b600080828481151561215357fe5b0490508091505092915050565b600080600080670de0b6b3a764000064174876e800029250600954600854019150816402540be4006121da6121d485876402540be40060020202026002870a60026402540be4000a02670de0b6b3a76400008b02670de0b6b3a76400006402540be400026002020260028a0a0101016122a1565b8661210e565b8115156121e357fe5b04039050809350505050919050565b600080600080670de0b6b3a764000085019250670de0b6b3a764000060095460085401019150670de0b6b3a764000061228a670de0b6b3a764000085036402540be400670de0b6b3a76400008681151561224857fe5b046402540be4000264174876e8000103026002670de0b6b3a7640000876002890a0381151561227357fe5b046402540be4000281151561228457fe5b0461210e565b81151561229357fe5b049050809350505050919050565b6000806002600184018115156122b357fe5b0490508291505b818110156122e65780915060028182858115156122d357fe5b04018115156122de57fe5b0490506122ba565b50919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061232d57805160ff191683800117855561235b565b8280016001018555821561235b579182015b8281111561235a57825182559160200191906001019061233f565b5b509050612368919061236c565b5090565b61238e91905b8082111561238a576000816000905550600101612372565b5090565b905600a165627a7a7230582014f99924244cc7b11b8837ef4d8dabd7cd222af22612a26b539648aa6ab7b9e10029

   Swarm Source:
bzzr://14f99924244cc7b11b8837ef4d8dabd7cd222af22612a26b539648aa6ab7b9e1

 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.