Sponsored:   Ubex.com - World roadshow: Seoul Sep 17-19, Singapore Sep 19-20, Dubai 18-23. Meet us!.
Contract Overview
Balance: 0.248526299054597847 Ether
Ether Value: $59.73 (@ $240.34/ETH)
Transactions: 4835 txns
 Latest 25 txns From a total of 4835 Transactions

TxHash Age From To Value [TxFee]
0xdb94e0c7e3417934546233c0c207df1f37947424ccd76097987d2d976e0c4b4a58 days 11 hrs ago0x79d4bd65b37a6219bb78c75db8bb5b111e8ac3d3  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000067818
0xbe77a5e64e41adab0a7c058e409cef6a0f6731ce6d4014fda33cac08de31602065 days 9 hrs ago0x63c646a7c355b5318eb1ae9fb93d91a5c660fbf4  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000024876
0x0f6bf680b19616a4a593fa6a797e26ce66ddb230069aeb7fe331875b4c9b935465 days 15 hrs ago0x79d4bd65b37a6219bb78c75db8bb5b111e8ac3d3  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000022268
0x97619dc0190de29bfea8b1884cbad7d18ae1a48a732f9b36e167c141ba1555d866 days 22 hrs ago0x79d4bd65b37a6219bb78c75db8bb5b111e8ac3d3  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000158493
0x28aac0d08e2f7e73ac13931d3225cef02cfbbe6f08ea5263514089d626ca8c3085 days 6 hrs ago0x4a4c35280bc7e7f426453db48e5faf66f47398b6  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.00016404
0xc407464d83a255985958755209b2317ffbcd9fdadd530ac0bf55fea7869d74be85 days 6 hrs ago0x4a4c35280bc7e7f426453db48e5faf66f47398b6  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000310152
0x92377cdbbdefc9c4fed03b77abdda010bd3734a4a1063fe61e704417ae4e95eb85 days 6 hrs ago0x4a4c35280bc7e7f426453db48e5faf66f47398b6  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000268449
0x5fa3e5caf051df581d59f36ad68e557937fa0f33d294cbe6573d64b6e2e4090185 days 6 hrs ago0x4a4c35280bc7e7f426453db48e5faf66f47398b6  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000274623
0xebbe2a18939d33748bc479f19bff84198706390753b3f0f2e880098d39d5bea585 days 6 hrs ago0x4a4c35280bc7e7f426453db48e5faf66f47398b6  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000268449
0xa2c42468354e1e2053193869c8bae0d997a802fa76bb9754f214d24b3a650b7887 days 22 hrs ago0xe57a18783640c9fa3c5e8e4d4b4443e2024a7ff9  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.0000685671
0xb5bd37bdd40acd3df56ea2f4798565938d091b12a42887bb678442becf0bdf0c90 days 14 hrs ago0x5b6e967797508cae598ede824898b4a64415117f  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000022268
0x41ed7b7aaf80551ff186304c65ca44387af0ed5d772931a3991087c56d769f5590 days 14 hrs ago0x5b6e967797508cae598ede824898b4a64415117f  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000022268
0x9570ca20cd4959e151050ae10386edf174a5ac35c2af46c67b25e0a84cab6b2690 days 15 hrs ago0x5b6e967797508cae598ede824898b4a64415117f  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000022268
0xd0281fcaf1d8da9a8bcae4f138d9eb789ddccf1276886491218be9a33301993690 days 15 hrs ago0x5b6e967797508cae598ede824898b4a64415117f  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000158493
0x8d6ab4137362b3545e9c375fe351a2750a079c34a62cf0be0be7cdf494a67df694 days 1 hr ago0x29bae470f4670d5dfd683cf9700346f068d6b2db  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000475479
0x9c408e7db95aa8bd6f4ebe73305761cbf9c5e0f6adbe289b0e750b173f7a899599 days 3 hrs ago0xd78976a6455212764fab53a3d07eb6ac5b76b16e  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000049752
0xba22d526e20e8db77c220ba82d0fa4066914615c2874e09c59142b0770202b0b99 days 3 hrs ago0xd78976a6455212764fab53a3d07eb6ac5b76b16e  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.0001209978
0x5b3e2b5f1b0667b4b06f24c5d3130b666306cf37d404000500434de06767845c100 days 8 hrs ago0xf0333b94f895eb5aab3822da376f9cbcfce8a19c  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.00007487676
0x2850a37909c5a281694ddcc838c9c645ca4d37aee82679996ad29293fb956409100 days 8 hrs ago0xf0333b94f895eb5aab3822da376f9cbcfce8a19c  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.00010795365
0x0e6c5ff25e168d839c95ac1e89aecbc02ecddbf84dd10e8381db7e44dcd0a4b6100 days 8 hrs ago0xf0333b94f895eb5aab3822da376f9cbcfce8a19c  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.0002837771
0xdaf65484d28ad34566354ab06eeb969885054e46154e6e42b4465c8e58641374100 days 8 hrs ago0xf0333b94f895eb5aab3822da376f9cbcfce8a19c  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.0001804603
0xecd9e6d8aedc3b2e7ce9da4ef9f6e86764a8c5563ba6eb02fe96db84fbb87e77101 days 2 hrs ago0x4a4c35280bc7e7f426453db48e5faf66f47398b6  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.00016404
0x6081572c9d904b2f9e839f06b2fb857dbafc78bb2d652c04abe8494d65985edd101 days 2 hrs ago0x4a4c35280bc7e7f426453db48e5faf66f47398b6  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000310152
0x34ebc7e7a0f16ca093509a087f7c4967b472fcf36cb34a942e426ee4a06b2e80101 days 2 hrs ago0x4a4c35280bc7e7f426453db48e5faf66f47398b6  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.0001429962
0x6e44a2386ecbcf93bc8c8b14350c8b85ddbbd1dbd1ecfbe2f200ae7e90147668101 days 8 hrs ago0xf0333b94f895eb5aab3822da376f9cbcfce8a19c  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.00017776239
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click Here To View More View All
ParentTxHash Block Age From To Value
0xbe77a5e64e41adab0a7c058e409cef6a0f6731ce6d4014fda33cac08de316020599466365 days 9 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x63c646a7c355b5318eb1ae9fb93d91a5c660fbf40.001257208288639421 Ether
0x9c408e7db95aa8bd6f4ebe73305761cbf9c5e0f6adbe289b0e750b173f7a8995579715799 days 3 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xd78976a6455212764fab53a3d07eb6ac5b76b16e0.000179714076501879 Ether
0x5b3e2b5f1b0667b4b06f24c5d3130b666306cf37d404000500434de06767845c5790057100 days 8 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xf0333b94f895eb5aab3822da376f9cbcfce8a19c0.008345882501066429 Ether
0x69bc6141ef1ccb54360db86d1f30e82e221ffe783ee43fe4d6495f2843dfb42b5771164103 days 15 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x118778b46e57480b358a27a29bb04e068f6764c70.003313079240358472 Ether
0x34215cfd737a6243b80c2b3484729f27d1c65aeab99c18be7ce7563fede79d0f5767297104 days 8 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xf0333b94f895eb5aab3822da376f9cbcfce8a19c0.016316877181878057 Ether
0x076f87f2fa97a0394e35837fb68a92490c9873ece919e1492bee06db2fa5180c5733073110 days 10 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xf0333b94f895eb5aab3822da376f9cbcfce8a19c0.012653990252920455 Ether
0xbbfa56dbbc2716cf0145c606723be7614550e5ff2708de83eac8aeb25dee47335717561113 days 4 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xd78976a6455212764fab53a3d07eb6ac5b76b16e0.033599823666812835 Ether
0x54a4a2406fac5497f4fa10b5294810319f2a0cdd65a5fa6d3768d837077d71665693298117 days 11 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xf0333b94f895eb5aab3822da376f9cbcfce8a19c0.010774147782431321 Ether
0x8cb0c601121c4653a8759370092f7762c4bbf6121b10abf72ecf34e9f59b7b8b5688664118 days 7 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x36e058332ae39efad2315776b9c844e30d07388b0.007720092760203515 Ether
0xe73dd72de4dfb3cdfb0a46c451765e612f2970a9c65f8ecb81f966d5643663b05673222121 days 21 mins ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xe57a18783640c9fa3c5e8e4d4b4443e2024a7ff90.159864036434196097 Ether
0x2ae0623c54e84e1b91d684ea2b0e2a192fc86c8ebec75520d48cb9046e46f6f65670940121 days 10 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xf0333b94f895eb5aab3822da376f9cbcfce8a19c0.007153923593387556 Ether
0x5d79b749048fe392f8e13b9de352a7f2701df1a70e2ef99844d1f993ae6b3fae5664625122 days 13 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xf0333b94f895eb5aab3822da376f9cbcfce8a19c0.007490902516792619 Ether
0x760bc40e4907d3ed6ee6e3aac9f664f587cc534d98c66ee9bc233fe78d5fd9a05654961124 days 6 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xd78976a6455212764fab53a3d07eb6ac5b76b16e0.017901915124761737 Ether
0xc8e1e18096eb118efff896afbd889cfd7c316eecd16d405d24f5bc34351b919b5654730124 days 7 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xf0333b94f895eb5aab3822da376f9cbcfce8a19c0.024786315059771075 Ether
0x532b125b8e84ed637effa546759ca7e704bba398e985d35c9a6da2d74a60d8a95646281125 days 19 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x36e058332ae39efad2315776b9c844e30d07388b0.003986582295943709 Ether
0xe06335c5dd272a7c144d88763bc853d216dcd77c1a96098f9f86f4aa455e9dff5640907126 days 17 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xa5b8f955f90216d11f7da256d6fc376e63ddc34b0.011107320896269009 Ether
0xebdb8f2a528cb73bf49be7a1d27eb82e981c9a283e215e6d0b842223dd0fc5305634637127 days 20 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x293493dc8a6379a9913b1b1f579a0c90f7d99a490.033631525128963146 Ether
0xb656f77db22a468c7aa646db92639c305736e6ad4f5caa42ca5b30fdf60a554d5631798128 days 8 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xf0333b94f895eb5aab3822da376f9cbcfce8a19c0.028127349832652132 Ether
0x03024cf9dc7a4614c1e242cd59e5ce6d46887576cfeb625ff11c0cce429f33cb5625720129 days 10 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x36e058332ae39efad2315776b9c844e30d07388b0.001772035808809296 Ether
0x16596eca20d0e381ce4dbeda3a3ad7b115c289c2a815ca564fbdc89ee0de88605625631129 days 10 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xc910fbbabad59de4ad6e598887f04c36e20877b20.065996968955278932 Ether
0x5054883267a1adeeb7d1f3de4fcc2791fa65b819bb543a71c958008487e5757b5625630129 days 10 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x8871759b2530fee82cd1b31c534252a1db707b0b0.030274312983571404 Ether
0x5637fffedf06c7ba0c6e201aa4bee6505fd978e18c4ece58696edcbadba1ee665625619129 days 10 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x4a4c35280bc7e7f426453db48e5faf66f47398b60.122439864335200959 Ether
0x9e7bb6e018d7670c371354b2f40eda02fe9966b8d4f0d03e84502624e270d58d5625614129 days 10 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xb053e9e6b3504ce44994d7e801f908b4307cc3e20.068330014795038933 Ether
0x3b58f0621a9de15a6d8af720dd00c70e0797373e81798f56f98296e847dc6e625625614129 days 10 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x53da753a4d453aa132da0a20137c95c02e554c450.050646834853238741 Ether
0x62f2be6cd02bf029f5e5b3bd1793881ef84c52179c4e84cf8b062594b564b79a5625609129 days 10 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xc1565b55e0b39d44bbcc9a091d9065d70f1a2c670.080458239912294635 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: RigIdle
Compiler Text: v0.4.21+commit.dfe3193c
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.18;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
        c = a + b;
        require(c >= a);
    }

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
        c = a * b;
        require(a == 0 || c / a == b);
    }
}

