Contract 0x83ad16274c8bdd547582de02db25a81a7a33759f

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x373f8cd271678b1cb342cfc83ccdd80b21e741fab8c0478a22e8e6e40a3b8daaReinvest112410722021-09-26 4:18:1533 mins ago0x95c3f3f5f805e604462dfd51fbea5330f5963b35 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.000591865
0xc8cdfb4bdf23ad8230a700bb4e357da716bb8f24ebc26ad90c9bfda60e8bf93fWithdraw112392962021-09-26 2:48:222 hrs 2 mins ago0x24b23bb643082026227e945c7833b81426057b10 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.00064522
0xab16f37eee21688bf041f64d232a73dc14c169ec6ee289274d6af791bad0857dReinvest112360612021-09-26 0:06:324 hrs 44 mins ago0xff3c0594e99f933887b633cceb32549266ab531b IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.000591865
0x43f5f104d7ffdaaae359be0fc220ed96d0e7afd834a24b1e7316d15f63a2f97eReinvest112359722021-09-26 0:02:054 hrs 49 mins ago0x88ed4bb5d4c140ff9e6d408b341ba5b7dabd5f56 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.000591865
0x93e78d63de382402c221650099389c3dc9a19850bc5bf01fe565c1d7a5330753Withdraw112357782021-09-25 23:52:234 hrs 58 mins ago0xa77a404cecabb1e8e299ecd2f608a6b251cd97e3 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.00066988
0x46758bc8690090598690f1674cc2858d47a7af2c82f6b15948e1a381b70574baWithdraw112354102021-09-25 23:33:595 hrs 17 mins ago0x7bab5bc4c2f709541777c737fe02b00ea032fba4 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.00051988
0xe74a8dce8445f7148dd96cd152a205f843a5eb62fa058c341431b07c2825133eReinvest112317562021-09-25 20:31:158 hrs 20 mins ago0xcdc4757ff570dcd6933f8d384293789907db6791 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.000642205
0x1a687d7020f03920fe410cd4665ca368a00310f241c5dec4c436882fce086f7dWithdraw112295692021-09-25 18:41:4510 hrs 9 mins ago0x24d450fc5c00caea988df162f286568c4b1a7e6a IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.00059488
0x59c21f31e4b25673da73347e746415725e66184cc8cedf56ab1a03fa9a2cce35Reinvest112261882021-09-25 15:49:5913 hrs 1 min ago0xd1efe8038ba718783b025e4da829703650e3e74a IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.000591865
0xc05d40830cbd3240bba4ea923a07457bb0f3a6842ed60b5038beeab630463033Withdraw112250542021-09-25 14:53:1613 hrs 58 mins ago0x539460bd8d7d6130ce6c4a65c0b59da3b3d2da42 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.00059488
0x39500263e8025befceb884959da1d55b3d2b2caff42b13e1cdec065e1d433b69Reinvest112227242021-09-25 12:54:4715 hrs 56 mins ago0x6e26cfca3777749934d6b9717ae1887f46dabe49 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.000591865
0x67d64514d5e0ec60ef8588494704f762e7bdf6a22d32b664216e9f1a70e64f25Reinvest112226562021-09-25 12:51:2315 hrs 59 mins ago0xff3c0594e99f933887b633cceb32549266ab531b IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.000642205
0x6ca0493b353a13ad8ebb27f3ea25caac3777feaf5be6660bbe2e4cbff745279aWithdraw112184072021-09-25 9:18:4919 hrs 32 mins ago0xf69363517efaa773fc0eabf3091b430fd584d622 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.00059488
0x03f8dc577cb7a529e77621ac97b970c08c129633a8fe191e510f53956ced7959Sell112183852021-09-25 9:17:4319 hrs 33 mins ago0xf69363517efaa773fc0eabf3091b430fd584d622 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.000370605
0xb2e40f1e422c6f9236bdfbb9f3252452fa27f97c7008ca355d205ea14ce0d148Reinvest112183462021-09-25 9:15:4619 hrs 35 mins ago0xf69363517efaa773fc0eabf3091b430fd584d622 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.000591865
0xeee14eac5cfd49e211587ede7c44e41617ac4a119b2ef5ecb254cade3c6bace5Reinvest112179642021-09-25 8:56:4019 hrs 54 mins ago0x6b09e0dab9f4d4f3d0d0ad0bed188c07de0006c1 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.000591865
0x651b901914b0c3bc9142ef6c9a4213fb2b861c6f24acffd5135a0833a0a4ba7aReinvest112144492021-09-25 5:59:3122 hrs 51 mins ago0x64a8482cbe605899053f8e18d556beb5a7128f8a IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.000591865
0x221054a2a4644754726aaac3c41e0c0761d7815f454d011e90b98404d6d8e0c4Reinvest112131932021-09-25 4:56:3923 hrs 54 mins ago0x88ed4bb5d4c140ff9e6d408b341ba5b7dabd5f56 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.000591865
0x6120ad63f9ba6e5d167df30f6cab929b4b83b98cf24cb3ac90e8ed950d34fb91Withdraw112122762021-09-25 4:10:281 day 40 mins ago0x24d450fc5c00caea988df162f286568c4b1a7e6a IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.00057022
0x42325369216426f99ce7fb9b7cc297edcd66e4d00d7a46484546eddf4ed198fcWithdraw112110942021-09-25 3:10:571 day 1 hr ago0xa0f67cc760e71099554b1fefc6e5513a65da8406 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.00074488
0xbc5c7000db0f9679ed165faab2061db859559d564c56080ccc2cf46a41f38639Sell112110612021-09-25 3:09:181 day 1 hr ago0xa0f67cc760e71099554b1fefc6e5513a65da8406 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.000295665
0x90604f8f7b7a83ce0ca96b46ad4c47586a6190b90314173f887310e5252cf526Withdraw112098922021-09-25 2:10:511 day 2 hrs ago0x24b23bb643082026227e945c7833b81426057b10 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.00059488
0xb01a26fd13145cd17648476d783649f0263371ffd5091e24eb33c311d54d9224Reinvest112055772021-09-24 22:33:471 day 6 hrs ago0x2968296a6e6b6d88a22d00b298907274616b0e16 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.000591865
0x7d0dff2699fe719f9a1ee38ecb0c3a72349fa9b9727a28ceb55e5be14c483fbfReinvest112041402021-09-24 21:21:541 day 7 hrs ago0x654794ccb564b29cca08abd1627d388984746964 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.000642205
0x707e168b44ac1602af5f8dc6b9bddd0cbc8d80a0559082edfe30e8aa91ac5fc3Reinvest112031232021-09-24 20:30:451 day 8 hrs ago0x1024991b1ca7c322e5006c4df90b39eb51d9f450 IN  0x83ad16274c8bdd547582de02db25a81a7a33759f0 BNB0.000591865
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Similar Match)
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0xd397f06eecd4eb9af0492874be0d24d67560ff69

