Sponsored Link:   Revain - How to find moon tokens to invest? See what crypto experts are saying. Read reviews!
Contract Overview
Balance: 0.332687114805410231 Ether
Ether Value: $191.24 (@ $574.82/ETH)
Transactions: 4752 txns
 Latest 25 txns from a total Of 4752 transactions (+3 PendingTxns)
View All

TxHash Age From To Value [TxFee]
0xc09e675ca3638ccf91b9de367f2fe816883385c930c2cb986ca1e533380ea315(pending)0x118778b46e57480b358a27a29bb04e068f6764c7  IN  0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether(pending)
0x2e830bddf1fc8060bc2b72bce4b75b9f1e99623a16ed3429503b8f9bd3f08cb1(pending)0x118778b46e57480b358a27a29bb04e068f6764c7  IN  0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether(pending)
0x105c41d8f89b17938128b8d21c5111526376035c0259c5bd0b4c3b6c227cb578(pending)0x26dd3fbae0a6f0c5e9977a64bc93a28e370c3736  IN  0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether(pending)
0x613f36a232f02ffbed44a9e014c2a720b90152f9e9fb63312eaff9c0e90f611a10 hrs 12 mins ago0xd78976a6455212764fab53a3d07eb6ac5b76b16e  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000269409
0x047f55db4c041f07e08426c32db09120b4b58bf2b4697aa18e28eb1794d99ea010 hrs 16 mins ago0xd78976a6455212764fab53a3d07eb6ac5b76b16e  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000309324
0x345b789290ac088aec572ba924c7381a55f6f28621eff9105b3210d7a0bd1a3b10 hrs 20 mins ago0xd78976a6455212764fab53a3d07eb6ac5b76b16e  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000366164
0xc74184c7b7c82de15ca293d2294ebccae72235530b21d5bde409599fe9b7dc2211 hrs 8 mins ago0x4a4c35280bc7e7f426453db48e5faf66f47398b6  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.0005102
0x76bc25a9427b53eb336e590f2c8df1c9a3ca0e872d9269b0fc063880ff09c74a13 hrs 24 mins ago0x4a4c35280bc7e7f426453db48e5faf66f47398b6  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.00051468
0xa5d6f4c96c9f1bc6f6e711e2b3bf6de405a2485f0fb07e20aac226ff9947b77d13 hrs 28 mins ago0x8871759b2530fee82cd1b31c534252a1db707b0b  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0.01 Ether0.000399065
0x90308f9c6cd2f6a65ffb8a451f94b913623c7090d6b7ede6d7dfe33c570a8b1613 hrs 28 mins ago0x4a4c35280bc7e7f426453db48e5faf66f47398b6  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0.01 Ether0.000549065
0x6681dbd468a501958ad0a2c22aea95abfef2ec196fce0617f06b67113c5f3c0822 hrs 34 mins ago0x36e058332ae39efad2315776b9c844e30d07388b  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.0006358255
0x42fddff17746eb1664e5143020dcfc15509b232998817208c37ebb276d97ebe022 hrs 42 mins ago0x36e058332ae39efad2315776b9c844e30d07388b  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.00103108
0x1214d1cc0139e76418bb1a898f745afe9fb4577d1d014cced8a7e606a0eec73b1 day 11 hrs ago0xd78976a6455212764fab53a3d07eb6ac5b76b16e  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000449015
0xbf7972d779967be5a8afffecf6eddd6d4ffa0ddae6bba9aad7671344e9acb1ce1 day 11 hrs ago0xd78976a6455212764fab53a3d07eb6ac5b76b16e  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000610584
0x5e3ee7af53e4852b67a1203c5e34d9285a6d0eedd976d459819e09259eb619341 day 11 hrs ago0xd78976a6455212764fab53a3d07eb6ac5b76b16e  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000549246
0xe99ff1f88ed2042d1be4f06baeb8ad427c33321ef08447682450f5600ada842b1 day 14 hrs ago0xf0333b94f895eb5aab3822da376f9cbcfce8a19c  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.0003745389
0xce690926ebcd44192e86ef678fc0b2d7eccd6921e1643274471fd7a69c8a86231 day 14 hrs ago0xf0333b94f895eb5aab3822da376f9cbcfce8a19c  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.0005258508
0xe73dd72de4dfb3cdfb0a46c451765e612f2970a9c65f8ecb81f966d5643663b02 days 2 hrs ago0xe57a18783640c9fa3c5e8e4d4b4443e2024a7ff9  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.0002014956
0x0e445f2d04f92f2851319ac34edfb4e418b3d42ba5bbabb443c599bcfd7d9b012 days 2 hrs ago0xe57a18783640c9fa3c5e8e4d4b4443e2024a7ff9  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.0002595334
0x2ae0623c54e84e1b91d684ea2b0e2a192fc86c8ebec75520d48cb9046e46f6f62 days 11 hrs ago0xf0333b94f895eb5aab3822da376f9cbcfce8a19c  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.0001766196
0x61dd998439e29137956748cb50c30b6e19ff75073f5e06d4f4a27a95401c54262 days 12 hrs ago0xf0333b94f895eb5aab3822da376f9cbcfce8a19c  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.0003611415
0x58754b11c2b4a5c717b4af994e5b26ef9f7a2845a2752064cb9c1f8d8a35c30c2 days 12 hrs ago0xd78976a6455212764fab53a3d07eb6ac5b76b16e  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000718424
0x35df0ef72efdee1d1fd4d2bbf65c58c5474ec02c2a437758c9231980ac7bcede2 days 12 hrs ago0xd78976a6455212764fab53a3d07eb6ac5b76b16e  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000824864
0x15f3967781c22d4625fd8f6c944cb1a5a6da12829a24774a97f8ddb2fc66b8a32 days 12 hrs ago0xd78976a6455212764fab53a3d07eb6ac5b76b16e  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000732328
0x419dfc08e3fa9bb705560fe6562ed30051cfd25dba6904c5dd37d2bd69774e2e3 days 9 hrs ago0xd78976a6455212764fab53a3d07eb6ac5b76b16e  IN   0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0 Ether0.000618648
[ 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
0xe73dd72de4dfb3cdfb0a46c451765e612f2970a9c65f8ecb81f966d5643663b056732222 days 2 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xe57a18783640c9fa3c5e8e4d4b4443e2024a7ff90.159864036434196097 Ether
0x2ae0623c54e84e1b91d684ea2b0e2a192fc86c8ebec75520d48cb9046e46f6f656709402 days 11 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xf0333b94f895eb5aab3822da376f9cbcfce8a19c0.007153923593387556 Ether
0x5d79b749048fe392f8e13b9de352a7f2701df1a70e2ef99844d1f993ae6b3fae56646253 days 15 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xf0333b94f895eb5aab3822da376f9cbcfce8a19c0.007490902516792619 Ether
0x760bc40e4907d3ed6ee6e3aac9f664f587cc534d98c66ee9bc233fe78d5fd9a056549615 days 8 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xd78976a6455212764fab53a3d07eb6ac5b76b16e0.017901915124761737 Ether
0xc8e1e18096eb118efff896afbd889cfd7c316eecd16d405d24f5bc34351b919b56547305 days 9 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xf0333b94f895eb5aab3822da376f9cbcfce8a19c0.024786315059771075 Ether
0x532b125b8e84ed637effa546759ca7e704bba398e985d35c9a6da2d74a60d8a956462816 days 21 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x36e058332ae39efad2315776b9c844e30d07388b0.003986582295943709 Ether
0xe06335c5dd272a7c144d88763bc853d216dcd77c1a96098f9f86f4aa455e9dff56409077 days 19 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xa5b8f955f90216d11f7da256d6fc376e63ddc34b0.011107320896269009 Ether
0xebdb8f2a528cb73bf49be7a1d27eb82e981c9a283e215e6d0b842223dd0fc53056346378 days 22 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x293493dc8a6379a9913b1b1f579a0c90f7d99a490.033631525128963146 Ether
0xb656f77db22a468c7aa646db92639c305736e6ad4f5caa42ca5b30fdf60a554d56317989 days 10 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xf0333b94f895eb5aab3822da376f9cbcfce8a19c0.028127349832652132 Ether
0x03024cf9dc7a4614c1e242cd59e5ce6d46887576cfeb625ff11c0cce429f33cb562572010 days 12 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x36e058332ae39efad2315776b9c844e30d07388b0.001772035808809296 Ether
0x16596eca20d0e381ce4dbeda3a3ad7b115c289c2a815ca564fbdc89ee0de8860562563110 days 12 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xc910fbbabad59de4ad6e598887f04c36e20877b20.065996968955278932 Ether
0x5054883267a1adeeb7d1f3de4fcc2791fa65b819bb543a71c958008487e5757b562563010 days 12 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x8871759b2530fee82cd1b31c534252a1db707b0b0.030274312983571404 Ether
0x5637fffedf06c7ba0c6e201aa4bee6505fd978e18c4ece58696edcbadba1ee66562561910 days 12 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x4a4c35280bc7e7f426453db48e5faf66f47398b60.122439864335200959 Ether
0x9e7bb6e018d7670c371354b2f40eda02fe9966b8d4f0d03e84502624e270d58d562561410 days 12 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xb053e9e6b3504ce44994d7e801f908b4307cc3e20.068330014795038933 Ether
0x3b58f0621a9de15a6d8af720dd00c70e0797373e81798f56f98296e847dc6e62562561410 days 12 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x53da753a4d453aa132da0a20137c95c02e554c450.050646834853238741 Ether
0x62f2be6cd02bf029f5e5b3bd1793881ef84c52179c4e84cf8b062594b564b79a562560910 days 12 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xc1565b55e0b39d44bbcc9a091d9065d70f1a2c670.080458239912294635 Ether
0x6460748d870deacc6795e4f0cb81372dd57725135960d39ab12ddfd367ff08f3562560910 days 12 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x54d4aac8e3868c64dd11dcd1f40d2468c18b190b0.050869345475293641 Ether
0x7374683bcd02c332051fafbd56ac5a00fedeb93dbef683e77613b15890df4a37562169311 days 5 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x825d5d0df3b2d59f69cc673f041ca91a296b81830.048319278818039287 Ether
0x3a2f9a37ada5258bb3c6aa309fe086f949080b4ac8e87dc3f3fc06f8f65a6601562090111 days 8 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xd78976a6455212764fab53a3d07eb6ac5b76b16e0.039127706049507769 Ether
0xe30149eef5f7dd896569c559a7cee324f91bb64484e0a32bcdef715e496eab6b562038311 days 11 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x36e058332ae39efad2315776b9c844e30d07388b0.005560443189387712 Ether
0x05a59fed0883d295a9877b45e15bb139593f4d4279a634a0ccf847ff539e7d28562029711 days 11 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xf0333b94f895eb5aab3822da376f9cbcfce8a19c0.02924665337394226 Ether
0x61579199a2f9e8aa1f8039f9ba4867d5031c612b67db597e513569e19e15215d561899111 days 16 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x522273122b20212fe255875a4737b6f50cc720060.005370393884200558 Ether
0x4239d25e9e36b1dba610149fa390e8400577cd37d66c5f4a44294dc87b6b43b3561891811 days 17 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0xa78efc3a01cb8f2f47137b97f9546b46275f54a60.012539336610784893 Ether
0x6068aa96cead448773b0dada864dcfabd4d303e692e264707f6eb41629dc2e69561713512 days 40 mins ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x47fb69d9812835bed426903f7b4293308d423b090.0576 Ether
0x54f40f70fd194d83adb34b94c48047a7bbea657e5817287c4269bf7f315f92a3561461112 days 11 hrs ago0xd731c88890ca047cd1bed2e6ea1562c7a425c29d0x36e058332ae39efad2315776b9c844e30d07388b0.003914182606971205 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact match)
Contract Name: RigIdle
Compiler Version: 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 txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.