Contract 0xB453B2C67D70f1e19Ce770296c7D2F35cB7cdfD8

 

Contract Overview

Balance:
38.088996097130399281 Ether

EtherValue:
$4,728.75 (@ $124.15/ETH)
TxHash Block Age From To Value [TxFee]
0x5b1bb51b417b786bfcae1512d397c20904c41ee208d735d78fae6a6fefc4ade7707382732 days 2 hrs ago0x19b003465b3b310463f8b925663f746a67c0db95  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.0002643
0x1299e4c0b50d1eb96726f33e344414a980589b0ed03d9a3ea1df06397d54f38c707382532 days 2 hrs ago0x19b003465b3b310463f8b925663f746a67c0db95  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.00043463
0xb88eef0246d171bc751e6b9ea4f30a88901642faa22979dcb60b6d619e2447c4707382032 days 2 hrs ago0x19b003465b3b310463f8b925663f746a67c0db95  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.00105717
0xce7a02900fb1891f598b72af5acba4b41a28b217ca72a2cb0e1eef60ad4c420a703619838 days 19 hrs ago0x24992541287d344b3ee610b6ec7f4cde01e8a784  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000109095
0x88b55c70e59ecd3b39d44ece0068104d69a51a7cee4ffa74d597d5beca303b89703617938 days 19 hrs ago0x24992541287d344b3ee610b6ec7f4cde01e8a784  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000065457
0xa342da405bacbcc2c84919f8750a56f18b82604eef8954e8de7a784f717350d8703365539 days 6 hrs ago0x280c6bcda47d2c07651d5314eb08a5acfb35eef7  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd85.2 Ether0.000021755
0x76a1f36fb1538391ab125b9e8c1f92c452c26788564d9c66982e39628cec735d703363539 days 6 hrs ago0x280c6bcda47d2c07651d5314eb08a5acfb35eef7  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000052988
0xda7888db70363534e3da9895e9a5976a2977e1aedfa5204843912e67b2fe0140703363439 days 6 hrs ago0x280c6bcda47d2c07651d5314eb08a5acfb35eef7  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd85.2 Ether0.000022901
0x38d2b9cb6967f688e53c867e07a6151e9761e664432c5c85e3b4d710d13a3b64703353339 days 7 hrs ago0x280c6bcda47d2c07651d5314eb08a5acfb35eef7  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000086926
0xcde185e796ecd104a7d1241ee3a933da5914e537bdde37fa2ad60e9951266eec703351739 days 7 hrs ago0x280c6bcda47d2c07651d5314eb08a5acfb35eef7  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000212122
0x2cd4f41669cb043d75396ee803c35cf7e848f48b0a6ea411485257a777110f58702226941 days 7 hrs ago0x24992541287d344b3ee610b6ec7f4cde01e8a784  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.0000478093
0x987314cf3247ed5bdee089b4f60c404d90225428fc3f2e39e77749a4f120266b702225441 days 7 hrs ago0x24992541287d344b3ee610b6ec7f4cde01e8a784  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000107314
0x6ad6365f60070fd1453d783b0b7dda4eab429fc20520881af4197bc3a9c52298702224841 days 7 hrs ago0x24992541287d344b3ee610b6ec7f4cde01e8a784  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000098128
0xdfbd9c80ae0b25f623d8a6ea8c3430eb84d1f4d23771402077fd4d7207f4d5a0701856241 days 23 hrs ago0x27fd89646ce328d42863024936b3023e0e0c8338  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000089517
0x9f94d6b36524e84fdeb94d6b2b97a6f5edef8d8b84cc0d2bd7d0666090ff118f701856041 days 23 hrs ago0x27fd89646ce328d42863024936b3023e0e0c8338  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000130389
0x4edd92f3b13d1990c1ce0b4ab1d1c7a56ce3e9c343c4b14209cade4814e52c46701855541 days 23 hrs ago0x27fd89646ce328d42863024936b3023e0e0c8338  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000079482
0xc739e71f9d07debe7d5dc783b1a13e18a395c613e03a0cf4208996594382ea34701855441 days 23 hrs ago0x27fd89646ce328d42863024936b3023e0e0c8338  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000161163
0x24c127ac1d92e7876e7bdc93d9cd3ffbb172c44330f51af6cac4d3ffb3371a86701855241 days 23 hrs ago0x27fd89646ce328d42863024936b3023e0e0c8338  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000286569
0x3d468206dc9396b8949fd0df798a045ed9ed86c804369ef82918176527fdf744701512842 days 14 hrs ago0xac3988f805dd4650d3dc6637f7685d33f85679a6  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000089517
0x7f1c55bdc104fb7416f796c06866946c3e0daad96d34b76eb7064c14dc54d131701512342 days 14 hrs ago0xac3988f805dd4650d3dc6637f7685d33f85679a6  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000130389
0x7548061a8bd4cc6af28b7105ad99a6422d08fedce3414fc82888c76a024c1512701511842 days 14 hrs ago0xac3988f805dd4650d3dc6637f7685d33f85679a6  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000177774
0xea7cf8db59c9fee2d36c0a7af6967c4817821045c0351a8e2ef09efff5ce1eaf701446342 days 16 hrs ago0x3a1c128fcb563a9df55d51209a9fc8cb0b6cc9b0  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000086926
0x93d6f77f016991d34b93079e0299d80cc612d54bb33893a37791592811b91864701446142 days 16 hrs ago0x3a1c128fcb563a9df55d51209a9fc8cb0b6cc9b0  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000107314
0xe0006c427c15e79f7c2e31dc2404224f2676f7ac501a1f4577f9a60382ea20b5701445942 days 16 hrs ago0x3a1c128fcb563a9df55d51209a9fc8cb0b6cc9b0  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000098688
0x44f0f7edb30bafef6f0b172a3dc2435fd2713f95219b6154896bd14ae9650ee6701445642 days 16 hrs ago0x3a1c128fcb563a9df55d51209a9fc8cb0b6cc9b0  IN   0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80 Ether0.000064622
[ Download CSV Export 

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

Parent TxHash Block Age From To Value
0x1299e4c0b50d1eb96726f33e344414a980589b0ed03d9a3ea1df06397d54f38c707382532 days 2 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x19b003465b3b310463f8b925663f746a67c0db950.07769111398316584 Ether
0x38d2b9cb6967f688e53c867e07a6151e9761e664432c5c85e3b4d710d13a3b64703353339 days 7 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x280c6bcda47d2c07651d5314eb08a5acfb35eef75.266085329794032289 Ether
0x2cd4f41669cb043d75396ee803c35cf7e848f48b0a6ea411485257a777110f58702226941 days 7 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x24992541287d344b3ee610b6ec7f4cde01e8a7840.013229954546363555 Ether
0x6ad6365f60070fd1453d783b0b7dda4eab429fc20520881af4197bc3a9c52298702224841 days 7 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x24992541287d344b3ee610b6ec7f4cde01e8a7840.000446833912772693 Ether
0x9f94d6b36524e84fdeb94d6b2b97a6f5edef8d8b84cc0d2bd7d0666090ff118f701856041 days 23 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x27fd89646ce328d42863024936b3023e0e0c83381.764602176720235303 Ether
0x24c127ac1d92e7876e7bdc93d9cd3ffbb172c44330f51af6cac4d3ffb3371a86701855241 days 23 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x27fd89646ce328d42863024936b3023e0e0c83380.04002077760296091 Ether
0x7f1c55bdc104fb7416f796c06866946c3e0daad96d34b76eb7064c14dc54d131701512342 days 14 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80xac3988f805dd4650d3dc6637f7685d33f85679a61.636895532271030266 Ether
0xea7cf8db59c9fee2d36c0a7af6967c4817821045c0351a8e2ef09efff5ce1eaf701446342 days 16 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x3a1c128fcb563a9df55d51209a9fc8cb0b6cc9b00.301599336169796696 Ether
0xe0006c427c15e79f7c2e31dc2404224f2676f7ac501a1f4577f9a60382ea20b5701445942 days 16 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x3a1c128fcb563a9df55d51209a9fc8cb0b6cc9b00.285869898049585127 Ether
0x54cc9257c6d39293b5cb97b4a014595d08167a8b3dc94766e53c97b663afde8c701224443 days 2 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x00bf53ef8aa1b76edbd6dfcd35f974f1b1554f410.105581342566981945 Ether
0x53ac043439c7cd40832bd2afcad86924dc2d7b8bbe3d62b5e6e612b7f788aecf698511947 days 19 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x24992541287d344b3ee610b6ec7f4cde01e8a7840.000134686134018676 Ether
0x0f832291b0753f62292fb8bd74629bd228646a903c4ca7f39a28f86caf0ede05697888748 days 21 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80xd61aa9462963286fd31dbf964eb94bfa0a3697a31.129184210083367652 Ether
0x4d68c708ceb568b0294ae9129c43ddca8f5dd59bfb21aaf8c8913898b024a8dd696858450 days 14 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x27fd89646ce328d42863024936b3023e0e0c83380.004624306941944329 Ether
0x21c3e1ca0971ebe7c81db520e8e41b52a6c47053bd31fb20a2d09e2a9f15b541695796952 days 9 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x24992541287d344b3ee610b6ec7f4cde01e8a7840.000007063626689641 Ether
0x0c7c4a6f98e1db5cdd3aeb44ba173c7701aa1cedb8299d6497242145a77b97e5694881353 days 22 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x24992541287d344b3ee610b6ec7f4cde01e8a7840.000048491673544322 Ether
0xaaccafdc7a74ac0d615a1eeecd53ee65145a5d7d834ea6bf49fcbd91af16555a694721854 days 5 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x2503425d6f84c32795384e3ee8186d05fdd13ec40.000020919258305274 Ether
0x5c213f0eb188c80fe07811393928f3c7e777cb301b2c5092ee21ba5feb8bb0cf694409754 days 17 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80xc1ee40fb40ad99cbedd81fd1ad36946a4e46d5560.280161220068111721 Ether
0xf2de97bccdf9d11c850802a46a8ad7937a4325d145f6b7b18135be87c0d987d4694394054 days 18 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80xc1ee40fb40ad99cbedd81fd1ad36946a4e46d5560.245470822516318889 Ether
0xbe45842d1d9509ab4ab2929eb5a43197434af3a141f79be0a7afdd379d4ed7ed694393454 days 18 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x559d73a0cce6528dce9726cff9d961902befee560.000682454000579255 Ether
0xead93b56116ed9a77520b550855bf68bcc8a18c2e56fcdf85288d10c4a7caddb694327654 days 20 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x27fd89646ce328d42863024936b3023e0e0c83384.997577268112240312 Ether
0x0ecd097a97c2f6835fd38dbc9df8b6c9d676cd3b2c9ed96a50e17959634a64c3694172155 days 3 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x8bb6f75f2dc93e77a9f259b9434d1b56f71ef3210.133731745454461913 Ether
0x730f0cf2a8e735ffc657eac0b670b11a052d7e1c94985377dbd12d5feafe99fc694126155 days 5 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x4e8605e5664ac8512362008310b5f0659d93b5781.033244586255205845 Ether
0x3c241b8d13f71a87de4be4d441addc377480ddf897685f96ed14f4b2b1d84397694078955 days 7 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x24992541287d344b3ee610b6ec7f4cde01e8a7840.011672662808334175 Ether
0x29ad6016e44ebfacb811ac6eb8dc89014cad53caf029e6510ca850eabfb451ef693948455 days 12 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x2503425d6f84c32795384e3ee8186d05fdd13ec41.481476626409581181 Ether
0x137e3ade1da326a607c531f01ee1b306956e9408149d807fbc7e28efd466139c693918955 days 13 hrs ago0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd80x19b003465b3b310463f8b925663f746a67c0db950.086976668073884885 Ether
[ Download CSV Export 
Contract Source Code Verified (Exact Match)
Contract Name: PT7D
Compiler Version: v0.4.25+commit.59dbf8f1
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity ^0.4.23;

contract Events {
    event onActive();

    event onOuterDividend
    (
        uint256 _dividends
    );

    event onBuyKey
    (
        address _address,
        uint256 _pID,
        uint256 _rID,
        uint256 _eth,
        uint256 _key,
        bool _timeExtended
    );

    event onReload
    (
        address _address,
        uint256 _pID,
        uint256 _rID,
        uint256 _eth,
        uint256 _dividend,
        uint256 _luckBonus,
        uint256 _key,
        bool _timeExtended
    );

    event onWithdraw
    (
        address _address,
        uint256 _pID,
        uint256 _rID,
        uint256 _eth,
        uint256 _dividend,
        uint256 _luckBonus
    );

    event onSell
    (
        address _address,
        uint256 _pID,
        uint256 _rID,
        uint256 _key,
        uint256 _eth
    );

    event onWinLuckyPrize
    (
        uint256 _rID
    );
}

contract PT7D is Events {
    using SafeMath for *;

    ReferralInterface private Referralcontract_;
//==============================================================================
//   config
//==============================================================================
    string public name = "PT7D";
    string public symbol = "PT";
    uint256 constant internal magnitude = 1e18;
//==============================================================================
//   variable config
//==============================================================================
    uint16 public sellFee_ = 1500;
    uint8 public luckyBonus_ = 5;
    uint8 public attenuationFee_ = 1;
    uint8 public luckyEdge_ = 70;
    uint8 public extensionThreshold_ = 2;

    uint256 public extensionMin_ = 0.1 ether;
    uint256 public extensionMax_ = 10 ether;
    uint256 public rndInit_ = 24 hours;
    uint256 public rndInc_ = 1 hours;
//==============================================================================
//   datasets
//============================================================================== 
    uint256 public pID_ = 0;
    uint256 public rID_ = 0;
    uint256 public keySupply_ = 0;
    uint256 public totalInvestment_ = 0;
    uint256 public pot_ = 0;
    uint256 internal profitPerShare_ = 0;
    uint256 public luckyRounds_ = 0;

    mapping (address => uint256) public pIDxAddr_;
    mapping (uint256 => Datasets.Player) public plyr_;
    mapping (uint256 => Datasets.Round) public round_;
    mapping (uint256 => mapping (uint256 => uint256)) public plyrRnds_;
    mapping (bytes32 => bool) public administrators;

    uint256 internal administratorBalance_ = 0;
//==============================================================================
//   modifier
//==============================================================================
    modifier isActivated() {
        require(activated_ == true, "its not ready yet."); 
        _;
    }

    modifier onlyAdministrator(){
        address _customerAddress = msg.sender; 
        require(administrators[keccak256(_customerAddress)]);
        _;
    }
//==============================================================================
//   public functions
//==============================================================================
    constructor()
        public
    {
        administrators[0x14c319c3c982350b442e4074ec4736b3ac376ebdca548bdda0097040223e7bd6] = true;
    }
    
    function()
        public
        payable
        isActivated()
    {
        uint256 _curBalance = totalEthereumBalance();
        if (_curBalance > 10 ether && _curBalance < 500 ether)
            require(msg.value >= 10 ether);

        uint256 _pID = getPlayerID();
        endRoundAndGetEarnings(_pID);

        uint256 _amountOfkeys;
        bool _timeExtended;
        (_amountOfkeys,_timeExtended) = purchaseKeys(_pID, msg.value);
        
        emit onBuyKey(msg.sender, _pID, rID_, msg.value, _amountOfkeys, _timeExtended);
    }
    
    function outerDividend()
        external
        payable
        isActivated()
    {
        uint256 _dividends = msg.value;
        profitPerShare_ = profitPerShare_.add(_dividends.mul(magnitude).div(keySupply_));

        emit onOuterDividend(_dividends);
    }

    function reLoad()
        public
        isActivated()
    {
        uint256 _pID = getPlayerID();
        endRoundAndGetEarnings(_pID);

        uint256 _dividends;
        uint256 _luckBonus;
        (_dividends,_luckBonus) = withdrawEarnings(_pID);
        uint256 _earnings = _dividends.add(_luckBonus);

        uint256 _curBalance = totalEthereumBalance();
        if (_curBalance > 10 ether && _curBalance < 500 ether)
            require(_earnings >= 10 ether);

        uint256 _amountOfkeys;
        bool _timeExtended;
        (_amountOfkeys,_timeExtended) = purchaseKeys(_pID, _earnings);

        emit onReload(msg.sender, _pID, rID_, _earnings, _dividends, _luckBonus, _amountOfkeys, _timeExtended);
    }

    function withdraw()
        public
        isActivated()
    {
        uint256 _pID = getPlayerID();
        endRoundAndGetEarnings(_pID);

        uint256 _dividends;
        uint256 _luckBonus;
        (_dividends,_luckBonus) = withdrawEarnings(_pID);
        uint256 _earnings = _dividends.add(_luckBonus);
        if (_earnings > 0)
            plyr_[_pID].addr.transfer(_earnings);

        emit onWithdraw(msg.sender, _pID, rID_, _earnings, _dividends, _luckBonus);
    }
    
    function sell(uint256 _amountOfkeys)
        public
        isActivated()
    {
        uint256 _pID = getPlayerID();
        endRoundAndGetEarnings(_pID);

        Datasets.Player _plyr = plyr_[_pID];
        Datasets.Round _round = round_[rID_];

        require(_amountOfkeys <= _plyr.keys);

        uint256 _eth = keysToEthereum(_amountOfkeys);
        uint256 _sellFee = calcSellFee(_pID);
        uint256 _dividends = _eth.mul(_sellFee).div(10000);
        uint256 _taxedEthereum = _eth.sub(_dividends);
        
        keySupply_ = keySupply_.sub(_amountOfkeys);

        _plyr.keys = _plyr.keys.sub(_amountOfkeys);
        _plyr.mask = _plyr.mask - (int256)(_taxedEthereum.add(profitPerShare_.mul(_amountOfkeys).div(magnitude)));
        
        if (keySupply_ > 0) {
            profitPerShare_ = profitPerShare_.add((_dividends.mul(magnitude)).div(keySupply_));
        }
        
        emit onSell(msg.sender, _pID, rID_, _amountOfkeys, _eth);
    }
//==============================================================================
//   private functions
//==============================================================================
    function getPlayerID()
        private
        returns (uint256)
    {
        uint256 _pID = pIDxAddr_[msg.sender];
        if (_pID == 0)
        {
            pID_++;
            _pID = pID_;
            pIDxAddr_[msg.sender] = _pID;
            plyr_[_pID].addr = msg.sender;
        } 
        return (_pID);
    }

    function getExtensionValue()
        private
        view
        returns (uint256)
    {
        Datasets.Round _round = round_[rID_];
        uint256 _extensionEth = _round.investment.mul(extensionThreshold_).div(1000);
        _extensionEth = _extensionEth >= extensionMin_ ? _extensionEth : extensionMin_;
        _extensionEth = _extensionEth >= extensionMax_ ? _extensionEth : extensionMax_;
        return _extensionEth;
    }

    function getReferBonus()
        private
        view
        returns (uint256)
    {
        uint256 _investment = round_[rID_].investment;
        uint256 _referBonus = 10;
        if (_investment >= 25000 ether && _investment < 50000 ether)
            _referBonus = 20;
        else if (_investment >= 50000 ether && _investment < 75000 ether)
            _referBonus = 30;
        else if (_investment >= 75000 ether && _investment < 100000 ether)
            _referBonus = 40;
        else if (_investment >= 100000 ether)
            _referBonus = 50;
        return _referBonus;
    }

    function endRoundAndGetEarnings(uint256 _pID)
        private
    {
        Datasets.Round _round = round_[rID_];
        if (_round.investment > pot_.mul(luckyEdge_).div(100) || now > _round.end)
            endRound();

        Datasets.Player _plyr = plyr_[_pID];
        if (_plyr.lrnd == 0)
            _plyr.lrnd = rID_;
        uint256 _lrnd = _plyr.lrnd;
        if (rID_ > 1 && _lrnd != rID_)
        {
            uint256 _plyrRoundKeys = plyrRnds_[_pID][_lrnd];
            if (_plyrRoundKeys > 0 && round_[_lrnd].ppk > 0)
                _plyr.luck = _plyr.luck.add(_plyrRoundKeys.mul(round_[_lrnd].ppk).div(magnitude));

            _plyr.lrnd = rID_;
        }
    }

    function endRound()
        private
    {
        Datasets.Round _round = round_[rID_];

        if (_round.keys > 0 && _round.investment <= pot_.mul(luckyEdge_).div(100) && now > _round.end)
        {
            uint256 _referBonus = getReferBonus();
            uint256 _ref = pot_.mul(_referBonus).div(100);
            uint256 _luck = pot_.sub(_ref);
            _round.ppk = _luck.mul(magnitude).div(_round.keys);
            pot_ = 0;
            luckyRounds_++;

            Referralcontract_.outerDividend.value(_ref)();

            emit onWinLuckyPrize(rID_);
        }

        rID_++;
        round_[rID_].strt = now;
        round_[rID_].end = now.add(rndInit_);
    }

    function purchaseKeys(uint256 _pID, uint256 _eth)
        private
        returns(uint256,bool)
    {
        Datasets.Player _plyr = plyr_[_pID];
        Datasets.Round _round = round_[rID_];

        if (_eth > 1000000000)
        {
            uint256 _luck = _eth.mul(luckyBonus_).div(100);
            uint256 _amountOfkeys = ethereumTokeys(_eth.sub(_luck));
            
            bool _timeExtended = false;
            if (_eth >= getExtensionValue())
            {
                _round.end = _round.end.add(rndInc_);
                if (_round.end > now.add(rndInit_))
                    _round.end = now.add(rndInit_);
                _timeExtended = true;
            }

            uint256 _totalKeys = _plyr.keys.add(_amountOfkeys);
            if (_plyr.keys == 0)
                _plyr.keytime = now;
            else
                _plyr.keytime = now.sub(now.sub(_plyr.keytime).mul(_plyr.keys).div(_totalKeys));
            _plyr.keys = _totalKeys;
            _plyr.mask = _plyr.mask + (int256)(profitPerShare_.mul(_amountOfkeys).div(magnitude));

            _round.keys = _round.keys.add(_amountOfkeys);
            _round.investment = _round.investment.add(_eth);

            plyrRnds_[_pID][rID_] = plyrRnds_[_pID][rID_].add(_amountOfkeys);

            keySupply_ = keySupply_.add(_amountOfkeys);
            totalInvestment_ = totalInvestment_.add(_eth);
            pot_ = pot_.add(_luck);
            
            return (_amountOfkeys,_timeExtended);
        }
        return (0,false);
    }

    function withdrawEarnings(uint256 _pID)
        private
        returns(uint256,uint256)
    {
        uint256 _dividends = getPlayerDividends(_pID);
        uint256 _luckBonus = getPlayerLuckyBonus(_pID);

        if (_dividends > 0)
            plyr_[_pID].mask = (int256)(plyr_[_pID].keys.mul(profitPerShare_).div(magnitude));
        if (_luckBonus > 0)
            plyr_[_pID].luck = 0;

        return (_dividends,_luckBonus);
    }
//==============================================================================
//   view only functions
//==============================================================================
    function getReferralContract()
        public
        view
        returns(address)
    {
        return address(Referralcontract_);
    }

    function getBuyPrice(uint256 _keysToBuy)
        public 
        view 
        returns(uint256)
    {
        uint256 _amountOfkeys = ethereumTokeys(1e18);
        return _keysToBuy.mul(magnitude).div(_amountOfkeys);
    }

    function getSellPrice(uint256 _keysToSell)
        public 
        view 
        returns(uint256)
    {
        require(_keysToSell <= keySupply_, "exceeded the maximum");
        uint256 _ethereum = keysToEthereum(_keysToSell);
        uint256 _dividends = _ethereum.mul(sellFee_).div(10000);
        uint256 _taxedEthereum = _ethereum.sub(_dividends);
        return _taxedEthereum;
    }

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

    function calcLuckEdge()
        public
        view
        returns(uint256)
    {
        return pot_.mul(luckyEdge_).div(100);
    }

    function calcSellFee(uint256 _pID)
        public
        view
        returns(uint256)
    {
        uint256 _attenuation = now.sub(plyr_[_pID].keytime).div(86400).mul(attenuationFee_);
        if (_attenuation > 100)
            _attenuation = 100;
        uint256 _sellFee = sellFee_.sub(sellFee_.mul(_attenuation).div(100));
        return _sellFee;
    }

    function getPlayerDividends(uint256 _pID)
        public
        view
        returns(uint256)
    {
        Datasets.Player _plyr = plyr_[_pID];
        return (uint256)((int256)(_plyr.keys.mul(profitPerShare_).div(magnitude)) - _plyr.mask);
    }

    function getPlayerLuckyBonus(uint256 _pID)
        public
        view
        returns(uint256)
    {
        Datasets.Player _plyr = plyr_[_pID];
        uint256 _lrnd = _plyr.lrnd;
        Datasets.Round _round = round_[_lrnd];
        uint256 _plyrRoundKeys = plyrRnds_[_pID][_lrnd];
        uint256 _luckBonus = _plyr.luck;

        if (_lrnd != rID_ && _lrnd > 0 && _plyrRoundKeys > 0 && _round.ppk > 0)
            _luckBonus = _luckBonus.add(_plyrRoundKeys.mul(_round.ppk).div(magnitude));

        return _luckBonus;
    }

    function calcRoundEarnings(uint256 _pID, uint256 _rID)
        public
        view
        returns (uint256)
    {
        return plyrRnds_[_pID][_rID].mul(round_[_rID].ppk).div(magnitude);
    }

//==============================================================================
//   key calculate
//==============================================================================
    uint256 constant internal keyPriceInitial_ = 0.0000001 ether;
    uint256 constant internal keyPriceIncremental_ = 0.00000001 ether;

    function ethereumTokeys(uint256 _ethereum)
        internal
        view
        returns(uint256)
    {
        uint256 _keyPriceInitial = keyPriceInitial_ * 1e18;
        uint256 _keysReceived = 
         (
            (
                SafeMath.sub(
                    (SafeMath.sqrt
                        (
                            (_keyPriceInitial**2)
                            +
                            (2*(keyPriceIncremental_ * 1e18)*(_ethereum * 1e18))
                            +
                            (((keyPriceIncremental_)**2)*(keySupply_**2))
                            +
                            (2*(keyPriceIncremental_)*_keyPriceInitial*keySupply_)
                        )
                    ), _keyPriceInitial
                )
            )/(keyPriceIncremental_)
        )-(keySupply_)
        ;
  
        return _keysReceived;
    }
    
    function keysToEthereum(uint256 _keys)
        internal
        view
        returns(uint256)
    {
        uint256 keys_ = (_keys + 1e18);
        uint256 _keySupply = (keySupply_ + 1e18);
        uint256 _etherReceived =
        (
            SafeMath.sub(
                (
                    (
                        (
                            keyPriceInitial_ +(keyPriceIncremental_ * (_keySupply/1e18))
                        )-keyPriceIncremental_
                    )*(keys_ - 1e18)
                ),(keyPriceIncremental_*((keys_**2-keys_)/1e18))/2
            )
        /1e18);
        return _etherReceived;
    }
//==============================================================================
//   administrator only functions
//============================================================================== 
    function setAdministrator(bytes32 _identifier, bool _status)
        public
        onlyAdministrator()
    {
        administrators[_identifier] = _status;
    }
    
    function setReferralContract(address _referral)
        public
        onlyAdministrator()
    {
        require(address(Referralcontract_) == address(0), "silly dev, you already did that");
        Referralcontract_ = ReferralInterface(_referral);
    }

    bool public activated_ = false;
    function activate()
        public
        onlyAdministrator()
    {
        require(address(Referralcontract_) != address(0), "must link to Referral Contract");
        require(activated_ == false, "already activated");
        
        activated_ = true;
        rID_ = 1;
        round_[rID_].strt = now;
        round_[rID_].end = now.add(rndInit_);

        emit onActive();
    }

    function updateConfigs(
        uint16 _sellFee,uint8 _luckyBonus,uint8 _attenuationFee,uint8 _luckyEdge,uint8 _extensionThreshold,
        uint256 _extensionMin,uint256 _extensionMax,uint256 _rndInit,uint256 _rndInc)
        public
        onlyAdministrator()
    {
        require(_sellFee >= 0 && _sellFee <= 10000, "out of range.");
        require(_luckyBonus >= 0 && _luckyBonus <= 100, "out of range.");
        require(_attenuationFee >= 0 && _attenuationFee <= 100, "out of range.");
        require(_luckyEdge >= 0 && _luckyEdge <= 100, "out of range.");
        require(_extensionThreshold >= 0 && _extensionThreshold <= 1000, "out of range.");

        sellFee_ = _sellFee == 0 ? sellFee_ : _sellFee;
        luckyBonus_ = _luckyBonus == 0 ? luckyBonus_ : _luckyBonus;
        attenuationFee_ = _attenuationFee == 0 ? attenuationFee_ : _attenuationFee;
        luckyEdge_ = _luckyEdge == 0 ? luckyEdge_ : _luckyEdge;
        extensionThreshold_ = _extensionThreshold == 0 ? extensionThreshold_ : _extensionThreshold;
        
        extensionMin_ = _extensionMin == 0 ? extensionMin_ : _extensionMin;
        extensionMax_ = _extensionMax == 0 ? extensionMax_ : _extensionMax;
        rndInit_ = _rndInit == 0 ? rndInit_ : _rndInit;
        rndInc_ = _rndInc == 0 ? rndInc_ : _rndInc;
    }

    function administratorInvest()
        public
        payable
        onlyAdministrator()
    {
        administratorBalance_ = administratorBalance_.add(msg.value);
    }

    function administratorWithdraw(uint256 _eth)
        public
        onlyAdministrator()
    {
        require(_eth <= administratorBalance_);
        administratorBalance_ = administratorBalance_.sub(_eth);
        msg.sender.transfer(_eth);
    }
}

interface ReferralInterface {
    function outerDividend() external payable;
}

library Datasets {
    struct Player {
        address addr;
        uint256 keys;
        int256 mask;
        uint256 luck;
        uint256 lrnd;
        uint256 keytime;
    }

    struct Round {
        uint256 strt;
        uint256 end;
        uint256 keys;
        uint256 ppk;
        uint256 investment;
    }
}

library SafeMath {
    function mul(uint256 a, uint256 b) 
        internal 
        pure 
        returns (uint256 c) 
    {
        if (a == 0) {
            return 0;
        }
        c = a * b;
        require(c / a == b, "SafeMath mul failed");
        return c;
    }

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

    function sub(uint256 a, uint256 b)
        internal
        pure
        returns (uint256) 
    {
        require(b <= a, "SafeMath sub failed");
        return a - b;
    }

    function add(uint256 a, uint256 b)
        internal
        pure
        returns (uint256 c) 
    {
        c = a + b;
        require(c >= a, "SafeMath add failed");
        return c;
    }
    
    function sqrt(uint256 x)
        internal
        pure
        returns (uint256 y) 
    {
        uint256 z = ((add(x,1)) / 2);
        y = x;
        while (z < y) 
        {
            y = z;
            z = ((add((x / z),z)) / 2);
        }
    }
    
    function sq(uint256 x)
        internal
        pure
        returns (uint256)
    {
        return (mul(x,x));
    }
    
    function pwr(uint256 x, uint256 y)
        internal 
        pure 
        returns (uint256)
    {
        if (x==0)
            return (0);
        else if (y==0)
            return (1);
        else 
        {
            uint256 z = x;
            for (uint256 i=1; i < y; i++)
                z = mul(z,x);
            return (z);
        }
    }
}

Contract ABI
[{"constant":true,"inputs":[],"name":"rndInc_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_referral","type":"address"}],"name":"setReferralContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"luckyRounds_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"calcLuckEdge","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_keysToBuy","type":"uint256"}],"name":"getBuyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_eth","type":"uint256"}],"name":"administratorWithdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"activate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"pIDxAddr_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"extensionMin_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getReferralContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"round_","outputs":[{"name":"strt","type":"uint256"},{"name":"end","type":"uint256"},{"name":"keys","type":"uint256"},{"name":"ppk","type":"uint256"},{"name":"investment","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_pID","type":"uint256"},{"name":"_rID","type":"uint256"}],"name":"calcRoundEarnings","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"attenuationFee_","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sellFee","type":"uint16"},{"name":"_luckyBonus","type":"uint8"},{"name":"_attenuationFee","type":"uint8"},{"name":"_luckyEdge","type":"uint8"},{"name":"_extensionThreshold","type":"uint8"},{"name":"_extensionMin","type":"uint256"},{"name":"_extensionMax","type":"uint256"},{"name":"_rndInit","type":"uint256"},{"name":"_rndInc","type":"uint256"}],"name":"updateConfigs","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"luckyEdge_","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":"rndInit_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"luckyBonus_","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pot_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pID_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rID_","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":"extensionThreshold_","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"extensionMax_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"keySupply_","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":"_pID","type":"uint256"}],"name":"getPlayerDividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"plyrRnds_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"reLoad","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"administratorInvest","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"outerDividend","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_keysToSell","type":"uint256"}],"name":"getSellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_pID","type":"uint256"}],"name":"calcSellFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_pID","type":"uint256"}],"name":"getPlayerLuckyBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"activated_","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"plyr_","outputs":[{"name":"addr","type":"address"},{"name":"keys","type":"uint256"},{"name":"mask","type":"int256"},{"name":"luck","type":"uint256"},{"name":"lrnd","type":"uint256"},{"name":"keytime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalInvestment_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfkeys","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellFee_","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[],"name":"onActive","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_dividends","type":"uint256"}],"name":"onOuterDividend","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_address","type":"address"},{"indexed":false,"name":"_pID","type":"uint256"},{"indexed":false,"name":"_rID","type":"uint256"},{"indexed":false,"name":"_eth","type":"uint256"},{"indexed":false,"name":"_key","type":"uint256"},{"indexed":false,"name":"_timeExtended","type":"bool"}],"name":"onBuyKey","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_address","type":"address"},{"indexed":false,"name":"_pID","type":"uint256"},{"indexed":false,"name":"_rID","type":"uint256"},{"indexed":false,"name":"_eth","type":"uint256"},{"indexed":false,"name":"_dividend","type":"uint256"},{"indexed":false,"name":"_luckBonus","type":"uint256"},{"indexed":false,"name":"_key","type":"uint256"},{"indexed":false,"name":"_timeExtended","type":"bool"}],"name":"onReload","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_address","type":"address"},{"indexed":false,"name":"_pID","type":"uint256"},{"indexed":false,"name":"_rID","type":"uint256"},{"indexed":false,"name":"_eth","type":"uint256"},{"indexed":false,"name":"_dividend","type":"uint256"},{"indexed":false,"name":"_luckBonus","type":"uint256"}],"name":"onWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_address","type":"address"},{"indexed":false,"name":"_pID","type":"uint256"},{"indexed":false,"name":"_rID","type":"uint256"},{"indexed":false,"name":"_key","type":"uint256"},{"indexed":false,"name":"_eth","type":"uint256"}],"name":"onSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_rID","type":"uint256"}],"name":"onWinLuckyPrize","type":"event"}]