Contract Name:
BankrollNetworkStack

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-03-03
*/

/*
    SPDX-License-Identifier: MIT
    A Bankteller Production
    Bankroll Network
    Copyright 2021
*/
pragma solidity ^0.4.25;


contract Token {
    function transferFrom(address from, address to, uint256 value) public returns (bool);

    function transfer(address to, uint256 value) public returns (bool);

    function balanceOf(address who) public view returns (uint256);
}


/*
 * @dev Stack is a perpetual rewards contract the collects 8% fee on buys/sells for a dividend pool that drips 2% daily.
 * A 2% fee is paid instantly to token holders on buys/sells as well
*/


contract BankrollNetworkStack  {

    using SafeMath for uint;

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

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

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



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


    event onLeaderBoard(
        address indexed customerAddress,
        uint256 invested,
        uint256 tokens,
        uint256 soldTokens,
        uint timestamp
    );

    event onTokenPurchase(
        address indexed customerAddress,
        uint256 incomingeth,
        uint256 tokensMinted,
        uint timestamp
    );

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

    event onReinvestment(
        address indexed customerAddress,
        uint256 ethReinvested,
        uint256 tokensMinted,
        uint timestamp
    );

    event onWithdraw(
        address indexed customerAddress,
        uint256 ethWithdrawn,
        uint timestamp
    );


    event onTransfer(
        address indexed from,
        address indexed to,
        uint256 tokens,
        uint timestamp
    );

    event onBalance(
        uint256 balance,
        uint256 timestamp
    );

    event onDonation(
        address indexed from,
        uint256 amount,
        uint timestamp
    );

    // Onchain Stats!!!
    struct Stats {
        uint invested;
        uint reinvested;
        uint withdrawn;
        uint rewarded;
        uint contributed;
        uint transferredTokens;
        uint receivedTokens;
        uint xInvested;
        uint xReinvested;
        uint xRewarded;
        uint xContributed;
        uint xWithdrawn;
        uint xTransferredTokens;
        uint xReceivedTokens;
    }


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

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


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

    uint8 constant internal dripFee = 80;  //80% of fees go to drip, the rest to the Swap buyback

    uint8 constant payoutRate_ = 2;

    uint256 constant internal magnitude = 2 ** 64;

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

    // amount of shares for each address (scaled number)
    mapping(address => uint256) private tokenBalanceLedger_;
    mapping(address => int256) private payoutsTo_;
    mapping(address => Stats) private stats;
    //on chain referral tracking
    uint256 private tokenSupply_;
    uint256 private profitPerShare_;
    uint256 public totalDeposits;
    uint256 internal lastBalance_;

    uint public players;
    uint public totalTxs;
    uint public dividendBalance_;
    uint public lastPayout;
    uint public totalClaims;

    uint256 public balanceInterval = 6 hours;
    uint256 public distributionInterval = 2 seconds;

    address public tokenAddress;

    Token private token;


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

    constructor(address _tokenAddress) public {

        tokenAddress = _tokenAddress;
        token = Token(_tokenAddress);

        lastPayout = now;

    }


    /// @dev This is how you pump pure "drip" dividends into the system
    function donatePool(uint amount) public returns (uint256) {
        require(token.transferFrom(msg.sender, address(this),amount));

        dividendBalance_ += amount;

        emit onDonation(msg.sender, amount,now);
    }

    /// @dev Converts all incoming eth to tokens for the caller, and passes down the referral addy (if any)
    function buy(uint buy_amount) public returns (uint256)  {
        return buyFor(msg.sender, buy_amount);
    }


    /// @dev Converts all incoming eth to tokens for the caller, and passes down the referral addy (if any)
    function buyFor(address _customerAddress, uint buy_amount) public returns (uint256)  {
        require(token.transferFrom(_customerAddress, address(this), buy_amount));
        totalDeposits += buy_amount;
        uint amount = purchaseTokens(_customerAddress, buy_amount);

        emit onLeaderBoard(_customerAddress,
            stats[_customerAddress].invested,
            tokenBalanceLedger_[_customerAddress],
            stats[_customerAddress].withdrawn,
            now
        );

        //distribute
        distribute();

        return amount;
    }




    /**
     * @dev Fallback function to return any TRX/ETH accidentally sent to the contract
     */
    function() payable public {
        require(false);
    }

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

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

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

        // fire event
        emit onReinvestment(_customerAddress, _dividends, _tokens, now);

        //Stats
        stats[_customerAddress].reinvested = SafeMath.add(stats[_customerAddress].reinvested, _dividends);
        stats[_customerAddress].xReinvested += 1;

        emit onLeaderBoard(_customerAddress,
            stats[_customerAddress].invested,
            tokenBalanceLedger_[_customerAddress],
            stats[_customerAddress].withdrawn,
            now
        );

        //distribute
        distribute();
    }

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

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


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

        //stats
        stats[_customerAddress].withdrawn = SafeMath.add(stats[_customerAddress].withdrawn, _dividends);
        stats[_customerAddress].xWithdrawn += 1;
        totalTxs += 1;
        totalClaims += _dividends;

        // fire event
        emit onWithdraw(_customerAddress, _dividends, now);

        emit onLeaderBoard(_customerAddress,
            stats[_customerAddress].invested,
            tokenBalanceLedger_[_customerAddress],
            stats[_customerAddress].withdrawn,
            now
        );

        //distribute
        distribute();
    }


    /// @dev Liquifies tokens to eth.
    function sell(uint256 _amountOfTokens) onlyBagholders public {
        // setup data
        address _customerAddress = msg.sender;

        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);


        // data setup
        uint256 _undividedDividends = SafeMath.mul(_amountOfTokens, exitFee_) / 100;
        uint256 _taxedeth = SafeMath.sub(_amountOfTokens, _undividedDividends);

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

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


        //drip and buybacks
        allocateFees(_undividedDividends);

        // fire event
        emit onTokenSell(_customerAddress, _amountOfTokens, _taxedeth, now);

        //distribute
        distribute();
    }

    /**
    * @dev Transfer tokens from the caller to a new holder.
    *  Zero fees
    */
    function transfer(address _toAddress, uint256 _amountOfTokens) onlyBagholders external returns (bool) {
        // setup
        address _customerAddress = msg.sender;

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

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


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

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



        /* Members
            A player can be initialized by buying or receiving and we want to add the user ASAP
         */
        if (stats[_toAddress].invested == 0 && stats[_toAddress].receivedTokens == 0) {
            players += 1;
        }

        //Stats
        stats[_customerAddress].xTransferredTokens += 1;
        stats[_customerAddress].transferredTokens += _amountOfTokens;
        stats[_toAddress].receivedTokens += _amountOfTokens;
        stats[_toAddress].xReceivedTokens += 1;
        totalTxs += 1;

        // fire event
        emit onTransfer(_customerAddress, _toAddress, _amountOfTokens,now);

        emit onLeaderBoard(_customerAddress,
            stats[_customerAddress].invested,
            tokenBalanceLedger_[_customerAddress],
            stats[_customerAddress].withdrawn,
            now
        );

        emit onLeaderBoard(_toAddress,
            stats[_toAddress].invested,
            tokenBalanceLedger_[_toAddress],
            stats[_toAddress].withdrawn,
            now
        );

        // ERC20
        return true;
    }


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

    /**
     * @dev Method to view the current eth stored in the contract
     */
    function totalTokenBalance() public view returns (uint256) {
        return token.balanceOf(address(this));
    }

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

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

    /**
     * @dev Retrieve the dividends owned by the caller.
     */
    function myDividends() public view returns (uint256) {
        address _customerAddress = msg.sender;
        return dividendsOf(_customerAddress);
    }

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

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

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


    /// @dev Return the sell price of 1 individual token.
    function sellPrice() public pure returns (uint256) {
        uint256 _eth = 1e18;
        uint256 _dividends = SafeMath.div(SafeMath.mul(_eth, exitFee_), 100);
        uint256 _taxedeth = SafeMath.sub(_eth, _dividends);

        return _taxedeth;

    }

    /// @dev Return the buy price of 1 individual token.
    function buyPrice() public pure returns (uint256) {
        uint256 _eth = 1e18;
        uint256 _dividends = SafeMath.div(SafeMath.mul(_eth, entryFee_), 100);
        uint256 _taxedeth = SafeMath.add(_eth, _dividends);

        return _taxedeth;

    }

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

        return _amountOfTokens;
    }

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


    /// @dev Stats of any single address
    function statsOf(address _customerAddress) public view returns (uint256[14] memory){
        Stats memory s = stats[_customerAddress];
        uint256[14] memory statArray = [s.invested, s.withdrawn, s.rewarded, s.contributed, s.transferredTokens, s.receivedTokens, s.xInvested, s.xRewarded, s.xContributed, s.xWithdrawn, s.xTransferredTokens, s.xReceivedTokens, s.reinvested, s.xReinvested];
        return statArray;
    }


    function dailyEstimate(address _customerAddress) public view returns (uint256){
        uint256 share = dividendBalance_.mul(payoutRate_).div(100);

        return (tokenSupply_ > 0) ? share.mul(tokenBalanceLedger_[_customerAddress]).div(tokenSupply_) : 0;
    }


    function allocateFees(uint fee) private {
        

        // 1/5 paid out instantly
        uint256 instant = fee.div(5); 

        if (tokenSupply_ > 0) {
            // Apply instant divs
            profitPerShare_ = SafeMath.add(profitPerShare_, (instant * magnitude) / tokenSupply_);
        }

        // Add 4/5 to dividend drip pools
        dividendBalance_ += fee.safeSub(instant);
    }

    function distribute() private {

        if (now.safeSub(lastBalance_) > balanceInterval) {
            emit onBalance(totalTokenBalance(), now);
            lastBalance_ = now;
        }


        if (SafeMath.safeSub(now, lastPayout) > distributionInterval && tokenSupply_ > 0) {

            //A portion of the dividend is paid out according to the rate
            uint256 share = dividendBalance_.mul(payoutRate_).div(100).div(24 hours);
            //divide the profit by seconds in the day
            uint256 profit = share * now.safeSub(lastPayout);
            //share times the amount of time elapsed
            dividendBalance_ = dividendBalance_.safeSub(profit);

            //Apply divs
            profitPerShare_ = SafeMath.add(profitPerShare_, (profit * magnitude) / tokenSupply_);

            lastPayout = now;
        }

    }



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

    /// @dev Internal function to actually purchase the tokens.
    function purchaseTokens(address _customerAddress, uint256 _incomingeth) internal returns (uint256) {

        /* Members */
        if (stats[_customerAddress].invested == 0 && stats[_customerAddress].receivedTokens == 0) {
            players += 1;
        }

        totalTxs += 1;

        // data setup
        uint256 _undividedDividends = SafeMath.mul(_incomingeth, entryFee_) / 100;
        uint256 _amountOfTokens = SafeMath.sub(_incomingeth, _undividedDividends);

        // fire event
        emit onTokenPurchase(_customerAddress, _incomingeth, _amountOfTokens, now);

        // yes we know that the safemath function automatically rules out the "greater then" equation.
        require(_amountOfTokens > 0 && SafeMath.add(_amountOfTokens, tokenSupply_) > tokenSupply_);


        // we can't give people infinite eth
        if (tokenSupply_ > 0) {
            // add tokens to the pool
            tokenSupply_ += _amountOfTokens;

        } else {
            // add tokens to the pool
            tokenSupply_ = _amountOfTokens;
        }

        //drip and buybacks
        allocateFees(_undividedDividends);

        // 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);
        payoutsTo_[_customerAddress] += _updatedPayouts;


        //Stats
        stats[_customerAddress].invested += _incomingeth;
        stats[_customerAddress].xInvested += 1;

        return _amountOfTokens;
    }


}