library NumericSequence
{
    using SafeMath for uint256;
    function sumOfN(uint256 basePrice, uint256 pricePerLevel, uint256 owned, uint256 count) internal pure returns (uint256 price)
    {
        require(count > 0);
        
        price = 0;
        price += SafeMath.mul((basePrice + pricePerLevel * owned), count);
        price += pricePerLevel * (count.mul((count-1))) / 2;
    }
}

//-----------------------------------------------------------------------
contract RigIdle  {
    using NumericSequence for uint;
    using SafeMath for uint;

    struct MinerData 
    {
        uint256[9]   rigs; // rig types and their upgrades
        uint8[3]     hasUpgrade;
        uint256      money;
        uint256      lastUpdateTime;
        uint256      premamentMineBonusPct;
        uint256      unclaimedPot;
        uint256      lastPotClaimIndex;
    }
    
    struct RigData
    {
        uint256 basePrice;
        uint256 baseOutput;
        uint256 pricePerLevel;
        uint256 priceInETH;
        uint256 limit;
    }
    
    struct BoostData
    {
        uint256 percentBonus;
        uint256 priceInWEI;
    }
    
    struct PVPData
    {
        uint256[6] troops;
        uint256    immunityTime;
        uint256    exhaustTime;
    }
    
    struct TroopData
    {
        uint256 attackPower;
        uint256 defensePower;
        uint256 priceGold;
        uint256 priceETH;
    }
    
    uint8 private constant NUMBER_OF_RIG_TYPES = 9;
    RigData[9]  private rigData;
    
    uint8 private constant NUMBER_OF_UPGRADES = 3;
    BoostData[3] private boostData;
    
    uint8 private constant NUMBER_OF_TROOPS = 6;
    uint8 private constant ATTACKER_START_IDX = 0;
    uint8 private constant ATTACKER_END_IDX = 3;
    uint8 private constant DEFENDER_START_IDX = 3;
    uint8 private constant DEFENDER_END_IDX = 6;
    TroopData[6] private troopData;

    // honey pot variables
    uint256 private honeyPotAmount;
    uint256 private honeyPotSharePct; // 90%
    uint256 private jackPot;
    uint256 private devFund;
    uint256 private nextPotDistributionTime;
    mapping(address => mapping(uint256 => uint256)) private minerICOPerCycle;
    uint256[] private honeyPotPerCycle;
    uint256[] private globalICOPerCycle;
    uint256 private cycleCount;
    
    //booster info
    uint256 private constant NUMBER_OF_BOOSTERS = 5;
    uint256 private boosterIndex;
    uint256 private nextBoosterPrice;
    address[5] private boosterHolders;
    
    mapping(address => MinerData) private miners;
    mapping(address => PVPData)   private pvpMap;
    mapping(uint256 => address)   private indexes;
    uint256 private topindex;
    
    address private owner;
    
    // ------------------------------------------------------------------------
    // Constructor
    // ------------------------------------------------------------------------
    function RigIdle() public {
        owner = msg.sender;
        
        //                   price,           prod.     upgrade,        priceETH, limit
        rigData[0] = RigData(128,             1,        64,              0,          64);
        rigData[1] = RigData(1024,            64,       512,             0,          64);
        rigData[2] = RigData(204800,          1024,     102400,          0,          128);
        rigData[3] = RigData(25600000,        8192,     12800000,        0,          128);
        rigData[4] = RigData(30000000000,     65536,    30000000000,     0.01 ether, 256);
        rigData[5] = RigData(30000000000,     100000,   10000000000,     0,          256);
        rigData[6] = RigData(300000000000,    500000,   100000000000,    0,          256);
        rigData[7] = RigData(50000000000000,  3000000,  12500000000000,  0.1 ether,  256);
        rigData[8] = RigData(100000000000000, 30000000, 50000000000000,  0,          256);
        
        boostData[0] = BoostData(30,  0.01 ether);
        boostData[1] = BoostData(50,  0.1 ether);
        boostData[2] = BoostData(100, 1 ether);
        
        topindex = 0;
        honeyPotAmount = 0;
        devFund = 0;
        jackPot = 0;
        nextPotDistributionTime = block.timestamp;
        honeyPotSharePct = 90;
        
        // has to be set to a value
        boosterHolders[0] = owner;
        boosterHolders[1] = owner;
        boosterHolders[2] = owner;
        boosterHolders[3] = owner;
        boosterHolders[4] = owner;
        
        boosterIndex = 0;
        nextBoosterPrice = 0.1 ether;
        
        //pvp
        troopData[0] = TroopData(10,     0,      100000,   0);
        troopData[1] = TroopData(1000,   0,      80000000, 0);
        troopData[2] = TroopData(100000, 0,      0,        0.01 ether);
        troopData[3] = TroopData(0,      15,     100000,   0);
        troopData[4] = TroopData(0,      1500,   80000000, 0);
        troopData[5] = TroopData(0,      150000, 0,        0.01 ether);
        
        honeyPotPerCycle.push(0);
        globalICOPerCycle.push(1);
        cycleCount = 0;
    }
    
    //--------------------------------------------------------------------------
    // Data access functions
    //--------------------------------------------------------------------------
    function GetMinerData(address minerAddr) public constant returns 
        (uint256 money, uint256 lastupdate, uint256 prodPerSec, 
         uint256[9] rigs, uint[3] upgrades, uint256 unclaimedPot, bool hasBooster, uint256 unconfirmedMoney)
    {
        uint8 i = 0;
        
        money = miners[minerAddr].money;
        lastupdate = miners[minerAddr].lastUpdateTime;
        prodPerSec = GetProductionPerSecond(minerAddr);
        
        for(i = 0; i < NUMBER_OF_RIG_TYPES; ++i)
        {
            rigs[i] = miners[minerAddr].rigs[i];
        }
        
        for(i = 0; i < NUMBER_OF_UPGRADES; ++i)
        {
            upgrades[i] = miners[minerAddr].hasUpgrade[i];
        }
        
        unclaimedPot = miners[minerAddr].unclaimedPot;
        hasBooster = HasBooster(minerAddr);
        
        unconfirmedMoney = money + (prodPerSec * (now - lastupdate));
    }
    
    function GetTotalMinerCount() public constant returns (uint256 count)
    {
        count = topindex;
    }
    
    function GetMinerAt(uint256 idx) public constant returns (address minerAddr)
    {
        require(idx < topindex);
        minerAddr = indexes[idx];
    }
    
    function GetPotInfo() public constant returns (uint256 _honeyPotAmount, uint256 _devFunds, uint256 _jackPot, uint256 _nextDistributionTime)
    {
        _honeyPotAmount = honeyPotAmount;
        _devFunds = devFund;
        _jackPot = jackPot;
        _nextDistributionTime = nextPotDistributionTime;
    }
    
    function GetProductionPerSecond(address minerAddr) public constant returns (uint256 personalProduction)
    {
        MinerData storage m = miners[minerAddr];
        
        personalProduction = 0;
        uint256 productionSpeed = 100 + m.premamentMineBonusPct;
        
        if(HasBooster(minerAddr)) // 500% bonus
            productionSpeed += 500;
        
        for(uint8 j = 0; j < NUMBER_OF_RIG_TYPES; ++j)
        {
            personalProduction += m.rigs[j] * rigData[j].baseOutput;
        }
        
        personalProduction = personalProduction * productionSpeed / 100;
    }
    
    function GetGlobalProduction() public constant returns (uint256 globalMoney, uint256 globalHashRate)
    {
        globalMoney = 0;
        globalHashRate = 0;
        uint i = 0;
        for(i = 0; i < topindex; ++i)
        {
            MinerData storage m = miners[indexes[i]];
            globalMoney += m.money;
            globalHashRate += GetProductionPerSecond(indexes[i]);
        }
    }
    
    function GetBoosterData() public constant returns (address[5] _boosterHolders, uint256 currentPrice, uint256 currentIndex)
    {
        for(uint i = 0; i < NUMBER_OF_BOOSTERS; ++i)
        {
            _boosterHolders[i] = boosterHolders[i];
        }
        currentPrice = nextBoosterPrice;
        currentIndex = boosterIndex;
    }
    
    function HasBooster(address addr) public constant returns (bool hasBoost)
    { 
        for(uint i = 0; i < NUMBER_OF_BOOSTERS; ++i)
        {
           if(boosterHolders[i] == addr)
            return true;
        }
        return false;
    }
    
    function GetPVPData(address addr) public constant returns (uint256 attackpower, uint256 defensepower, uint256 immunityTime, uint256 exhaustTime,
    uint256[6] troops)
    {
        PVPData storage a = pvpMap[addr];
            
        immunityTime = a.immunityTime;
        exhaustTime = a.exhaustTime;
        
        attackpower = 0;
        defensepower = 0;
        for(uint i = 0; i < NUMBER_OF_TROOPS; ++i)
        {
            attackpower  += a.troops[i] * troopData[i].attackPower;
            defensepower += a.troops[i] * troopData[i].defensePower;
            
            troops[i] = a.troops[i];
        }
    }
    
    function GetCurrentICOCycle() public constant returns (uint256)
    {
        return cycleCount;
    }
    
    function GetICOData(uint256 idx) public constant returns (uint256 ICOFund, uint256 ICOPot)
    {
        require(idx <= cycleCount);
        ICOFund = globalICOPerCycle[idx];
        if(idx < cycleCount)
        {
            ICOPot = honeyPotPerCycle[idx];
        } else
        {
            ICOPot =  honeyPotAmount / 5; // actual day estimate
        }
    }
    
    function GetMinerICOData(address miner, uint256 idx) public constant returns (uint256 ICOFund, uint256 ICOShare, uint256 lastClaimIndex)
    {
        require(idx <= cycleCount);
        ICOFund = minerICOPerCycle[miner][idx];
        if(idx < cycleCount)
        {
            ICOShare = (honeyPotPerCycle[idx] * minerICOPerCycle[miner][idx]) / globalICOPerCycle[idx];
        } else 
        {
            ICOShare = (honeyPotAmount / 5) * minerICOPerCycle[miner][idx] / globalICOPerCycle[idx];
        }
        lastClaimIndex = miners[miner].lastPotClaimIndex;
    }
    
    function GetMinerUnclaimedICOShare(address miner) public constant returns (uint256 unclaimedPot)
    {
        MinerData storage m = miners[miner];
        
        require(m.lastUpdateTime != 0);
        require(m.lastPotClaimIndex < cycleCount);
        
        uint256 i = m.lastPotClaimIndex;
        uint256 limit = cycleCount;
        
        if((limit - i) > 30) // more than 30 iterations(days) afk
            limit = i + 30;
        
        unclaimedPot = 0;
        for(; i < cycleCount; ++i)
        {
            if(minerICOPerCycle[msg.sender][i] > 0)
                unclaimedPot += (honeyPotPerCycle[i] * minerICOPerCycle[miner][i]) / globalICOPerCycle[i];
        }
    }
    
    // -------------------------------------------------------------------------
    // RigWars game handler functions
    // -------------------------------------------------------------------------
    function StartNewMiner() external
    {
        require(miners[msg.sender].lastUpdateTime == 0);
        
        miners[msg.sender].lastUpdateTime = block.timestamp;
        miners[msg.sender].money = 0;
        miners[msg.sender].rigs[0] = 1;
        miners[msg.sender].unclaimedPot = 0;
        miners[msg.sender].lastPotClaimIndex = cycleCount;
        
        pvpMap[msg.sender].immunityTime = block.timestamp + 28800;
        pvpMap[msg.sender].exhaustTime  = block.timestamp;
        
        indexes[topindex] = msg.sender;
        ++topindex;
    }
    
    function UpgradeRig(uint8 rigIdx, uint16 count) external
    {
        require(rigIdx < NUMBER_OF_RIG_TYPES);
        require(count > 0);
        require(count <= 256);
        
        MinerData storage m = miners[msg.sender];
        
        require(rigData[rigIdx].limit >= (m.rigs[rigIdx] + count));
        
        UpdateMoney();
     
        // the base of geometrical sequence
        uint256 price = NumericSequence.sumOfN(rigData[rigIdx].basePrice, rigData[rigIdx].pricePerLevel, m.rigs[rigIdx], count); 
       
        require(m.money >= price);
        
        m.rigs[rigIdx] = m.rigs[rigIdx] + count;
        
        if(m.rigs[rigIdx] > rigData[rigIdx].limit)
            m.rigs[rigIdx] = rigData[rigIdx].limit;
        
        m.money -= price;
    }
    
    function UpgradeRigETH(uint8 rigIdx, uint256 count) external payable
    {
        require(rigIdx < NUMBER_OF_RIG_TYPES);
        require(count > 0);
        require(count <= 256);
        require(rigData[rigIdx].priceInETH > 0);
        
        MinerData storage m = miners[msg.sender];
        
        require(rigData[rigIdx].limit >= (m.rigs[rigIdx] + count));
      
        uint256 price = (rigData[rigIdx].priceInETH).mul(count); 
       
        require(msg.value >= price);
        
        BuyHandler(msg.value);
        
        UpdateMoney();
        
        m.rigs[rigIdx] = m.rigs[rigIdx] + count;
        
        if(m.rigs[rigIdx] > rigData[rigIdx].limit)
            m.rigs[rigIdx] = rigData[rigIdx].limit;
    }
    
    function UpdateMoney() private
    {
        require(miners[msg.sender].lastUpdateTime != 0);
        require(block.timestamp >= miners[msg.sender].lastUpdateTime);
        
        MinerData storage m = miners[msg.sender];
        uint256 diff = block.timestamp - m.lastUpdateTime;
        uint256 revenue = GetProductionPerSecond(msg.sender);
   
        m.lastUpdateTime = block.timestamp;
        if(revenue > 0)
        {
            revenue *= diff;
            
            m.money += revenue;
        }
    }
    
    function UpdateMoneyAt(address addr) private
    {
        require(miners[addr].lastUpdateTime != 0);
        require(block.timestamp >= miners[addr].lastUpdateTime);
        
        MinerData storage m = miners[addr];
        uint256 diff = block.timestamp - m.lastUpdateTime;
        uint256 revenue = GetProductionPerSecond(addr);
   
        m.lastUpdateTime = block.timestamp;
        if(revenue > 0)
        {
            revenue *= diff;
            
            m.money += revenue;
        }
    }
    
    function BuyUpgrade(uint256 idx) external payable
    {
        require(idx < NUMBER_OF_UPGRADES);
        require(msg.value >= boostData[idx].priceInWEI);
        require(miners[msg.sender].hasUpgrade[idx] == 0);
        require(miners[msg.sender].lastUpdateTime != 0);
        
        BuyHandler(msg.value);
        
        UpdateMoney();
        
        miners[msg.sender].hasUpgrade[idx] = 1;
        miners[msg.sender].premamentMineBonusPct +=  boostData[idx].percentBonus;
    }
    
    //--------------------------------------------------------------------------
    // BOOSTER handlers
    //--------------------------------------------------------------------------
    function BuyBooster() external payable 
    {
        require(msg.value >= nextBoosterPrice);
        require(miners[msg.sender].lastUpdateTime != 0);
        
        for(uint i = 0; i < NUMBER_OF_BOOSTERS; ++i)
            if(boosterHolders[i] == msg.sender)
                revert();
                
        address beneficiary = boosterHolders[boosterIndex];
        
        MinerData storage m = miners[beneficiary];
        
        // 20% interest after 5 buys
        m.unclaimedPot += (msg.value * 9403) / 10000;
        
        // distribute the rest
        honeyPotAmount += (msg.value * 597) / 20000;
        devFund += (msg.value * 597) / 20000;
        
        // increase price by 5%
        nextBoosterPrice += nextBoosterPrice / 20;
        
        UpdateMoney();
        UpdateMoneyAt(beneficiary);
        
        // transfer ownership    
        boosterHolders[boosterIndex] = msg.sender;
        
        // increase booster index
        boosterIndex += 1;
        if(boosterIndex >= 5)
            boosterIndex = 0;
    }
    
    //--------------------------------------------------------------------------
    // PVP handler
    //--------------------------------------------------------------------------
    // 0 for attacker 1 for defender
    function BuyTroop(uint256 idx, uint256 count) external payable
    {
        require(idx < NUMBER_OF_TROOPS);
        require(count > 0);
        require(count <= 1000);
        
        PVPData storage pvp = pvpMap[msg.sender];
        MinerData storage m = miners[msg.sender];
        
        uint256 owned = pvp.troops[idx];
        
        uint256 priceGold = NumericSequence.sumOfN(troopData[idx].priceGold, troopData[idx].priceGold, owned, count); 
        uint256 priceETH = (troopData[idx].priceETH).mul(count);
        
        UpdateMoney();
        
        require(m.money >= priceGold);
        require(msg.value >= priceETH);
        
        if(priceGold > 0)
            m.money -= priceGold;
         
        if(msg.value > 0)
            BuyHandler(msg.value);
        
        pvp.troops[idx] += count;
    }
    
    function Attack(address defenderAddr) external
    {
        require(msg.sender != defenderAddr);
        require(miners[msg.sender].lastUpdateTime != 0);
        require(miners[defenderAddr].lastUpdateTime != 0);
        
        PVPData storage attacker = pvpMap[msg.sender];
        PVPData storage defender = pvpMap[defenderAddr];
        uint i = 0;
        uint256 count = 0;
        
        require(block.timestamp > attacker.exhaustTime);
        require(block.timestamp > defender.immunityTime);
        
        // the aggressor loses immunity
        if(attacker.immunityTime > block.timestamp)
            attacker.immunityTime = block.timestamp - 1;
            
        attacker.exhaustTime = block.timestamp + 7200;
        
        uint256 attackpower = 0;
        uint256 defensepower = 0;
        for(i = 0; i < ATTACKER_END_IDX; ++i)
        {
            attackpower  += attacker.troops[i] * troopData[i].attackPower;
            defensepower += defender.troops[i + DEFENDER_START_IDX] * troopData[i + DEFENDER_START_IDX].defensePower;
        }
        
        if(attackpower > defensepower)
        {
            if(defender.immunityTime < block.timestamp + 14400)
                defender.immunityTime = block.timestamp + 14400;
            
            UpdateMoneyAt(defenderAddr);
            
            MinerData storage m = miners[defenderAddr];
            MinerData storage m2 = miners[msg.sender];
            uint256 moneyStolen = m.money / 2;
         
            for(i = DEFENDER_START_IDX; i < DEFENDER_END_IDX; ++i)
            {
                defender.troops[i] = 0;
            }
            
            for(i = ATTACKER_START_IDX; i < ATTACKER_END_IDX; ++i)
            {
                if(troopData[i].attackPower > 0)
                {
                    count = attacker.troops[i];
                    
                    // if the troops overpower the total defense power only a fraction is lost
                    if((count * troopData[i].attackPower) > defensepower)
                        count = defensepower / troopData[i].attackPower;
                        
                    attacker.troops[i] -= count;
                    defensepower -= count * troopData[i].attackPower;
                }
            }
            
            m.money -= moneyStolen;
            m2.money += moneyStolen;
        } else
        {
            for(i = ATTACKER_START_IDX; i < ATTACKER_END_IDX; ++i)
            {
                attacker.troops[i] = 0;
            }
            
            for(i = DEFENDER_START_IDX; i < DEFENDER_END_IDX; ++i)
            {
                if(troopData[i].defensePower > 0)
                {
                    count = defender.troops[i];
                    
                    // if the troops overpower the total defense power only a fraction is lost
                    if((count * troopData[i].defensePower) > attackpower)
                        count = attackpower / troopData[i].defensePower;
                        
                    defender.troops[i] -= count;
                    attackpower -= count * troopData[i].defensePower;
                }
            }
        }
    }
    
    //--------------------------------------------------------------------------
    // ICO/Pot share functions
    //--------------------------------------------------------------------------
    function ReleaseICO() external
    {
        require(miners[msg.sender].lastUpdateTime != 0);
        require(nextPotDistributionTime <= block.timestamp);
        require(honeyPotAmount > 0);
        require(globalICOPerCycle[cycleCount] > 0);

        nextPotDistributionTime = block.timestamp + 86400;

        honeyPotPerCycle[cycleCount] = honeyPotAmount / 5; // 20% of the pot
        
        honeyPotAmount -= honeyPotAmount / 5;

        honeyPotPerCycle.push(0);
        globalICOPerCycle.push(0);
        cycleCount = cycleCount + 1;

        MinerData storage jakpotWinner = miners[msg.sender];
        jakpotWinner.unclaimedPot += jackPot;
        jackPot = 0;
    }
    
    function FundICO(uint amount) external
    {
        require(miners[msg.sender].lastUpdateTime != 0);
        require(amount > 0);
        
        MinerData storage m = miners[msg.sender];
        
        UpdateMoney();
        
        require(m.money >= amount);
        
        m.money = (m.money).sub(amount);
        
        globalICOPerCycle[cycleCount] = globalICOPerCycle[cycleCount].add(uint(amount));
        minerICOPerCycle[msg.sender][cycleCount] = minerICOPerCycle[msg.sender][cycleCount].add(uint(amount));
    }
    
    function WithdrawICOEarnings() external
    {
        MinerData storage m = miners[msg.sender];
        
        require(miners[msg.sender].lastUpdateTime != 0);
        require(miners[msg.sender].lastPotClaimIndex < cycleCount);
        
        uint256 i = m.lastPotClaimIndex;
        uint256 limit = cycleCount;
        
        if((limit - i) > 30) // more than 30 iterations(days) afk
            limit = i + 30;
        
        m.lastPotClaimIndex = limit;
        for(; i < cycleCount; ++i)
        {
            if(minerICOPerCycle[msg.sender][i] > 0)
                m.unclaimedPot += (honeyPotPerCycle[i] * minerICOPerCycle[msg.sender][i]) / globalICOPerCycle[i];
        }
    }
    
    //--------------------------------------------------------------------------
    // ETH handler functions
    //--------------------------------------------------------------------------
    function BuyHandler(uint amount) private
    {
        // add 90% to honeyPot
        honeyPotAmount += (amount * honeyPotSharePct) / 100;
        jackPot += amount / 100;
        devFund += (amount * (100-(honeyPotSharePct+1))) / 100;
    }
    
    function WithdrawPotShare() public
    {
        MinerData storage m = miners[msg.sender];
        
        require(m.unclaimedPot > 0);
        require(m.lastUpdateTime != 0);
        
        uint256 amntToSend = m.unclaimedPot;
        m.unclaimedPot = 0;
        
        if(msg.sender.send(amntToSend))
        {
            m.unclaimedPot = 0;
        }
    }
    
    function WithdrawDevFunds() public
    {
        require(msg.sender == owner);

        if(owner.send(devFund))
        {
            devFund = 0;
        }
    }
    
    // fallback payment to pot
    function() public payable {
         devFund += msg.value;
    }
}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"idx","type":"uint256"}],"name":"BuyUpgrade","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"minerAddr","type":"address"}],"name":"GetProductionPerSecond","outputs":[{"name":"personalProduction","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"FundICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"WithdrawPotShare","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"miner","type":"address"}],"name":"GetMinerUnclaimedICOShare","outputs":[{"name":"unclaimedPot","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"GetGlobalProduction","outputs":[{"name":"globalMoney","type":"uint256"},{"name":"globalHashRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"GetPVPData","outputs":[{"name":"attackpower","type":"uint256"},{"name":"defensepower","type":"uint256"},{"name":"immunityTime","type":"uint256"},{"name":"exhaustTime","type":"uint256"},{"name":"troops","type":"uint256[6]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"GetPotInfo","outputs":[{"name":"_honeyPotAmount","type":"uint256"},{"name":"_devFunds","type":"uint256"},{"name":"_jackPot","type":"uint256"},{"name":"_nextDistributionTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"WithdrawDevFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"GetTotalMinerCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"GetCurrentICOCycle","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"HasBooster","outputs":[{"name":"hasBoost","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"rigIdx","type":"uint8"},{"name":"count","type":"uint16"}],"name":"UpgradeRig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"miner","type":"address"},{"name":"idx","type":"uint256"}],"name":"GetMinerICOData","outputs":[{"name":"ICOFund","type":"uint256"},{"name":"ICOShare","type":"uint256"},{"name":"lastClaimIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"idx","type":"uint256"},{"name":"count","type":"uint256"}],"name":"BuyTroop","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"rigIdx","type":"uint8"},{"name":"count","type":"uint256"}],"name":"UpgradeRigETH","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"defenderAddr","type":"address"}],"name":"Attack","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"GetBoosterData","outputs":[{"name":"_boosterHolders","type":"address[5]"},{"name":"currentPrice","type":"uint256"},{"name":"currentIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"idx","type":"uint256"}],"name":"GetICOData","outputs":[{"name":"ICOFund","type":"uint256"},{"name":"ICOPot","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"minerAddr","type":"address"}],"name":"GetMinerData","outputs":[{"name":"money","type":"uint256"},{"name":"lastupdate","type":"uint256"},{"name":"prodPerSec","type":"uint256"},{"name":"rigs","type":"uint256[9]"},{"name":"upgrades","type":"uint256[3]"},{"name":"unclaimedPot","type":"uint256"},{"name":"hasBooster","type":"bool"},{"name":"unconfirmedMoney","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"idx","type":"uint256"}],"name":"GetMinerAt","outputs":[{"name":"minerAddr","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"WithdrawICOEarnings","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"ReleaseICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"StartNewMiner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"BuyBooster","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

  Contract Creation Code Switch To Opcodes View
606060405234156200001057600080fd5b605f8054600160a060020a03191633600160a060020a031617905560a0604051908101604052806080815260200160018152602001604081526020016000815260200160408152506000806009811015156200006857fe5b600502018151815560208201518160010155604082015181600201556060820151816003015560808201516004909101555060a060405190810160409081526104008252602082018190526102008183015260006060830152608082015260058151815560208201518160010155604082015181600201556060820151816003015560808201516004909101555060a060405190810160409081526203200082526104006020830152620190009082015260006060820152608080820152600a8151815560208201518160010155604082015181600201556060820151816003015560808201516004909101555060a06040519081016040908152630186a0008252612000602083015262c350009082015260006060820152608080820152600f8151815560208201518160010155604082015181600201556060820151816003015560808201516004909101555060a060405190810160409081526406fc23ac0080835262010000602084015290820152662386f26fc100006060820152610100608082015260148151815560208201518160010155604082015181600201556060820151816003015560808201516004909101555060a060405190810160409081526406fc23ac008252620186a060208301526402540be4009082015260006060820152610100608082015260198151815560208201518160010155604082015181600201556060820151816003015560808201516004909101555060a060405190810160409081526445d964b80082526207a120602083015264174876e80090820152600060608201526101006080820152601e8151815560208201518160010155604082015181600201556060820151816003015560808201516004909101555060a06040519081016040908152652d79883d20008252622dc6c06020830152650b5e620f48009082015267016345785d8a00006060820152610100608082015260238151815560208201518160010155604082015181600201556060820151816003015560808201516004909101555060a06040519081016040908152655af3107a400082526301c9c3806020830152652d79883d20009082015260006060820152610100608082015260288151815560208201518160010155604082015181600201556060820151816003015560808201516004909101555060408051908101604052601e8152662386f26fc100006020820152602d81518155602082015160019091015550604080519081016040526032815267016345785d8a00006020820152602f815181556020820151600190910155506040805190810160405260648152670de0b6b3a76400006020820152603181518155602082015160019190910155506000605e819055604b819055604e819055604d81905542604f55605a604c819055605f5460568054600160a060020a0319908116600160a060020a0390931692831790915560578054821683179055605880548216831790556059805482168317905582541617905560545567016345785d8a0000605555608060405190810160405280600a815260200160008152602001620186a081526020016000815250603360006006811015156200050257fe5b60040201815181556020820151816001015560408201518160020155606082015160039091015550608060405190810160409081526103e882526000602083018190526304c4b400918301919091526060820152603781518155602082015181600101556040820151816002015560608201516003909101555060806040519081016040908152620186a0825260006020830181905290820152662386f26fc100006060820152603b815181556020820151816001015560408201518160020155606082015160039091015550608060405190810160409081526000808352600f6020840152620186a0918301919091526060820152603f8151815560208201518160010155604082015181600201556060820151600390910155506080604051908101604090815260008083526105dc60208401526304c4b4009183019190915260608201526043815181556020820151816001015560408201518160020155606082015160039091015550608060405190810160409081526000808352620249f0602084015290820152662386f26fc10000606082015260478151815560208201518160010155604082015181600201556060820151600390910155506051805460018101620006d583826200070d565b5060009182526020822001556052805460018101620006f583826200070d565b5060009182526020822060019101556053556200075d565b81548183558181151162000734576000838152602090206200073491810190830162000739565b505050565b6200075a91905b8082111562000756576000815560010162000740565b5090565b90565b611e6e806200076d6000396000f3006060604052600436106101485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630116bfc08114610152578063036a66eb1461015f5780631fd86a6a1461019057806333ad9495146101a65780633a70eabd146101b957806356a4e7f9146101d85780635b1fef12146102035780636e4dd931146102795780638357417d146102b7578063996f7602146102ca5780639f0eed0f146102dd578063af299510146102f0578063b4b9cd6214610323578063b4beff8a14610343578063b4e6f92b14610389578063badb2e5a14610397578063bc346c9c146103a8578063bd1f7d52146103c7578063cb68780f14610420578063cc0f65f714610436578063d291fa81146104ea578063d511beec1461051c578063dee8bd511461052f578063f362b9af14610542578063fdade29f14610555575b604e805434019055005b61015d60043561055d565b005b341561016a57600080fd5b61017e600160a060020a036004351661068d565b60405190815260200160405180910390f35b341561019b57600080fd5b61015d60043561071f565b34156101b157600080fd5b61015d610849565b34156101c457600080fd5b61017e600160a060020a03600435166108c8565b34156101e357600080fd5b6101eb6109d1565b60405191825260208201526040908101905180910390f35b341561020e57600080fd5b610222600160a060020a0360043516610a37565b6040518086815260200185815260200184815260200183815260200182600660200280838360005b8381101561026257808201518382015260200161024a565b505050509050019550505050505060405180910390f35b341561028457600080fd5b61028c610b03565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34156102c257600080fd5b61015d610b17565b34156102d557600080fd5b61017e610b6d565b34156102e857600080fd5b61017e610b73565b34156102fb57600080fd5b61030f600160a060020a0360043516610b7a565b604051901515815260200160405180910390f35b341561032e57600080fd5b61015d60ff6004351661ffff60243516610bcb565b341561034e57600080fd5b610365600160a060020a0360043516602435610d61565b60405180848152602001838152602001828152602001935050505060405180910390f35b61015d600435602435610e82565b61015d60ff60043516602435610fb7565b34156103b357600080fd5b61015d600160a060020a0360043516611135565b34156103d257600080fd5b6103da6114d0565b604051808460a080838360005b838110156103ff5780820151838201526020016103e7565b50505050905001838152602001828152602001935050505060405180910390f35b341561042b57600080fd5b6101eb600435611535565b341561044157600080fd5b610455600160a060020a036004351661159e565b6040518089815260200188815260200187815260200186600960200280838360005b8381101561048f578082015183820152602001610477565b5050505090500185600360200280838360005b838110156104ba5780820151838201526020016104a2565b50505050905001848152602001831515151581526020018281526020019850505050505050505060405180910390f35b34156104f557600080fd5b6105006004356116e8565b604051600160a060020a03909116815260200160405180910390f35b341561052757600080fd5b61015d611715565b341561053a57600080fd5b61015d611840565b341561054d57600080fd5b61015d61195d565b61015d611a0d565b6003811061056a57600080fd5b602d816003811061057757fe5b6002020160010154341015151561058d57600080fd5b600160a060020a0333166000908152605b6020526040902060090181600381106105b357fe5b602081049091015460ff601f9092166101000a900416156105d357600080fd5b600160a060020a0333166000908152605b60205260409020600b015415156105fa57600080fd5b61060334611b6d565b61060b611ba0565b600160a060020a0333166000908152605b60205260409020600190600901826003811061063457fe5b602091828204019190066101000a81548160ff021916908360ff160217905550602d8160038110151561066357fe5b6002020154600160a060020a0333166000908152605b60205260409020600c018054909101905550565b600160a060020a0381166000908152605b60205260408120600c810154606401826106b785610b7a565b156106c4576101f4820191505b5060005b600960ff8216101561071057600060ff8216600981106106e457fe5b6005020160010154836000018260ff1660098110151561070057fe5b01540293909301926001016106c8565b60648483020495945050505050565b600160a060020a0333166000908152605b60205260408120600b0154151561074657600080fd5b6000821161075357600080fd5b50600160a060020a0333166000908152605b60205260409020610774611ba0565b600a8101548290101561078657600080fd5b600a81015461079b908363ffffffff611c4316565b600a820155605354605280546107ce9285929181106107b657fe5b6000918252602090912001549063ffffffff611c5816565b60526053548154811015156107df57fe5b6000918252602080832090910192909255600160a060020a03331681526050825260408082206053548352909252205461081f908363ffffffff611c5816565b600160a060020a033316600090815260506020908152604080832060535484529091529020555050565b600160a060020a0333166000908152605b60205260408120600d81015490919081901161087557600080fd5b600b820154151561088557600080fd5b50600d810180546000909155600160a060020a03331681156108fc0282604051600060405180830381858888f19350505050156108c4576000600d8301555b5050565b600160a060020a0381166000908152605b60205260408120600b8101548290819015156108f457600080fd5b605354600e8401541061090657600080fd5b5050600e810154605354601e82820311156109215750601e81015b600093505b6053548210156109c957600160a060020a033316600090815260506020908152604080832085845290915281205411156109be57605280548390811061096857fe5b6000918252602080832090910154600160a060020a038816835260508252604080842086855290925291205460518054859081106109a257fe5b906000526020600020900154028115156109b857fe5b04840193505b816001019150610926565b505050919050565b60008080805b605e54821015610a3157506000818152605d6020818152604080842054600160a060020a0316808552605b8352908420600a81015494869052929091529490910193610a229061068d565b830192508160010191506109d7565b50509091565b600080600080610a45611d81565b600160a060020a0386166000908152605c60205260408120600681015460078201549297508796509450909250845b6006811015610af85760338160068110610a8a57fe5b6004020154828260068110610a9b57fe5b015402969096019560338160068110610ab057fe5b60040201600101548260000182600681101515610ac957fe5b0154029590950194818160068110610add57fe5b0154838260068110610aeb57fe5b6020020152600101610a74565b505091939590929450565b604b54604e54604d54604f54929391929091565b605f5433600160a060020a03908116911614610b3257600080fd5b605f54604e54600160a060020a039091169080156108fc0290604051600060405180830381858888f1935050505015610b6b576000604e555b565b605e5490565b6053545b90565b6000805b6005811015610bc057600160a060020a03831660568260058110610b9e57fe5b0154600160a060020a03161415610bb85760019150610bc5565b600101610b7e565b600091505b50919050565b600080600960ff851610610bde57600080fd5b600061ffff841611610bef57600080fd5b61010061ffff84161115610c0257600080fd5b600160a060020a0333166000908152605b60205260409020915061ffff83168260ff861660098110610c3057fe5b015401600060ff861660098110610c4357fe5b600502016004015410151515610c5857600080fd5b610c60611ba0565b610cb0600060ff861660098110610c7357fe5b6005020154600060ff871660098110610c8857fe5b6005020160020154846000018760ff16600981101515610ca457fe5b01548661ffff16611c6e565b90508082600a015410151515610cc557600080fd5b61ffff83168260ff861660098110610cd957fe5b0154018260ff861660098110610ceb57fe5b0155600060ff851660098110610cfd57fe5b6005020160040154826000018560ff16600981101515610d1957fe5b01541115610d5057600060ff851660098110610d3157fe5b6005020160040154826000018560ff16600981101515610d4d57fe5b01555b600a90910180549190910390555050565b60008060006053548411151515610d7757600080fd5b600160a060020a0385166000908152605060209081526040808320878452909152902054605354909350841015610e0e576052805485908110610db657fe5b6000918252602080832090910154600160a060020a03881683526050825260408084208885529092529120546051805487908110610df057fe5b90600052602060002090015402811515610e0657fe5b049150610e5d565b6052805485908110610e1c57fe5b6000918252602080832090910154600160a060020a0388168352605082526040808420888552909252912054604b546005900402811515610e5957fe5b0491505b50600160a060020a039093166000908152605b60205260409020600e01549093909150565b60008080808060068710610e9557600080fd5b60008611610ea257600080fd5b6103e8861115610eb157600080fd5b600160a060020a0333166000908152605c60209081526040808320605b9092529091209095509350848760068110610ee557fe5b01549250610f1f60338860068110610ef957fe5b6004020160020154603389600681101515610f1057fe5b60040201600201548589611c6e565b9150610f488660338960068110610f3257fe5b6004020160030154611cb990919063ffffffff16565b9050610f52611ba0565b600a84015482901015610f6457600080fd5b3481901015610f7257600080fd5b6000821115610f8757600a8401805483900390555b6000341115610f9957610f9934611b6d565b85858860068110610fa657fe5b018054909101905550505050505050565b600080600960ff851610610fca57600080fd5b60008311610fd757600080fd5b610100831115610fe657600080fd5b60008060ff861660098110610ff757fe5b600502016003015411151561100b57600080fd5b600160a060020a0333166000908152605b602052604090209150828260ff86166009811061103557fe5b015401600060ff86166009811061104857fe5b60050201600401541015151561105d57600080fd5b61108783600060ff87166009811061107157fe5b6005020160030154611cb990919063ffffffff16565b9050348190101561109757600080fd5b6110a034611b6d565b6110a8611ba0565b828260ff8616600981106110b857fe5b0154018260ff8616600981106110ca57fe5b0155600060ff8516600981106110dc57fe5b6005020160040154826000018560ff166009811015156110f857fe5b0154111561112f57600060ff85166009811061111057fe5b6005020160040154826000018560ff1660098110151561112c57fe5b01555b50505050565b600080600080600080600080600089600160a060020a031633600160a060020a03161415151561116457600080fd5b600160a060020a0333166000908152605b60205260409020600b0154151561118b57600080fd5b600160a060020a038a166000908152605b60205260409020600b015415156111b257600080fd5b600160a060020a033381166000908152605c6020526040808220928d16825281206007830154929b509950975087965042116111ed57600080fd5b600688015442116111fd57600080fd5b428960060154111561121457600019420160068a01555b611c20420160078a0155600096508694508493505b6003871015611299576033876006811061123f57fe5b600402015489886006811061125057fe5b01540294909401936033600388016006811061126857fe5b600402016001015488600001600360ff16890160068110151561128757fe5b01540284019350866001019650611229565b838511156113e2574261384001886006015410156112bc57613840420160068901555b6112c58a611cde565b505050600160a060020a038781166000908152605b60205260408082203390931682529020600a82015460039650600290045b600687101561131c57600088886006811061130f57fe5b01556001909601956112f8565b600096505b60038710156113c95760006033886006811061133957fe5b600402015411156113be5788876006811061135057fe5b01549550836033886006811061136257fe5b60040201548702111561138f576033876006811061137c57fe5b60040201548481151561138b57fe5b0495505b8589886006811061139c57fe5b018054919091039055603387600681106113b257fe5b60040201548602909303925b866001019650611321565b600a8084018054839003905582018054820190556114c4565b600096505b600387101561140b5760008988600681106113fe57fe5b01556001909601956113e7565b600396505b60068710156114c45760006033886006811061142857fe5b600402016001015411156114b95787876006811061144257fe5b01549550846033886006811061145457fe5b600402016001015487021115611487576033876006811061147157fe5b60040201600101548581151561148357fe5b0495505b8588886006811061149457fe5b018054919091039055603387600681106114aa57fe5b60040201600101548602850394505b866001019650611410565b50505050505050505050565b6114d8611da8565b600080805b600581101561152557605681600581106114f357fe5b0154600160a060020a031684826005811061150a57fe5b600160a060020a0390921660209290920201526001016114dd565b6055549250605454915050909192565b600080605354831115151561154957600080fd5b605280548490811061155757fe5b906000526020600020900154915060535483101561159057605180548490811061157d57fe5b9060005260206000209001549050611599565b50604b54600590045b915091565b60008060006115ab611dd0565b6115b3611deb565b600160a060020a0386166000908152605b60205260408120600a810154600b9091015490965094508080806115e78a61068d565b9650600090505b600960ff8216101561163e57600160a060020a038a166000908152605b6020526040902060ff82166009811061162057fe5b01548660ff83166009811061163157fe5b60200201526001016115ee565b5060005b600360ff821610156116aa57600160a060020a038a166000908152605b6020526040902060090160ff82166003811061167757fe5b602081049091015460ff601f9092166101000a9004811690869083166003811061169d57fe5b6020020152600101611642565b600160a060020a038a166000908152605b60205260409020600d015493506116d18a610b7a565b925087420387028901915050919395975091939597565b605e5460009082106116f957600080fd5b506000908152605d6020526040902054600160a060020a031690565b600160a060020a0333166000908152605b60205260408120600b8101549091908190151561174257600080fd5b605354600160a060020a0333166000908152605b60205260409020600e01541061176b57600080fd5b5050600e810154605354601e82820311156117865750601e81015b600e83018190555b60535482101561183b57600160a060020a033316600090815260506020908152604080832085845290915281205411156118305760528054839081106117d057fe5b6000918252602080832090910154600160a060020a0333168352605082526040808420868552909252912054605180548590811061180a57fe5b9060005260206000209001540281151561182057fe5b600d850180549290910490910190555b81600101915061178e565b505050565b600160a060020a0333166000908152605b60205260408120600b0154151561186757600080fd5b604f544290111561187757600080fd5b604b546000901161188757600080fd5b6000605260535481548110151561189a57fe5b600091825260209091200154116118b057600080fd5b620151804201604f55604b546005900460516053548154811015156118d157fe5b600091825260209091200155604b8054600581049003905560518054600181016118fb8382611e05565b50600091825260208220015560528054600181016119198382611e05565b506000918252602080832091909101829055605380546001019055600160a060020a0333168252605b905260408120604d8054600d90920180549092019091555550565b600160a060020a0333166000908152605b60205260409020600b01541561198357600080fd5b33600160a060020a03166000818152605b6020908152604080832042600b8201819055600a82018590556001808355600d8301869055605354600e90930192909255605c84528285206170808201600682015560070155605e80548552605d9093529220805473ffffffffffffffffffffffffffffffffffffffff19169093179092558154019055565b60008060006055543410151515611a2357600080fd5b600160a060020a0333166000908152605b60205260409020600b01541515611a4a57600080fd5b600092505b6005831015611a9057600160a060020a03331660568460058110611a6f57fe5b0154600160a060020a03161415611a8557600080fd5b826001019250611a4f565b60545460569060058110611aa057fe5b0154600160a060020a03166000818152605b60205260409020600d81018054612710346124bb810291909104909101909155604b8054614e20610255909302929092049182019055604e8054909101905560558054601481040190559092509050611b09611ba0565b611b1282611cde565b336056605454600581101515611b2457fe5b01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560548054600101908190556005901061183b576000605455505050565b604c54604b80546064848402819004909101909155604d8054828504019055604e80549282036000190190930204019055565b600160a060020a0333166000908152605b60205260408120600b0154819081901515611bcb57600080fd5b600160a060020a0333166000908152605b60205260409020600b0154421015611bf357600080fd5b33600160a060020a0381166000908152605b60205260409020600b81015490945042039250611c219061068d565b42600b8501559050600081111561183b57600a92909201805491909202019055565b600082821115611c5257600080fd5b50900390565b81810182811015611c6857600080fd5b92915050565b6000808211611c7c57600080fd5b506000611c8d848402860183611cb9565b016002611ca483600019810163ffffffff611cb916565b8502811515611caf57fe5b0401949350505050565b818102821580611cd35750818382811515611cd057fe5b04145b1515611c6857600080fd5b600160a060020a0381166000908152605b60205260408120600b0154819081901515611d0957600080fd5b600160a060020a0384166000908152605b60205260409020600b0154421015611d3157600080fd5b600160a060020a0384166000908152605b60205260409020600b81015490935042039150611d5e8461068d565b42600b8501559050600081111561112f57600a9290920180549190920201905550565b60c06040519081016040526006815b6000815260200190600190039081611d905790505090565b60a06040519081016040526005815b600081526000199091019060200181611db75790505090565b61012060405190810160405260008152600860208201611d90565b606060405190810160405260008152600260208201611d90565b81548183558181151161183b5760008381526020902061183b918101908301610b7791905b80821115611e3e5760008155600101611e2a565b50905600a165627a7a72305820f45f9d4e7710fd6422915178a1e8ee9ae24ecf862710f5bb78d4b073302441540029

   Swarm Source:
bzzr://f45f9d4e7710fd6422915178a1e8ee9ae24ecf862710f5bb78d4b07330244154

 

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