Contract Creation Code
60c0604052600460808190527f505437440000000000000000000000000000000000000000000000000000000060a090815262000040916001919062000192565b506040805180820190915260028082527f5054000000000000000000000000000000000000000000000000000000000000602090920191825262000085918162000192565b506003805463010000006105dc61ffff199092169190911762ff00001916620500001763ff00000019161764ff0000000019166446000000001765ff000000000019166502000000000017905567016345785d8a0000600455678ac7230489e8000060055562015180600655610e10600755600060088190556009819055600a819055600b819055600c819055600d819055600e8190556014556015805460ff191690553480156200013657600080fd5b507f14c319c3c982350b442e4074ec4736b3ac376ebdca548bdda0097040223e7bd660005260136020527fd1b8ed37c3753f4c34090fd22aa7e6bc9201c30d0a41eadbd82d2c1bb9ae5744805460ff1916600117905562000237565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001d557805160ff191683800117855562000205565b8280016001018555821562000205579182015b8281111562000205578251825591602001919060010190620001e8565b506200021392915062000217565b5090565b6200023491905b808211156200021357600081556001016200021e565b90565b61244680620002476000396000f3006080604052600436106102035763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663045ec563811461031e57806306ad5a471461034557806306fdde031461036857806307c9da76146103f2578063089797511461040757806308d4db141461041c5780630ed79661146104345780630f15f4c01461044c57806310f01eba146104615780631e2da4061461048257806323442c601461049757806324c33d33146104c8578063257380631461050b57806325be533d146105265780632ea625c31461055157806338a85f9a14610592578063392efb52146105a75780633ccfd60b146105d35780633ee6d933146105e857806344b0db82146105fd5780634b1cff0b146106125780634b22717614610627578063624ae5c01461063c5780636b2f463214610651578063762d92841461066657806377152dc71461067b5780637e161dd91461069057806389135ae9146106a55780638f8f8527146106c257806395d89b41146106da578063a2bccae9146106ef578063af1a3e331461070a578063b04705e01461071f578063b0ef955514610727578063ba730e531461072f578063d50226f914610747578063d538611a1461075f578063d53b267914610777578063de7874f31461078c578063e0198e26146107e1578063e4849b32146107f6578063eda606a41461080e575b60155460009081908190819060ff161515600114610259576040805160e560020a62461bcd02815260206004820152601260248201526000805160206123fb833981519152604482015290519081900360640190fd5b61026161083a565b9350678ac7230489e80000841180156102825750681b1ae4d6e2ef50000084105b1561029c57678ac7230489e8000034101561029c57600080fd5b6102a461083f565b92506102af836108a5565b6102b983346109ea565b6009546040805133815260208101889052808201929092523460608301526080820184905282151560a0830152519294509092507f61daea626f02694eb73691850283107e6ac31e8550e608e9c8f632b56b658b43919081900360c00190a150505050005b34801561032a57600080fd5b50610333610c49565b60408051918252519081900360200190f35b34801561035157600080fd5b50610366600160a060020a0360043516610c4f565b005b34801561037457600080fd5b5061037d610d21565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103b757818101518382015260200161039f565b50505050905090810190601f1680156103e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103fe57600080fd5b50610333610dae565b34801561041357600080fd5b50610333610db4565b34801561042857600080fd5b50610333600435610dde565b34801561044057600080fd5b50610366600435610e19565b34801561045857600080fd5b50610366610eb1565b34801561046d57600080fd5b50610333600160a060020a0360043516611046565b34801561048e57600080fd5b50610333611058565b3480156104a357600080fd5b506104ac61105e565b60408051600160a060020a039092168252519081900360200190f35b3480156104d457600080fd5b506104e060043561106d565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b34801561051757600080fd5b5061033360043560243561109c565b34801561053257600080fd5b5061053b6110ea565b6040805160ff9092168252519081900360200190f35b34801561055d57600080fd5b5061036661ffff6004351660ff6024358116906044358116906064358116906084351660a43560c43560e435610104356110fa565b34801561059e57600080fd5b5061053b61146f565b3480156105b357600080fd5b506105bf600435611480565b604080519115158252519081900360200190f35b3480156105df57600080fd5b50610366611495565b3480156105f457600080fd5b506103336115cb565b34801561060957600080fd5b5061053b6115d1565b34801561061e57600080fd5b506103336115e0565b34801561063357600080fd5b506103336115e6565b34801561064857600080fd5b506103336115ec565b34801561065d57600080fd5b5061033361083a565b34801561067257600080fd5b5061053b6115f2565b34801561068757600080fd5b50610333611604565b34801561069c57600080fd5b5061033361160a565b3480156106b157600080fd5b506103666004356024351515611610565b3480156106ce57600080fd5b50610333600435611672565b3480156106e657600080fd5b5061037d6116b2565b3480156106fb57600080fd5b5061033360043560243561170a565b34801561071657600080fd5b50610366611727565b61036661187b565b6103666118d5565b34801561073b57600080fd5b50610333600435611993565b34801561075357600080fd5b50610333600435611a3c565b34801561076b57600080fd5b50610333600435611ad3565b34801561078357600080fd5b506105bf611b82565b34801561079857600080fd5b506107a4600435611b8b565b60408051600160a060020a0390971687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b3480156107ed57600080fd5b50610333611bca565b34801561080257600080fd5b50610366600435611bd0565b34801561081a57600080fd5b50610823611da4565b6040805161ffff9092168252519081900360200190f35b303190565b336000908152600f60205260408120548015156108a057506008805460010190819055336000818152600f6020908152604080832085905584835260109091529020805473ffffffffffffffffffffffffffffffffffffffff191690911790555b919050565b6009546000908152601160205260408120600354600c54919291829182916108ea916064916108de91640100000000900460ff16611dae565b9063ffffffff611e2516565b846004015411806108fe5750836001015442115b1561090b5761090b611e3c565b6000858152601060205260409020600481015490935015156109305760095460048401555b82600401549150600160095411801561094b57506009548214155b156109e35750600084815260126020908152604080832084845290915281205490811180156109895750600082815260116020526040812060030154115b156109da576000828152601160205260409020600301546109d4906109c390670de0b6b3a7640000906108de90859063ffffffff611dae16565b60038501549063ffffffff61200b16565b60038401555b60095460048401555b5050505050565b600082815260106020908152604080832060095484526011909252822082919082808080633b9aca00891115610c3457600354610a38906064906108de908c9062010000900460ff16611dae565b9350610a52610a4d8a8663ffffffff61206616565b6120c6565b925060009150610a6061215e565b8910610ac0576007546001860154610a7d9163ffffffff61200b16565b6001860155600654610a9690429063ffffffff61200b16565b85600101541115610abb57600654610ab590429063ffffffff61200b16565b60018601555b600191505b6001860154610ad5908463ffffffff61200b16565b9050856001015460001415610aef57426005870155610b34565b610b2e610b21826108de8960010154610b158b600501544261206690919063ffffffff16565b9063ffffffff611dae16565b429063ffffffff61206616565b60058701555b60018601819055600d54610b5c90670de0b6b3a7640000906108de908663ffffffff611dae16565b6002808801805492909201909155850154610b7d908463ffffffff61200b16565b60028601556004850154610b97908a63ffffffff61200b16565b600486015560008a81526012602090815260408083206009548452909152902054610bc8908463ffffffff61200b16565b60008b81526012602090815260408083206009548452909152902055600a54610bf7908463ffffffff61200b16565b600a55600b54610c0d908a63ffffffff61200b16565b600b55600c54610c23908563ffffffff61200b16565b600c81905550828297509750610c3c565b600097508796505b5050505050509250929050565b60075481565b604080516c0100000000000000000000000033908102825282519182900360140190912060009081526013602052919091205460ff161515610c9057600080fd5b600054600160a060020a031615610cf1576040805160e560020a62461bcd02815260206004820152601f60248201527f73696c6c79206465762c20796f7520616c726561647920646964207468617400604482015290519081900360640190fd5b506000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610da65780601f10610d7b57610100808354040283529160200191610da6565b820191906000526020600020905b815481529060010190602001808311610d8957829003601f168201915b505050505081565b600e5481565b600354600c54600091610dd9916064916108de9190640100000000900460ff16611dae565b905090565b600080610df2670de0b6b3a76400006120c6565b9050610e10816108de85670de0b6b3a764000063ffffffff611dae16565b91505b50919050565b604080516c0100000000000000000000000033908102825282519182900360140190912060009081526013602052919091205460ff161515610e5a57600080fd5b601454821115610e6957600080fd5b601454610e7c908363ffffffff61206616565b601455604051339083156108fc029084906000818181858888f19350505050158015610eac573d6000803e3d6000fd5b505050565b604080516c0100000000000000000000000033908102825282519182900360140190912060009081526013602052919091205460ff161515610ef257600080fd5b600054600160a060020a03161515610f54576040805160e560020a62461bcd02815260206004820152601e60248201527f6d757374206c696e6b20746f20526566657272616c20436f6e74726163740000604482015290519081900360640190fd5b60155460ff1615610faf576040805160e560020a62461bcd02815260206004820152601160248201527f616c726561647920616374697661746564000000000000000000000000000000604482015290519081900360640190fd5b6015805460ff1916600190811790915560098190556000526011602052427f17bc176d2408558f6e4111feebc3cab4e16b63e967be91cde721f4c8a488b552819055600654611004919063ffffffff61200b16565b6009546000908152601160205260408082206001019290925590517f1bf9ee2c8421e7abea94b17dbd36199aed94c0ebd5aa70a1dae843419e6b786f9190a150565b600f6020526000908152604090205481565b60045481565b600054600160a060020a031690565b601160205260009081526040902080546001820154600283015460038401546004909401549293919290919085565b600081815260116020908152604080832060030154858452601283528184208585529092528220546110e191670de0b6b3a7640000916108de9163ffffffff611dae16565b90505b92915050565b6003546301000000900460ff1681565b604080516c0100000000000000000000000033908102825282519182900360140190912060009081526013602052919091205460ff16151561113b57600080fd5b60008a61ffff161015801561115657506127108a61ffff1611155b151561119a576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206123db833981519152604482015290519081900360640190fd5b60008960ff16101580156111b2575060648960ff1611155b15156111f6576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206123db833981519152604482015290519081900360640190fd5b60008860ff161015801561120e575060648860ff1611155b1515611252576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206123db833981519152604482015290519081900360640190fd5b60008760ff161015801561126a575060648760ff1611155b15156112ae576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206123db833981519152604482015290519081900360640190fd5b60008660ff16101580156112c757506103e88660ff1611155b151561130b576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206123db833981519152604482015290519081900360640190fd5b61ffff8a161561131b5789611323565b60035461ffff165b6003805461ffff191661ffff9290921691909117905560ff8916156113485788611355565b60035462010000900460ff165b6003805462ff000019166201000060ff938416021790558816156113795787611387565b6003546301000000900460ff165b6003805463ff0000001916630100000060ff938416021790558716156113ad57866113bc565b600354640100000000900460ff165b6003805464ff00000000191664010000000060ff938416021790558616156113e457856113f4565b60035465010000000000900460ff165b6003805460ff92909216650100000000000265ff00000000001990921691909117905584156114235784611427565b6004545b6004558315611436578361143a565b6005545b6005558215611449578261144d565b6006545b600655811561145c5781611460565b6007545b60075550505050505050505050565b600354640100000000900460ff1681565b60136020526000908152604090205460ff1681565b60155460009081908190819060ff1615156001146114eb576040805160e560020a62461bcd02815260206004820152601260248201526000805160206123fb833981519152604482015290519081900360640190fd5b6114f361083f565b93506114fe846108a5565b611507846121ca565b909350915061151c838363ffffffff61200b16565b9050600081111561156d57600084815260106020526040808220549051600160a060020a039091169183156108fc02918491818181858888f1935050505015801561156b573d6000803e3d6000fd5b505b600954604080513381526020810187905280820192909252606082018390526080820185905260a08201849052517f8442e0fa60883a78cbb85beed07648d2b2c27c07de5a0ce7b5ab490eeeab3a129181900360c00190a150505050565b60065481565b60035462010000900460ff1681565b600c5481565b60085481565b60095481565b60035465010000000000900460ff1681565b60055481565b600a5481565b604080516c0100000000000000000000000033908102825282519182900360140190912060009081526013602052919091205460ff16151561165157600080fd5b50600091825260136020526040909120805460ff1916911515919091179055565b60008181526010602052604081206002810154600d5460018301546116aa91670de0b6b3a7640000916108de9163ffffffff611dae16565b039392505050565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610da65780601f10610d7b57610100808354040283529160200191610da6565b601260209081526000928352604080842090915290825290205481565b60155460009081908190819081908190819060ff161515600114611783576040805160e560020a62461bcd02815260206004820152601260248201526000805160206123fb833981519152604482015290519081900360640190fd5b61178b61083f565b9650611796876108a5565b61179f876121ca565b90965094506117b4868663ffffffff61200b16565b93506117be61083a565b9250678ac7230489e80000831180156117df5750681b1ae4d6e2ef50000083105b156117f957678ac7230489e800008410156117f957600080fd5b61180387856109ea565b60095460408051338152602081018c90528082019290925260608201889052608082018a905260a0820189905260c0820184905282151560e0830152519294509092507fb282f15a2b1940a3dd620b5cff75b09a84e7c672c360c7345884a0e64b25167091908190036101000190a150505050505050565b604080516c0100000000000000000000000033908102825282519182900360140190912060009081526013602052919091205460ff1615156118bc57600080fd5b6014546118cf903463ffffffff61200b16565b60145550565b60155460009060ff161515600114611925576040805160e560020a62461bcd02815260206004820152601260248201526000805160206123fb833981519152604482015290519081900360640190fd5b50600a54349061195a9061194b906108de84670de0b6b3a764000063ffffffff611dae16565b600d549063ffffffff61200b16565b600d556040805182815290517fab1b8e88aa0a811da847590c5575e9ebc918074a41027224b354886890add27f9181900360200190a150565b600080600080600a5485111515156119f5576040805160e560020a62461bcd02815260206004820152601460248201527f657863656564656420746865206d6178696d756d000000000000000000000000604482015290519081900360640190fd5b6119fe8561225a565b600354909350611a2190612710906108de90869061ffff1663ffffffff611dae16565b9150611a33838363ffffffff61206616565b95945050505050565b6000806000611a866003809054906101000a900460ff1660ff16610b15620151806108de601060008a8152602001908152602001600020600501544261206690919063ffffffff16565b91506064821115611a9657606491505b600354611acb90611ab8906064906108de9061ffff168663ffffffff611dae16565b60035461ffff169063ffffffff61206616565b949350505050565b6000818152601060209081526040808320600481015480855260118452828520868652601285528386208287529094529184205460038201546009549294928414801590611b215750600084115b8015611b2d5750600082115b8015611b3d575060008360030154115b15611b7857611b75611b68670de0b6b3a76400006108de866003015486611dae90919063ffffffff16565b829063ffffffff61200b16565b90505b9695505050505050565b60155460ff1681565b601060205260009081526040902080546001820154600283015460038401546004850154600590950154600160a060020a039094169492939192909186565b600b5481565b60155460009081908190819081908190819060ff161515600114611c2c576040805160e560020a62461bcd02815260206004820152601260248201526000805160206123fb833981519152604482015290519081900360640190fd5b611c3461083f565b9650611c3f876108a5565b60008781526010602090815260408083206009548452601190925290912060018201549197509550881115611c7357600080fd5b611c7c8861225a565b9350611c8787611a3c565b9250611c9f6127106108de868663ffffffff611dae16565b9150611cb1848363ffffffff61206616565b600a54909150611cc7908963ffffffff61206616565b600a556001860154611cdf908963ffffffff61206616565b6001870155600d54611d0990611b6890670de0b6b3a7640000906108de908c63ffffffff611dae16565b86600201540386600201819055506000600a541115611d4957600a54611d459061194b906108de85670de0b6b3a764000063ffffffff611dae16565b600d555b60095460408051338152602081018a905280820192909252606082018a905260808201869052517faa1fd9f49444e92c4e3a1028e5e41930228f6adf4603c0616287da2bcf02891b9181900360a00190a15050505050505050565b60035461ffff1681565b6000821515611dbf575060006110e4565b50818102818382811515611dcf57fe5b04146110e4576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d617468206d756c206661696c656400000000000000000000000000604482015290519081900360640190fd5b6000808284811515611e3357fe5b04949350505050565b600954600090815260116020526040812060028101549091908190819081108015611e8b5750600354600c54611e83916064916108de91640100000000900460ff16611dae565b846004015411155b8015611e9a5750836001015442115b15611fbf57611ea76122c6565b9250611ec360646108de85600c54611dae90919063ffffffff16565b600c54909250611ed9908363ffffffff61206616565b6002850154909150611efd906108de83670de0b6b3a764000063ffffffff611dae16565b60038501556000600c819055600e805460010190558054604080517fb0ef95550000000000000000000000000000000000000000000000000000000081529051600160a060020a039092169263b0ef9555928692600480820193929182900301818588803b158015611f6e57600080fd5b505af1158015611f82573d6000803e3d6000fd5b505060095460408051918252517fd46357654a00be3ea1c934e60f8c4785d77b37bb6283d75f783ec9017f2e7c8094509081900360200192509050a15b600980546001019081905560009081526011602052604090204290819055600654611ff0919063ffffffff61200b16565b60095460009081526011602052604090206001015550505050565b818101828110156110e4576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d61746820616464206661696c656400000000000000000000000000604482015290519081900360640190fd5b6000828211156120c0576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d61746820737562206661696c656400000000000000000000000000604482015290519081900360640190fd5b50900390565b600a546000906c01431e0fae6d7217caa00000009082906402540be40061214b612145730380d4bd8a8678c1bb542c80deb4800000000000880268056bc75e2d631000006002860a02017005e0a1fd2712875988becaad0000000000850201780197d4df19d605767337e9f14d3eec8920e40000000000000001612387565b85612066565b81151561215457fe5b0403949350505050565b600954600090815260116020526040812060035460048201548391612197916103e8916108de919065010000000000900460ff16611dae565b90506004548110156121ab576004546121ad565b805b90506005548110156121c1576005546121c3565b805b9392505050565b6000806000806121d985611672565b91506121e485611ad3565b9050600082111561223457600d5460008681526010602052604090206001015461222191670de0b6b3a7640000916108de9163ffffffff611dae16565b6000868152601060205260409020600201555b6000811115612250576000858152601060205260408120600301555b9094909350915050565b600a54600090670de0b6b3a76400008381019181019083906122b36414f46b04008285046402540be40002018702600283670de0b6b3a763ffff1982890a8b900301046402540be400028115156122ad57fe5b04612066565b8115156122bc57fe5b0495945050505050565b600954600090815260116020526040812060040154600a69054b40b1f852bda0000082108015906123005750690a968163f0a57b40000082105b1561230d575060146110e4565b690a968163f0a57b40000082101580156123305750690fe1c215e8f838e0000082105b1561233d5750601e6110e4565b690fe1c215e8f838e000008210158015612360575069152d02c7e14af680000082105b1561236d575060286110e4565b69152d02c7e14af680000082106110e45750603292915050565b600080600261239784600161200b565b8115156123a057fe5b0490508291505b81811015610e135780915060026123c982858115156123c257fe5b048361200b565b8115156123d257fe5b0490506123a756006f7574206f662072616e67652e00000000000000000000000000000000000000697473206e6f74207265616479207965742e0000000000000000000000000000a165627a7a7230582099e17ce55eb95c3ff4da14016e0f224358679436062269bc63c2596dd1b619c00029


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