/**
 * @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 c) {
        if (a == 0) {
            return 0;
        }
        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 a / b;
    }

    /**
    * @dev Subtracts 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 Subtracts two numbers, else returns zero */
    function safeSub(uint a, uint b) internal pure returns (uint) {
        if (b > a) {
            return 0;
        } else {
            return a - b;
        }
    }

    /**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
        c = a + b;
        assert(c >= a);
        return c;
    }

    function max(uint256 a, uint256 b) internal pure returns (uint256) {
        return a >= b ? a : b;
    }

    function min(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"dividendsOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_customerAddress","type":"address"},{"name":"buy_amount","type":"uint256"}],"name":"buyFor","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_ethToSpend","type":"uint256"}],"name":"calculateTokensReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"statsOf","outputs":[{"name":"","type":"uint256[14]"}],"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":"myDividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalClaims","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"totalTxs","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":"distributionInterval","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalDeposits","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_tokensToSell","type":"uint256"}],"name":"calculateethReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"myTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenAddress","outputs":[{"name":"","type":"address"}],"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":true,"inputs":[],"name":"lastPayout","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dividendBalance_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"buy_amount","type":"uint256"}],"name":"buy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"players","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"tokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"donatePool","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"dailyEstimate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"balanceInterval","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"reinvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_tokenAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"invested","type":"uint256"},{"indexed":false,"name":"tokens","type":"uint256"},{"indexed":false,"name":"soldTokens","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"onLeaderBoard","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"incomingeth","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"onTokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"tokensBurned","type":"uint256"},{"indexed":false,"name":"ethEarned","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"onTokenSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethReinvested","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"onReinvestment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethWithdrawn","type":"uint256"},{"indexed":false,"name":"timestamp","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"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"onTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"balance","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"onBalance","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"onDonation","type":"event"}]

6080604052615460600c556002600d5534801561001b57600080fd5b506040516020806116968339810160405251600e8054600160a060020a03909216600160a060020a03199283168117909155600f805490921617905542600a5561162c8061006a6000396000f3006080604052600436106101735763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166265318b811461017a57806306501a6a146101ad57806310d0ffdd146101d157806315cfc405146101e957806318160ddd146102435780633151ecfc146102585780633ccfd60b1461026d5780633d4b2c2c1461028257806341c61383146102975780634b750334146102ac578063537a39bb146102c157806370a08231146102d657806371201a0e146102f75780637d8820971461030c5780638620410b146103215780638dd4b8ad14610336578063949e8acd1461034e5780639d76ea5814610363578063a9059cbb14610394578063b9db102a146103cc578063ca3ea930146103e1578063d96a094a146103f6578063dc0b35641461040e578063e4849b3214610423578063eedc966a1461043b578063f4d980581461045c578063fbaf1bbd14610474578063fc439f7714610495578063fdb5a03e146104aa575b600080fd5b005b34801561018657600080fd5b5061019b600160a060020a03600435166104bf565b60408051918252519081900360200190f35b3480156101b957600080fd5b5061019b600160a060020a03600435166024356104f9565b3480156101dd57600080fd5b5061019b600435610626565b3480156101f557600080fd5b5061020a600160a060020a0360043516610655565b60405180826101c080838360005b83811015610230578181015183820152602001610218565b5050505090500191505060405180910390f35b34801561024f57600080fd5b5061019b6107d6565b34801561026457600080fd5b5061019b6107dc565b34801561027957600080fd5b506101786107ee565b34801561028e57600080fd5b5061019b6109d8565b3480156102a357600080fd5b5061019b610a6e565b3480156102b857600080fd5b5061019b610a74565b3480156102cd57600080fd5b5061019b610aa3565b3480156102e257600080fd5b5061019b600160a060020a0360043516610aa9565b34801561030357600080fd5b5061019b610ac4565b34801561031857600080fd5b5061019b610aca565b34801561032d57600080fd5b5061019b610ad0565b34801561034257600080fd5b5061019b600435610af7565b34801561035a57600080fd5b5061019b610b2b565b34801561036f57600080fd5b50610378610b37565b60408051600160a060020a039092168252519081900360200190f35b3480156103a057600080fd5b506103b8600160a060020a0360043516602435610b46565b604080519115158252519081900360200190f35b3480156103d857600080fd5b5061019b610dc0565b3480156103ed57600080fd5b5061019b610dc6565b34801561040257600080fd5b5061019b600435610dcc565b34801561041a57600080fd5b5061019b610dde565b34801561042f57600080fd5b50610178600435610de4565b34801561044757600080fd5b5061019b600160a060020a0360043516610f19565b34801561046857600080fd5b5061019b600435610f26565b34801561048057600080fd5b5061019b600160a060020a0360043516611015565b3480156104a157600080fd5b5061019b611087565b3480156104b657600080fd5b5061017861108d565b600160a060020a03166000908152600160209081526040808320549183905290912054600454680100000000000000009102919091030490565b600f54604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a038581166004830152306024830152604482018590529151600093849316916323b872dd91606480830192602092919082900301818787803b15801561056f57600080fd5b505af1158015610583573d6000803e3d6000fd5b505050506040513d602081101561059957600080fd5b505115156105a657600080fd5b60058054840190556105b884846111d4565b600160a060020a038516600081815260026020818152604080842080548584529482902054848452930154815194855291840192909252828201524260608301525192935090916000805160206115e18339815191529181900360800190a261061f611369565b9392505050565b600080808061064061063986600a611479565b60646114a2565b925061064c85846114b7565b95945050505050565b61065d611550565b610665611570565b61066d611550565b6002600085600160a060020a0316600160a060020a031681526020019081526020016000206101c0604051908101604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820154815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a8201548152602001600b8201548152602001600c8201548152602001600d8201548152505091506101c060405190810160405280836000015181526020018360400151815260200183606001518152602001836080015181526020018360a0015181526020018360c0015181526020018360e0015181526020018361012001518152602001836101400151815260200183610160015181526020018361018001518152602001836101a0015181526020018360200151815260200183610100015181525090508092505050919050565b60035490565b6000336107e8816104bf565b91505090565b60008060006107fb6107dc565b1161080557600080fd5b3391506108106107dc565b600160a060020a0380841660008181526001602090815260408083208054680100000000000000008802019055600f5481517fa9059cbb00000000000000000000000000000000000000000000000000000000815260048101959095526024850187905290519596509093169363a9059cbb936044808501949193918390030190829087803b1580156108a257600080fd5b505af11580156108b6573d6000803e3d6000fd5b505050506040513d60208110156108cc57600080fd5b5050600160a060020a038216600090815260026020819052604090912001546108f590826114c9565b600160a060020a03831660008181526002602081815260409283902091820194909455600b9081018054600190810190915560088054909101905580548501905580518481524293810193909352805191927f1b091269e929df55d64d6ea7e9cadbe4fb38dce5ccdc995767bc515030dbfbbf929081900390910190a2600160a060020a03821660008181526002602081815260408084208054858452948290205484845293015481519485529184019290925282820152426060830152516000805160206115e18339815191529181900360800190a26109d4611369565b5050565b600f54604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610a3d57600080fd5b505af1158015610a51573d6000803e3d6000fd5b505050506040513d6020811015610a6757600080fd5b5051905090565b600b5481565b6000670de0b6b3a76400008180610a8f61063984600a611479565b9150610a9b83836114b7565b949350505050565b60085481565b600160a060020a031660009081526020819052604090205490565b600d5481565b60055481565b6000670de0b6b3a76400008180610aeb61063984600a611479565b9150610a9b83836114c9565b6000806000806003548511151515610b0e57600080fd5b849250610b1f61063984600a611479565b915061064c83836114b7565b6000336107e881610aa9565b600e54600160a060020a031681565b6000806000610b53610b2b565b11610b5d57600080fd5b5033600081815260208190526040902054831115610b7a57600080fd5b6000610b846107dc565b1115610b9257610b926107ee565b600160a060020a038116600090815260208190526040902054610bb590846114b7565b600160a060020a038083166000908152602081905260408082209390935590861681522054610be490846114c9565b600160a060020a0385811660008181526020818152604080832095909555600480549487168352600182528583208054958a029095039094559254918152838120805492880290920190915560029091522054158015610c5d5750600160a060020a038416600090815260026020526040902060060154155b15610c6c576007805460010190555b600160a060020a038082166000818152600260209081526040808320600c810180546001908101909155600590910180548a019055948916808452928190206006810180548a019055600d018054860190556008805490950190945583518781524291810191909152835191937f91c7d71a3ae3fb7cf61e00517bf4868e9e23d0bace5e304cbc3b68de5d85350e92918290030190a3600160a060020a03811660008181526002602081815260408084208054858452948290205484845293015481519485529184019290925282820152426060830152516000805160206115e18339815191529181900360800190a2600160a060020a03841660008181526002602081815260408084208054858452948290205484845293015481519485529184019290925282820152426060830152516000805160206115e18339815191529181900360800190a25060019392505050565b600a5481565b60095481565b6000610dd833836104f9565b92915050565b60075481565b6000806000806000610df4610b2b565b11610dfe57600080fd5b33600081815260208190526040902054909450851115610e1d57600080fd5b6064610e2a86600a611479565b811515610e3357fe5b049250610e4085846114b7565b9150610e4e600354866114b7565b600355600160a060020a038416600090815260208190526040902054610e7490866114b7565b600160a060020a0385166000908152602081815260408083209390935560045460019091529190208054918702680100000000000000008502019182900390559050610ebf836114d6565b604080518681526020810184905242818301529051600160a060020a038616917f723391258f051422e0be75f0bbcc5c94947b440ae6162c87b3efb5fecde315e5919081900360600190a2610f12611369565b5050505050565b600160a060020a03163190565b600f54604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490529051600092600160a060020a0316916323b872dd91606480830192602092919082900301818787803b158015610f9857600080fd5b505af1158015610fac573d6000803e3d6000fd5b505050506040513d6020811015610fc257600080fd5b50511515610fcf57600080fd5b600980548301905560408051838152426020820152815133927f73cd5c58cef87bb4066d9a2323ff8623db2025f5df3e71fc9f8dd410d69f31a3928290030190a2919050565b6000806110426064611036600260ff1660095461147990919063ffffffff16565b9063ffffffff6114a216565b905060006003541161105557600061061f565b600354600160a060020a03841660009081526020819052604090205461061f919061103690849063ffffffff61147916565b600c5481565b60008060008061109b6107dc565b116110a557600080fd5b6110ad6107dc565b336000818152600160205260409020805468010000000000000000840201905590935091506110dc82846111d4565b604080518581526020810183905242818301529051919250600160a060020a038416917f17aaea3d55ba445f06d158973e18525f80eafebc9d74964ae85b9c3681021b329181900360600190a2600160a060020a03821660009081526002602052604090206001015461114f90846114c9565b600160a060020a038316600081815260026020818152604080842060018082019790975560088101805490970190965585548483529381902054838352959092015482519384529083019490945281810193909352426060820152915190916000805160206115e1833981519152919081900360800190a26111cf611369565b505050565b600160a060020a0382166000908152600260205260408120548190819081901580156112195750600160a060020a038616600090815260026020526040902060060154155b15611228576007805460010190555b600880546001019055606461123e86600a611479565b81151561124757fe5b04925061125485846114b7565b604080518781526020810183905242818301529051919350600160a060020a038816917f810900bb33e423094372279f779b623ab22b73472a8a91fce3c018129c2050199181900360600190a26000821180156112bb57506003546112b983826114c9565b115b15156112c657600080fd5b600060035411156112de5760038054830190556112e4565b60038290555b6112ed836114d6565b600160a060020a03861660009081526020819052604090205461131090836114c9565b600160a060020a0396909616600090815260208181526040808320989098556004546001808352898420805492870290920190915560029091529690208054959095018555506007909301805490940190935550919050565b600080600c546113846006544261153590919063ffffffff16565b11156113ce577fa14e3b1c1ae7cf637a6a97eacba61965eaf456b6994afc09a2097bdf7da639816113b36109d8565b604080519182524260208301528051918290030190a1426006555b600d546113dd42600a54611535565b1180156113ec57506000600354115b156109d457611416620151806110366064611036600260ff1660095461147990919063ffffffff16565b915061142d600a544261153590919063ffffffff16565b6009549083029150611445908263ffffffff61153516565b60095560045460035461146e919068010000000000000000840281151561146857fe5b046114c9565b60045542600a555050565b600082151561148a57506000610dd8565b5081810281838281151561149a57fe5b0414610dd857fe5b600081838115156114af57fe5b049392505050565b6000828211156114c357fe5b50900390565b81810182811015610dd857fe5b60006114e982600563ffffffff6114a216565b9050600060035411156115185761151460045460035468010000000000000000840281151561146857fe5b6004555b611528828263ffffffff61153516565b6009805490910190555050565b60008282111561154757506000610dd8565b50808203610dd8565b6101c060405190810160405280600e906020820280388339509192915050565b6101c060405190810160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815250905600a1f02c754056a0800f9d81f943b5136b52f3b5bbde1ae99c6935adb95b54271aa165627a7a72305820d806abf0892fd307a1753128e425681882ab77bc344c7f117f16121a26c2c9930029000000000000000000000000190b589cf9fb8ddeabbfeae36a813ffb2a702454

Deployed ByteCode Sourcemap

608:17920:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5825:14;;;;608:17920;12637:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12637:224:0;-1:-1:-1;;;;;12637:224:0;;;;;;;;;;;;;;;;;;;;;5089:580;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5089:580:0;-1:-1:-1;;;;;5089:580:0;;;;;;;13621:328;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13621:328:0;;;;;14453:428;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14453:428:0;-1:-1:-1;;;;;14453:428:0;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14453:428:0;;;;;;;;;;;;;;;;11608:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11608:91:0;;;;11996:156;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11996:156:0;;;;7013:966;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7013:966:0;;;;11438:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11438:115:0;;;;3924:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3924:23:0;;;;12930:260;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12930:260:0;;;;3833:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3833:20:0;;;;12224:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12224:138:0;-1:-1:-1;;;;;12224:138:0;;;;;4003:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4003:47:0;;;;3734:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3734:28:0;;;;13256:260;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13256:260:0;;;;14055:346;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14055:346:0;;;;;11762:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11762:151:0;;;;4059:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4059:27:0;;;;;;;;-1:-1:-1;;;;;4059:27:0;;;;;;;;;;;;;;9197:2009;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9197:2009:0;-1:-1:-1;;;;;9197:2009:0;;;;;;;;;;;;;;;;;;;;;;;;;3895:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3895:22:0;;;;3860:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3860:28:0;;;;4858:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4858:112:0;;;;;3807:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3807:19:0;;;;8028:1065;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8028:1065:0;;;;;12434:128;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12434:128:0;-1:-1:-1;;;;;12434:128:0;;;;;4512:229;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4512:229:0;;;;;14891:266;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14891:266:0;-1:-1:-1;;;;;14891:266:0;;;;;3956:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3956:40:0;;;;5915:1037;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5915:1037:0;;;;12637:224;-1:-1:-1;;;;;12812:28:0;12705:7;12812:28;;;:10;:28;;;;;;;;;12771:37;;;;;;;;12753:15;;3268:7;12753:55;;12743:97;;;;12732:121;;12637:224::o;5089:580::-;5193:5;;:63;;;;;;-1:-1:-1;;;;;5193:63:0;;;;;;;5238:4;5193:63;;;;;;;;;;;;5164:7;;;;5193:5;;:18;;:63;;;;;;;;;;;;;;5164:7;5193:5;:63;;;5:2:-1;;;;30:1;27;20:12;5:2;5193:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5193:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5193:63:0;5185:72;;;;;;;;5268:13;:27;;;;;;5320:44;5335:16;5285:10;5320:14;:44::i;:::-;-1:-1:-1;;;;;5382:206:0;;5427:23;;;;:5;:23;;;;;;;;:32;;5474:37;;;;;;;;5526:23;;;:33;;;5382:206;;;;;;;;;;;;;;;;5574:3;5382:206;;;;;5306:58;;-1:-1:-1;5382:206:0;;-1:-1:-1;;;;;;;;;;;5382:206:0;;;;;;;;5623:12;:10;:12::i;:::-;5655:6;5089:580;-1:-1:-1;;;5089:580:0:o;13621:328::-;13696:7;;;;13737:55;13750:36;13763:11;2986:2;13750:12;:36::i;:::-;13788:3;13737:12;:55::i;:::-;13716:76;;13823:37;13836:11;13849:10;13823:12;:37::i;:::-;13803:57;13621:328;-1:-1:-1;;;;;13621:328:0:o;14453:428::-;14517:11;;:::i;:::-;14547:14;;:::i;:::-;14598:28;;:::i;:::-;14564:5;:23;14570:16;-1:-1:-1;;;;;14564:23:0;-1:-1:-1;;;;;14564:23:0;;;;;;;;;;;;14547:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14598:248;;;;;;;;;14630:1;:10;;;14598:248;;;;14642:1;:11;;;14598:248;;;;14655:1;:10;;;14598:248;;;;14667:1;:13;;;14598:248;;;;14682:1;:19;;;14598:248;;;;14703:1;:16;;;14598:248;;;;14721:1;:11;;;14598:248;;;;14734:1;:11;;;14598:248;;;;14747:1;:14;;;14598:248;;;;14763:1;:12;;;14598:248;;;;14777:1;:20;;;14598:248;;;;14799:1;:17;;;14598:248;;;;14818:1;:12;;;14598:248;;;;14832:1;:13;;;14598:248;;;;;14864:9;14857:16;;14453:428;;;;;:::o;11608:91::-;11679:12;;11608:91;:::o;11996:156::-;12040:7;12087:10;12115:29;12087:10;12115:11;:29::i;:::-;12108:36;;11996:156;;:::o;7013:966::-;7090:24;7138:18;1028:1;1012:13;:11;:13::i;:::-;:17;1004:26;;;;;;7117:10;7090:37;;7159:13;:11;:13::i;:::-;-1:-1:-1;;;;;7221:28:0;;;;;;;:10;:28;;;;;;;;:65;;3268:7;7263:22;;7221:65;;;7336:5;;:43;;;;;;;;;;;;;;;;;;;;7138:34;;-1:-1:-1;7336:5:0;;;;:14;;:43;;;;;7221:28;;7336:43;;;;;;;;:5;:43;;;5:2:-1;;;;30:1;27;20:12;5:2;7336:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7336:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;;7458:23:0;;;;;;:5;7336:43;7458:23;;;;;;;:33;;7445:59;;7493:10;7445:12;:59::i;:::-;-1:-1:-1;;;;;7409:23:0;;;;;;:5;:23;;;;;;;;;:33;;;:95;;;;7515:34;;;;:39;;7553:1;7515:39;;;;;;7565:8;:13;;;;;;;7589:25;;;;;;7655:45;;;;;7696:3;7655:45;;;;;;;;;7409:23;;7655:45;;;;;;;;;;;-1:-1:-1;;;;;7718:206:0;;7763:23;;;;:5;:23;;;;;;;;:32;;7810:37;;;;;;;;7862:23;;;:33;;;7718:206;;;;;;;;;;;;;;;;7910:3;7718:206;;;;;-1:-1:-1;;;;;;;;;;;7718:206:0;;;;;;;;7959:12;:10;:12::i;:::-;7013:966;;:::o;11438:115::-;11515:5;;:30;;;;;;11539:4;11515:30;;;;;;11488:7;;-1:-1:-1;;;;;11515:5:0;;:15;;:30;;;;;;;;;;;;;;11488:7;11515:5;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;11515:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11515:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11515:30:0;;-1:-1:-1;11438:115:0;:::o;3924:23::-;;;;:::o;12930:260::-;12972:7;13007:4;12972:7;;13043:47;13056:28;13007:4;3079:2;13056:12;:28::i;13043:47::-;13022:68;;13121:30;13134:4;13140:10;13121:12;:30::i;:::-;13101:50;12930:260;-1:-1:-1;;;;12930:260:0:o;3833:20::-;;;;:::o;12224:138::-;-1:-1:-1;;;;;12317:37:0;12290:7;12317:37;;;;;;;;;;;;12224:138::o;4003:47::-;;;;:::o;3734:28::-;;;;:::o;13256:260::-;13297:7;13332:4;13297:7;;13368:48;13381:29;13332:4;2986:2;13381:12;:29::i;13368:48::-;13347:69;;13447:30;13460:4;13466:10;13447:12;:30::i;14055:346::-;14129:7;14198:12;14237:18;14316:17;14174:12;;14157:13;:29;;14149:38;;;;;;;;14213:13;;-1:-1:-1;14258:47:0;14271:28;14213:13;3079:2;14271:12;:28::i;14258:47::-;14237:68;;14336:30;14349:4;14355:10;14336:12;:30::i;11762:151::-;11803:7;11850:10;11878:27;11850:10;11878:9;:27::i;4059:::-;;;-1:-1:-1;;;;;4059:27:0;;:::o;9197:2009::-;9293:4;9328:24;899:1;886:10;:8;:10::i;:::-;:14;878:23;;;;;;-1:-1:-1;9355:10:0;9456:19;:37;;;;;;;;;;;9437:56;;;9429:65;;;;;;9580:1;9564:13;:11;:13::i;:::-;:17;9560:60;;;9598:10;:8;:10::i;:::-;-1:-1:-1;;;;;9715:37:0;;:19;:37;;;;;;;;;;;9702:68;;9754:15;9702:12;:68::i;:::-;-1:-1:-1;;;;;9662:37:0;;;:19;:37;;;;;;;;;;;:108;;;;9828:31;;;;;;;9815:62;;9861:15;9815:12;:62::i;:::-;-1:-1:-1;;;;;9781:31:0;;;:19;:31;;;;;;;;;;;:96;;;;9969:15;;;9927:28;;;;;:10;:28;;;;;:76;;9969:33;;;9927:76;;;;;;10050:15;;10014:22;;;;;;:70;;10050:33;;;10014:70;;;;;;10235:5;:17;;;;:26;:31;:72;;;;-1:-1:-1;;;;;;10270:17:0;;;;;;:5;:17;;;;;:32;;;:37;10235:72;10231:117;;;10324:7;:12;;10335:1;10324:12;;;10231:117;-1:-1:-1;;;;;10377:23:0;;;;;;;:5;:23;;;;;;;;:42;;;:47;;10423:1;10377:47;;;;;;10435:41;;;;:60;;;;;;10506:17;;;;;;;;;;:32;;;:51;;;;;;10568:33;;:38;;;;;;10617:8;:13;;;;;;;;10671:61;;;;;10728:3;10671:61;;;;;;;;;10506:17;;10671:61;;;;;;;;;-1:-1:-1;;;;;10750:206:0;;10795:23;;;;:5;:23;;;;;;;;:32;;10842:37;;;;;;;;10894:23;;;:33;;;10750:206;;;;;;;;;;;;;;;;10942:3;10750:206;;;;;-1:-1:-1;;;;;;;;;;;10750:206:0;;;;;;;;-1:-1:-1;;;;;10974:182:0;;11013:17;;;;:5;:17;;;;;;;;:26;;11054:31;;;;;;;;11100:17;;;:27;;;10974:182;;;;;;;;;;;;;;;;11142:3;10974:182;;;;;-1:-1:-1;;;;;;;;;;;10974:182:0;;;;;;;;-1:-1:-1;11194:4:0;;9197:2009;-1:-1:-1;;;9197:2009:0:o;3895:22::-;;;;:::o;3860:28::-;;;;:::o;4858:112::-;4904:7;4932:30;4939:10;4951;4932:6;:30::i;:::-;4925:37;4858:112;-1:-1:-1;;4858:112:0:o;3807:19::-;;;;:::o;8028:1065::-;8123:24;8276:27;8362:17;8705:22;899:1;886:10;:8;:10::i;:::-;:14;878:23;;;;;;8150:10;8200:19;:37;;;;;;;;;;;8150:10;;-1:-1:-1;8181:56:0;;;8173:65;;;;;;8348:3;8306:39;8319:15;3079:2;8306:12;:39::i;:::-;:45;;;;;;;;8276:75;;8382:50;8395:15;8412:19;8382:12;:50::i;:::-;8362:70;;8493:43;8506:12;;8520:15;8493:12;:43::i;:::-;8478:12;:58;-1:-1:-1;;;;;8600:37:0;;:19;:37;;;;;;;;;;;8587:68;;8639:15;8587:12;:68::i;:::-;-1:-1:-1;;;;;8547:37:0;;:19;:37;;;;;;;;;;;:108;;;;8740:15;;8811:10;:28;;;;;;:47;;8740:33;;;3268:7;8777:21;;8740:59;8811:47;;;;;;8740:59;-1:-1:-1;8902:33:0;8915:19;8902:12;:33::i;:::-;8976:62;;;;;;;;;;;;9034:3;8976:62;;;;;;-1:-1:-1;;;;;8976:62:0;;;;;;;;;;;;;9073:12;:10;:12::i;:::-;8028:1065;;;;;:::o;12434:128::-;-1:-1:-1;;;;;12530:24:0;;;12434:128::o;4512:229::-;4589:5;;:52;;;;;;4608:10;4589:52;;;;4628:4;4589:52;;;;;;;;;;;;4561:7;;-1:-1:-1;;;;;4589:5:0;;:18;;:52;;;;;;;;;;;;;;4561:7;4589:5;:52;;;5:2:-1;;;;30:1;27;20:12;5:2;4589:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4589:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4589:52:0;4581:61;;;;;;;;4655:16;:26;;;;;;4699:34;;;;;;4729:3;4699:34;;;;;;4710:10;;4699:34;;;;;;;;4512:229;;;:::o;14891:266::-;14961:7;14980:13;14996:42;15034:3;14996:33;3220:1;14996:33;;:16;;:20;;:33;;;;:::i;:::-;:37;:42;:37;:42;:::i;:::-;14980:58;;15074:1;15059:12;;:16;15058:91;;15148:1;15058:91;;;15132:12;;-1:-1:-1;;;;;15089:37:0;;:19;:37;;;;;;;;;;;15079:66;;15132:12;15079:48;;:5;;:48;:9;:48;:::i;3956:40::-;;;;:::o;5915:1037::-;5997:18;6138:24;6340:15;1028:1;1012:13;:11;:13::i;:::-;:17;1004:26;;;;;;6018:13;:11;:13::i;:::-;6165:10;6186:28;;;;:10;:28;;;;;:65;;3268:7;6228:22;;6186:65;;;5997:34;;-1:-1:-1;6165:10:0;-1:-1:-1;6358:38:0;6165:10;5997:34;6358:14;:38::i;:::-;6437:58;;;;;;;;;;;;6491:3;6437:58;;;;;;6340:56;;-1:-1:-1;;;;;;6437:58:0;;;;;;;;;;;;-1:-1:-1;;;;;6575:23:0;;;;;;:5;:23;;;;;:34;;;6562:60;;6611:10;6562:12;:60::i;:::-;-1:-1:-1;;;;;6525:23:0;;;;;;:5;:23;;;;;;;;:34;;;;:97;;;;6633:35;;;:40;;;;;;;;6736:32;;6783:37;;;;;;;;6835:23;;;:33;;;;;6691:206;;;;;;;;;;;;;;;;;;;6883:3;6691:206;;;;;;6525:23;;-1:-1:-1;;;;;;;;;;;6691:206:0;;;;;;;;;6932:12;:10;:12::i;:::-;5915:1037;;;:::o;16687:1834::-;-1:-1:-1;;;;;16826:23:0;;16777:7;16826:23;;;:5;:23;;;;;:32;16777:7;;;;;;16826:37;:84;;;;-1:-1:-1;;;;;;16867:23:0;;;;;;:5;:23;;;;;:38;;;:43;16826:84;16822:129;;;16927:7;:12;;16938:1;16927:12;;;16822:129;16963:8;:13;;16975:1;16963:13;;;17082:3;17042:37;17055:12;2986:2;17042:12;:37::i;:::-;:43;;;;;;;;17012:73;;17122:47;17135:12;17149:19;17122:12;:47::i;:::-;17210:69;;;;;;;;;;;;17275:3;17210:69;;;;;;17096:73;;-1:-1:-1;;;;;;17210:69:0;;;;;;;;;;;;17422:1;17404:15;:19;:81;;;;-1:-1:-1;17473:12:0;;17427:43;17440:15;17473:12;17427;:43::i;:::-;:58;17404:81;17396:90;;;;;;;;17566:1;17551:12;;:16;17547:223;;;17623:12;:31;;;;;;17547:223;;;17728:12;:30;;;17547:223;17811:33;17824:19;17811:12;:33::i;:::-;-1:-1:-1;;;;;17986:37:0;;:19;:37;;;;;;;;;;;17973:68;;18025:15;17973:12;:68::i;:::-;-1:-1:-1;;;;;17933:37:0;;;;:19;:37;;;;;;;;;;;:108;;;;18257:15;;18302:10;:28;;;;;;:47;;18257:33;;;18302:47;;;;;;18381:5;:23;;;;;;:48;;;;;;;;-1:-1:-1;18440:33:0;;;;:38;;;;;;;;-1:-1:-1;18257:33:0;16687:1834;-1:-1:-1;16687:1834:0:o;15587:871::-;15967:13;16109:14;15662:15;;15634:25;15646:12;;15634:3;:11;;:25;;;;:::i;:::-;:43;15630:149;;;15699:35;15709:19;:17;:19::i;:::-;15699:35;;;;;;15730:3;15699:35;;;;;;;;;;;;;15764:3;15749:12;:18;15630:149;15833:20;;15797:33;15814:3;15819:10;;15797:16;:33::i;:::-;:56;:76;;;;;15872:1;15857:12;;:16;15797:76;15793:656;;;15983:56;16030:8;15983:42;16021:3;15983:33;3220:1;15983:33;;:16;;:20;;:33;;;;:::i;:56::-;15967:72;;16134:23;16146:10;;16134:3;:11;;:23;;;;:::i;:::-;16245:16;;16126:31;;;;-1:-1:-1;16245:32:0;;16126:31;16245:32;:24;:32;:::i;:::-;16226:16;:51;16351:15;;16391:12;;16338:66;;16351:15;3268:7;16369:18;;16368:35;;;;;;;;16338:12;:66::i;:::-;16320:15;:84;16434:3;16421:10;:16;15587:871;;:::o;18725:202::-;18783:9;18809:6;;18805:47;;;-1:-1:-1;18839:1:0;18832:8;;18805:47;-1:-1:-1;18866:5:0;;;18870:1;18866;:5;18889;;;;;;;;:10;18882:18;;;19022:295;19080:7;19308:1;19304;:5;;;;;;;;;19022:295;-1:-1:-1;;;19022:295:0:o;19442:123::-;19500:7;19527:6;;;;19520:14;;;;-1:-1:-1;19552:5:0;;;19442:123::o;19876:141::-;19960:5;;;19983:6;;;;19976:14;;;15167:412;15265:15;15283:10;:3;15291:1;15283:10;:7;:10;:::i;:::-;15265:28;;15326:1;15311:12;;:16;15307:169;;;15397:67;15410:15;;15451:12;;3268:7;15428;:19;15427:36;;;;;;15397:67;15379:15;:85;15307:169;15551:20;:3;15563:7;15551:20;:11;:20;:::i;:::-;15531:16;:40;;;;;;;-1:-1:-1;;15167:412:0:o;19630:171::-;19686:4;19711:1;19707;:5;19703:91;;;-1:-1:-1;19736:1:0;19729:8;;19703:91;-1:-1:-1;19777:5:0;;;19770:12;;608:17920;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;608:17920:0;;;-1:-1:-1;;608:17920:0:o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://d806abf0892fd307a1753128e425681882ab77bc344c7f117f16121a26c2c993
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.