Contract 0xcdf7cfc9f7c129a0d7aec376bc205ab87fc878e1

 

Contract Overview

Etheremon: Adventure 2
Balance:
7.885 Ether

EtherValue:
$1,076.62 (@ $136.54/ETH)
TxHash Block Age From To Value [TxFee]
0x57dc77f6612f53e29d1e6c5871686c199bcbd35bed63c108b156208fac3c3c1b74175973 hrs 36 mins ago0x1daff8af2a0647101d23c19f1a200d0d1d81b1fb IN  Etheremon: Adventure 20 Ether0.00087438
0x48b03cdfa100ab9d447a40b11a09b732a390aceeda75afac791223a4838a4b8e74175763 hrs 42 mins ago0x23aa7a3d204945fda5a5f6d56228a7cbc47574f8 IN  Etheremon: Adventure 20.01 Ether0.000341974
0xab0399292bb68ee33716a27372db604d7789bcef923fb8e904056fee9838216874175323 hrs 50 mins ago0xff684104992bd26b6326bca4620d733526c0ddb1 IN  Etheremon: Adventure 20 Ether0.000218595
0xe8b6b1d795b09ee253a612d281bf6f76540199dd6dbd05f31085e8ff2246ce9e74174844 hrs 1 min ago0x43afdf5985443421fa1118b2f753a46f74f2f35a IN  Etheremon: Adventure 20.01 Ether0.000512961
0x823f77b816772252bf7f392279d49b58df7ad650bddfe30147153fc40945524874170235 hrs 38 mins ago0x35a70026ce6d10c548cacd721dbbfea220ca4506 IN  Etheremon: Adventure 20 Ether0.000655785
0x37c304f19f607b7a0197533b4bbf45cdce2a5af1321baa6dc45308626b41168774168686 hrs 14 mins ago0xb9a4dca69b6907483d6c04ea5d1283292267a9e9 IN  Etheremon: Adventure 20.01 Ether0.000341974
0x5b580e7bb01830f9380d3db15a86872b4b3560339b82c562d1c958ad8924559274167316 hrs 46 mins ago0x23aa7a3d204945fda5a5f6d56228a7cbc47574f8 IN  Etheremon: Adventure 20 Ether0.00043629
0x41fbae66f9da7ff0bfe2a162299fa4d91eb4a6b16a783e05eb19e795a8e42ac174166117 hrs 13 mins ago0xd949442f0b7f78dd530505f721b68e1ab481d607 IN  Etheremon: Adventure 20.01 Ether0.000341974
0xd39f77a0d627e5340175867995d6e670e51ec24ea3b7bdd96231a79732e7dc9a74165937 hrs 18 mins ago0xd949442f0b7f78dd530505f721b68e1ab481d607 IN  Etheremon: Adventure 20 Ether0.000404916
0x96408bc7c368a979b5576e0380eed2224ea776e63a78173a563b5b9453b8151374162868 hrs 22 mins ago0x77ee37a8a3dfe4d181c3ccd60933847833019327 IN  Etheremon: Adventure 20.01 Ether0.001179810343
0x71b952c5a083084461c2cb53c184ccb4ca4253415eeebdb7de060e8d1eda36fb74162408 hrs 31 mins ago0x9deae281b0c3075559759955d5797dfbc5f833e3 IN  Etheremon: Adventure 20 Ether0.000404916
0x3d750813b14d876e0e32d940910d588f609b8a33969b916b99e9f43446d80d9774161728 hrs 47 mins ago0x23aa7a3d204945fda5a5f6d56228a7cbc47574f8 IN  Etheremon: Adventure 20.01 Ether0.000512961
0x7432f58e824db6d858251350065eb0465316b5ef37337a957f40a309d653ee3074161478 hrs 53 mins ago0x0752f5a7cf11e4e2cded7822c12989acf0c1ede9 IN  Etheremon: Adventure 20 Ether0.00043719
0x48d2a3d0701de8104ab4c61a75f0643de8284bb46700304722c7ea1362f5bc8274161298 hrs 57 mins ago0x0008d343091ef8bd3efa730f6aae5a26a285c7a2 IN  Etheremon: Adventure 20 Ether0.0000669832
0x323653d1ac191f0782a99ca228118e444fe41171bc6bb53d7e4a43d4d40a68cf74160379 hrs 16 mins ago0x35a70026ce6d10c548cacd721dbbfea220ca4506 IN  Etheremon: Adventure 20.01 Ether0.0003932701
0xf87f317be2c25d4fb267693e5449d83f3b3545f3a609e30a49f7f67c8e1d682974159009 hrs 48 mins ago0x1daff8af2a0647101d23c19f1a200d0d1d81b1fb IN  Etheremon: Adventure 20.01 Ether0.000512961
0xc0bac0a6e2473bad169c9f13aa08e3b12275ea6b829812eeed5fde0f9d9d999d74158899 hrs 51 mins ago0x1daff8af2a0647101d23c19f1a200d0d1d81b1fb IN  Etheremon: Adventure 20 Ether0.00019896
0xd36d464674ae167148ee9c25c1db9984f49b02a87aab0de9b0dbb272d73a3735741577710 hrs 17 mins ago0xcee8ba5fb9fb9948c7fbee8fc4124309f2372a2b IN  Etheremon: Adventure 20.01 Ether0.000341974
0x9bf0f9872ad981feae65d15ff33b6b6be394ecea2ef04a5d193121de7d2dcd7d741562510 hrs 51 mins ago0x7b5263f47c96dfbb03a71443d29a2af18a130906 IN  Etheremon: Adventure 20 Ether0.000655785
0xebb92c6a2e01716d3121991e844b688e1d8c8216a13c481b1a811751dd017245741550011 hrs 19 mins ago0xd949442f0b7f78dd530505f721b68e1ab481d607 IN  Etheremon: Adventure 20.01 Ether0.000341974
0xd95c9b73c046947e9ca638fdec37f36a71fb3e0e3f4ade8aadd3d0354df91ca9741549611 hrs 20 mins ago0x23aa7a3d204945fda5a5f6d56228a7cbc47574f8 IN  Etheremon: Adventure 20 Ether0.000404916
0x53eb65d0b0b7e30096508229f979c3027680d808a9d4a5892727e698c0a43e0e741547711 hrs 23 mins ago0xd949442f0b7f78dd530505f721b68e1ab481d607 IN  Etheremon: Adventure 20 Ether0.00013264
0x4fe78e2c2a4ca560aea533f1af3e510d05a13d6d5a09f131368c66b7fec88d68741540211 hrs 43 mins ago0xe16cabb4c4416829985913610b9d8723ba549f3d IN  Etheremon: Adventure 20.01 Ether0.000341974
0xd619b538718b767b3b1c9233a75dee8857cb2b9bb0b798fe2863e93e3284dfb8741538311 hrs 49 mins ago0x07b99b5a4093be2c4465d55fcaad50a3cb61447a IN  Etheremon: Adventure 20 Ether0.00043719
0xd86ad86bdf43555e4f1de7127fdfcfa93a2b231d8dcc471c00d32ff5438fdc96741512312 hrs 47 mins ago0x0008d343091ef8bd3efa730f6aae5a26a285c7a2 IN  Etheremon: Adventure 20 Ether0.00022078095
[ Download CSV Export 

Latest 3 internal transactions Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
0x9d28bc57137e48b530a836c61cfd19779f9365a63ef04a631fcce33bf80cb215720580739 days 5 hrs ago0xcdf7cfc9f7c129a0d7aec376bc205ab87fc878e10xf35728a27318156ae04ba8a6dff8074fe98b19b898.45 Ether
0x05d8e252624219b8e363752ba583c2b00cda8768856437fe0b97305ae495a2fe6468262166 days 7 hrs ago0xcdf7cfc9f7c129a0d7aec376bc205ab87fc878e10xf35728a27318156ae04ba8a6dff8074fe98b19b876.553 Ether
0x2d92ad84e926e9538d72c2ede7d3d6f3583e3879c451a5e68ac1e3af0035d9166277118197 days 20 hrs ago0xcdf7cfc9f7c129a0d7aec376bc205ab87fc878e10xe0a66218c40230967d4240d25f6220a28e52c7ff0.002 Ether
[ Download CSV Export 

Contract Source Code Verified (Exact Match)

Contract Name:
EtheremonAdventure

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
Yes

Runs (Optimizer):
200

Contract Source Code

pragma solidity ^0.4.16;

library AddressUtils {
    function isContract(address addr) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(addr) }
        return size > 0;
    }
}

contract BasicAccessControl {
    address public owner;
    // address[] public moderators;
    uint16 public totalModerators = 0;
    mapping (address => bool) public moderators;
    bool public isMaintaining = false;

    function BasicAccessControl() public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    modifier onlyModerators() {
        require(msg.sender == owner || moderators[msg.sender] == true);
        _;
    }

    modifier isActive {
        require(!isMaintaining);
        _;
    }

    function ChangeOwner(address _newOwner) onlyOwner public {
        if (_newOwner != address(0)) {
            owner = _newOwner;
        }
    }


    function AddModerator(address _newModerator) onlyOwner public {
        if (moderators[_newModerator] == false) {
            moderators[_newModerator] = true;
            totalModerators += 1;
        }
    }
    
    function RemoveModerator(address _oldModerator) onlyOwner public {
        if (moderators[_oldModerator] == true) {
            moderators[_oldModerator] = false;
            totalModerators -= 1;
        }
    }

    function UpdateMaintaining(bool _isMaintaining) onlyOwner public {
        isMaintaining = _isMaintaining;
    }
}

contract EtheremonEnum {

    enum ResultCode {
        SUCCESS,
        ERROR_CLASS_NOT_FOUND,
        ERROR_LOW_BALANCE,
        ERROR_SEND_FAIL,
        ERROR_NOT_TRAINER,
        ERROR_NOT_ENOUGH_MONEY,
        ERROR_INVALID_AMOUNT
    }
    
    enum ArrayType {
        CLASS_TYPE,
        STAT_STEP,
        STAT_START,
        STAT_BASE,
        OBJ_SKILL
    }
    
    enum PropertyType {
        ANCESTOR,
        XFACTOR
    }
}

interface EtheremonDataBase {
    // read
    function getMonsterClass(uint32 _classId) constant external returns(uint32 classId, uint256 price, uint256 returnPrice, uint32 total, bool catchable);
    function getMonsterObj(uint64 _objId) constant external returns(uint64 objId, uint32 classId, address trainer, uint32 exp, uint32 createIndex, uint32 lastClaimIndex, uint createTime);
    function getElementInArrayType(EtheremonEnum.ArrayType _type, uint64 _id, uint _index) constant external returns(uint8);
    
    function addMonsterObj(uint32 _classId, address _trainer, string _name) external returns(uint64);
    function addElementToArrayType(EtheremonEnum.ArrayType _type, uint64 _id, uint8 _value) external returns(uint);
}

contract ERC20Interface {
    function totalSupply() public constant returns (uint);
    function balanceOf(address tokenOwner) public constant returns (uint balance);
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
    function transfer(address to, uint tokens) public returns (bool success);
    function approve(address spender, uint tokens) public returns (bool success);
    function transferFrom(address from, address to, uint tokens) public returns (bool success);
}

interface ERC721Interface {
    function ownerOf(uint256 _tokenId) external view returns (address owner);
}

interface EtheremonAdventureItem {
    function ownerOf(uint256 _tokenId) external view returns (address);
    function getItemInfo(uint _tokenId) constant external returns(uint classId, uint value);
    function spawnItem(uint _classId, uint _value, address _owner) external returns(uint);
}

interface EtheremonAdventureSetting {
    function getSiteItem(uint _siteId, uint _seed) constant external returns(uint _monsterClassId, uint _tokenClassId, uint _value);
    function getSiteId(uint _classId, uint _seed) constant external returns(uint);
}

interface EtheremonMonsterNFT {
    function mintMonster(uint32 _classId, address _trainer, string _name) external returns(uint);
}

contract EtheremonAdventureData {
    
    function addLandRevenue(uint _siteId, uint _emontAmount, uint _etherAmount) external;
    function addTokenClaim(uint _tokenId, uint _emontAmount, uint _etherAmount) external;
    function addExploreData(address _sender, uint _typeId, uint _monsterId, uint _siteId, uint _startAt, uint _emontAmount, uint _etherAmount) external returns(uint);
    function removePendingExplore(uint _exploreId, uint _itemSeed) external;
    
    // public function
    function getLandRevenue(uint _classId) constant public returns(uint _emontAmount, uint _etherAmount);
    
    function getTokenClaim(uint _tokenId) constant public returns(uint _emontAmount, uint _etherAmount);
    
    function getExploreData(uint _exploreId) constant public returns(address _sender, uint _typeId, uint _monsterId, uint _siteId, uint _itemSeed, uint _startAt);
    
    function getPendingExplore(address _player) constant public returns(uint);
    
    function getPendingExploreData(address _player) constant public returns(uint _exploreId, uint _typeId, uint _monsterId, uint _siteId, uint _itemSeed, uint _startAt);
}

contract EtheremonAdventure is EtheremonEnum, BasicAccessControl {
    
    using AddressUtils for address;
    
    uint8 constant public STAT_COUNT = 6;
    uint8 constant public STAT_MAX = 32;

    struct MonsterObjAcc {
        uint64 monsterId;
        uint32 classId;
        address trainer;
        string name;
        uint32 exp;
        uint32 createIndex;
        uint32 lastClaimIndex;
        uint createTime;
    }
    
    struct ExploreData {
        address sender;
        uint monsterType;
        uint monsterId;
        uint siteId;
        uint itemSeed;
        uint startAt; // blocknumber
    }
    
    struct ExploreReward {
        uint monsterClassId;
        uint itemClassId;
        uint value;
        uint temp;
    }
    
    address public dataContract;
    address public monsterNFT;
    address public adventureDataContract;
    address public adventureSettingContract;
    address public adventureItemContract;
    address public tokenContract;
    address public kittiesContract;
    
    uint public exploreETHFee = 0.01 ether;
    uint public exploreEMONTFee = 1500000000;
    uint public exploreFastenETHFee = 0.005 ether;
    uint public exploreFastenEMONTFee = 750000000;
    uint public minBlockGap = 240;
    uint public totalSite = 54;
    
    uint seed = 0;
    
    event SendExplore(address indexed from, uint monsterType, uint monsterId, uint exploreId);
    event ClaimExplore(address indexed from, uint exploreId, uint itemType, uint itemClass, uint itemId);
    
    modifier requireDataContract {
        require(dataContract != address(0));
        _;
    }
    
    modifier requireAdventureDataContract {
        require(adventureDataContract != address(0));
        _;
    }
    
    modifier requireAdventureSettingContract {
        require(adventureSettingContract != address(0));
        _;
    }
    
    modifier requireTokenContract {
        require(tokenContract != address(0));
        _;
    }
    
    modifier requireKittiesContract {
        require(kittiesContract != address(0));
        _;
    }
    
    function setContract(address _dataContract, address _monsterNFT, address _adventureDataContract, address _adventureSettingContract, address _adventureItemContract, address _tokenContract, address _kittiesContract) onlyOwner public {
        dataContract = _dataContract;
        monsterNFT = _monsterNFT;
        adventureDataContract = _adventureDataContract;
        adventureSettingContract = _adventureSettingContract;
        adventureItemContract = _adventureItemContract;
        tokenContract = _tokenContract;
        kittiesContract = _kittiesContract;
    }

    function setFeeConfig(uint _exploreETHFee, uint _exploreEMONTFee, uint _exploreFastenETHFee, uint _exploreFastenEMONTFee) onlyOwner public {
        exploreETHFee = _exploreETHFee;
        exploreEMONTFee = _exploreEMONTFee;
        exploreFastenEMONTFee = _exploreFastenEMONTFee;
        exploreFastenETHFee = _exploreFastenETHFee;
    }

    function setConfig( uint _minBlockGap, uint _totalSite) onlyOwner public {
        minBlockGap = _minBlockGap;
        totalSite = _totalSite;
    }
    
    function withdrawEther(address _sendTo, uint _amount) onlyOwner public {
        // it is used in case we need to upgrade the smartcontract
        if (_amount > address(this).balance) {
            revert();
        }
        _sendTo.transfer(_amount);
    }
    
    function withdrawToken(address _sendTo, uint _amount) onlyOwner requireTokenContract external {
        ERC20Interface token = ERC20Interface(tokenContract);
        if (_amount > token.balanceOf(address(this))) {
            revert();
        }
        token.transfer(_sendTo, _amount);
    }
    
    function adventureByToken(address _player, uint _token, uint _param1, uint _param2, uint64 _param3, uint64 _param4) isActive onlyModerators external {
        // param1 = 1 -> explore, param1 = 2 -> claim 
        if (_param1 == 1) {
            _exploreUsingEmont(_player, _param2, _param3, _token);
        } else {
            _claimExploreItemUsingEMont(_param2, _token);
        }
    }
    
    function _exploreUsingEmont(address _sender, uint _monsterType, uint _monsterId, uint _token) internal {
        if (_token < exploreEMONTFee) revert();
        seed = getRandom(_sender, block.number - 1, seed, _monsterId);
        uint siteId = getTargetSite(_sender, _monsterType, _monsterId, seed);
        if (siteId == 0) revert();
        
        EtheremonAdventureData adventureData = EtheremonAdventureData(adventureDataContract);
        uint exploreId = adventureData.addExploreData(_sender, _monsterType, _monsterId, siteId, block.number, _token, 0);
        SendExplore(_sender, _monsterType, _monsterId, exploreId);
    }
    
    function _claimExploreItemUsingEMont(uint _exploreId, uint _token) internal {
        if (_token < exploreFastenEMONTFee) revert();
        
        EtheremonAdventureData adventureData = EtheremonAdventureData(adventureDataContract);
        ExploreData memory exploreData;
        (exploreData.sender, exploreData.monsterType, exploreData.monsterId, exploreData.siteId, exploreData.itemSeed, exploreData.startAt) = adventureData.getExploreData(_exploreId);
        
        if (exploreData.itemSeed != 0)
            revert();
        
        // min 2 blocks
        if (block.number < exploreData.startAt + 2)
            revert();
        
        exploreData.itemSeed = getRandom(exploreData.sender, exploreData.startAt + 1, exploreData.monsterId, _exploreId) % 100000;
        ExploreReward memory reward;
        (reward.monsterClassId, reward.itemClassId, reward.value) = EtheremonAdventureSetting(adventureSettingContract).getSiteItem(exploreData.siteId, exploreData.itemSeed);
        
        adventureData.removePendingExplore(_exploreId, exploreData.itemSeed);
        
        if (reward.monsterClassId > 0) {
            EtheremonMonsterNFT monsterContract = EtheremonMonsterNFT(monsterNFT);
            reward.temp = monsterContract.mintMonster(uint32(reward.monsterClassId), exploreData.sender,  "..name me..");
            ClaimExplore(exploreData.sender, _exploreId, 0, reward.monsterClassId, reward.temp);
        } else if (reward.itemClassId > 0) {
            // give new adventure item 
            EtheremonAdventureItem item = EtheremonAdventureItem(adventureItemContract);
            reward.temp = item.spawnItem(reward.itemClassId, reward.value, exploreData.sender);
            ClaimExplore(exploreData.sender, _exploreId, 1, reward.itemClassId, reward.temp);
        } else if (reward.value > 0) {
            // send token contract
            ERC20Interface token = ERC20Interface(tokenContract);
            token.transfer(exploreData.sender, reward.value);
            ClaimExplore(exploreData.sender, _exploreId, 2, 0, reward.value);
        } else {
            revert();
        }
    }
    
    // public
    
    function getRandom(address _player, uint _block, uint _seed, uint _count) constant public returns(uint) {
        return uint(keccak256(block.blockhash(_block), _player, _seed, _count));
    }
    
    function getTargetSite(address _sender, uint _monsterType, uint _monsterId, uint _seed) constant public returns(uint) {
        if (_monsterType == 0) {
            // Etheremon 
            MonsterObjAcc memory obj;
            (obj.monsterId, obj.classId, obj.trainer, obj.exp, obj.createIndex, obj.lastClaimIndex, obj.createTime) = EtheremonDataBase(dataContract).getMonsterObj(uint64(_monsterId));
            if (obj.trainer != _sender) revert();
            return EtheremonAdventureSetting(adventureSettingContract).getSiteId(obj.classId, _seed);
        } else if (_monsterType == 1) {
            // Cryptokitties
            if (_sender != ERC721Interface(kittiesContract).ownerOf(_monsterId)) revert();
            return EtheremonAdventureSetting(adventureSettingContract).getSiteId(_seed % totalSite, _seed);
        }
        return 0;
    }
    
    function exploreUsingETH(uint _monsterType, uint _monsterId) isActive public payable {
        // not allow contract to make txn
        if (msg.sender.isContract()) revert();
        
        if (msg.value < exploreETHFee) revert();
        seed = getRandom(msg.sender, block.number - 1, seed, _monsterId);
        uint siteId = getTargetSite(msg.sender, _monsterType, _monsterId, seed);
        if (siteId == 0) revert();
        EtheremonAdventureData adventureData = EtheremonAdventureData(adventureDataContract);
        uint exploreId = adventureData.addExploreData(msg.sender, _monsterType, _monsterId, siteId, block.number, 0, msg.value);
        SendExplore(msg.sender, _monsterType, _monsterId, exploreId);
    }
    
    function claimExploreItem(uint _exploreId) isActive public payable {
        EtheremonAdventureData adventureData = EtheremonAdventureData(adventureDataContract);
        ExploreData memory exploreData;
        (exploreData.sender, exploreData.monsterType, exploreData.monsterId, exploreData.siteId, exploreData.itemSeed, exploreData.startAt) = adventureData.getExploreData(_exploreId);
        
        if (exploreData.itemSeed != 0)
            revert();
        
        // min 2 blocks
        if (block.number < exploreData.startAt + 2)
            revert();
        
        exploreData.itemSeed = getRandom(exploreData.sender, exploreData.startAt + 1, exploreData.monsterId, _exploreId) % 100000;
        if (msg.value < exploreFastenETHFee) {
            if (block.number < exploreData.startAt + minBlockGap + exploreData.startAt % minBlockGap)
                revert();
        }
        
        ExploreReward memory reward;
        (reward.monsterClassId, reward.itemClassId, reward.value) = EtheremonAdventureSetting(adventureSettingContract).getSiteItem(exploreData.siteId, exploreData.itemSeed);
        
        adventureData.removePendingExplore(_exploreId, exploreData.itemSeed);
        
        if (reward.monsterClassId > 0) {
            EtheremonMonsterNFT monsterContract = EtheremonMonsterNFT(monsterNFT);
            reward.temp = monsterContract.mintMonster(uint32(reward.monsterClassId), exploreData.sender,  "..name me..");
            ClaimExplore(exploreData.sender, _exploreId, 0, reward.monsterClassId, reward.temp);
        } else if (reward.itemClassId > 0) {
            // give new adventure item 
            EtheremonAdventureItem item = EtheremonAdventureItem(adventureItemContract);
            reward.temp = item.spawnItem(reward.itemClassId, reward.value, exploreData.sender);
            ClaimExplore(exploreData.sender, _exploreId, 1, reward.itemClassId, reward.temp);
        } else if (reward.value > 0) {
            // send token contract
            ERC20Interface token = ERC20Interface(tokenContract);
            token.transfer(exploreData.sender, reward.value);
            ClaimExplore(exploreData.sender, _exploreId, 2, 0, reward.value);
        } else {
            revert();
        }
    }
    
    // public
    
    function predictExploreReward(uint _exploreId) constant external returns(uint itemSeed, uint rewardMonsterClass, uint rewardItemCLass, uint rewardValue) {
        EtheremonAdventureData adventureData = EtheremonAdventureData(adventureDataContract);
        ExploreData memory exploreData;
        (exploreData.sender, exploreData.monsterType, exploreData.monsterId, exploreData.siteId, exploreData.itemSeed, exploreData.startAt) = adventureData.getExploreData(_exploreId);
        
        if (exploreData.itemSeed != 0) {
            itemSeed = exploreData.itemSeed;
        } else {
            if (block.number < exploreData.startAt + 2)
                return (0, 0, 0, 0);
            itemSeed = getRandom(exploreData.sender, exploreData.startAt + 1, exploreData.monsterId, _exploreId) % 100000;
        }
        (rewardMonsterClass, rewardItemCLass, rewardValue) = EtheremonAdventureSetting(adventureSettingContract).getSiteItem(exploreData.siteId, itemSeed);
    }
    
    function getExploreItem(uint _exploreId) constant external returns(address trainer, uint monsterType, uint monsterId, uint siteId, uint startBlock, uint rewardMonsterClass, uint rewardItemClass, uint rewardValue) {
        EtheremonAdventureData adventureData = EtheremonAdventureData(adventureDataContract);
        (trainer, monsterType, monsterId, siteId, rewardMonsterClass, startBlock) = adventureData.getExploreData(_exploreId);
        
        if (rewardMonsterClass > 0) {
            (rewardMonsterClass, rewardItemClass, rewardValue) = EtheremonAdventureSetting(adventureSettingContract).getSiteItem(siteId, rewardMonsterClass);
        }
        
    }
    
    function getPendingExploreItem(address _trainer) constant external returns(uint exploreId, uint monsterType, uint monsterId, uint siteId, uint startBlock, uint endBlock) {
        EtheremonAdventureData adventureData = EtheremonAdventureData(adventureDataContract);
        (exploreId, monsterType, monsterId, siteId, endBlock, startBlock) = adventureData.getPendingExploreData(_trainer);
        if (exploreId > 0) {
            endBlock = startBlock + minBlockGap + startBlock % minBlockGap;
        }
    }

}

Contract ABI

[{"constant":true,"inputs":[{"name":"_player","type":"address"},{"name":"_block","type":"uint256"},{"name":"_seed","type":"uint256"},{"name":"_count","type":"uint256"}],"name":"getRandom","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dataContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"adventureItemContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"moderators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exploreFastenEMONTFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_monsterType","type":"uint256"},{"name":"_monsterId","type":"uint256"}],"name":"exploreUsingETH","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_minBlockGap","type":"uint256"},{"name":"_totalSite","type":"uint256"}],"name":"setConfig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"exploreETHFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exploreEMONTFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"kittiesContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_isMaintaining","type":"bool"}],"name":"UpdateMaintaining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"STAT_MAX","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalModerators","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sendTo","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"monsterNFT","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newModerator","type":"address"}],"name":"AddModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"adventureDataContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_trainer","type":"address"}],"name":"getPendingExploreItem","outputs":[{"name":"exploreId","type":"uint256"},{"name":"monsterType","type":"uint256"},{"name":"monsterId","type":"uint256"},{"name":"siteId","type":"uint256"},{"name":"startBlock","type":"uint256"},{"name":"endBlock","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"adventureSettingContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minBlockGap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSite","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_dataContract","type":"address"},{"name":"_monsterNFT","type":"address"},{"name":"_adventureDataContract","type":"address"},{"name":"_adventureSettingContract","type":"address"},{"name":"_adventureItemContract","type":"address"},{"name":"_tokenContract","type":"address"},{"name":"_kittiesContract","type":"address"}],"name":"setContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sendTo","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_exploreId","type":"uint256"}],"name":"getExploreItem","outputs":[{"name":"trainer","type":"address"},{"name":"monsterType","type":"uint256"},{"name":"monsterId","type":"uint256"},{"name":"siteId","type":"uint256"},{"name":"startBlock","type":"uint256"},{"name":"rewardMonsterClass","type":"uint256"},{"name":"rewardItemClass","type":"uint256"},{"name":"rewardValue","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_oldModerator","type":"address"}],"name":"RemoveModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"exploreFastenETHFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_exploreId","type":"uint256"}],"name":"predictExploreReward","outputs":[{"name":"itemSeed","type":"uint256"},{"name":"rewardMonsterClass","type":"uint256"},{"name":"rewardItemCLass","type":"uint256"},{"name":"rewardValue","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"STAT_COUNT","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_exploreETHFee","type":"uint256"},{"name":"_exploreEMONTFee","type":"uint256"},{"name":"_exploreFastenETHFee","type":"uint256"},{"name":"_exploreFastenEMONTFee","type":"uint256"}],"name":"setFeeConfig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_sender","type":"address"},{"name":"_monsterType","type":"uint256"},{"name":"_monsterId","type":"uint256"},{"name":"_seed","type":"uint256"}],"name":"getTargetSite","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isMaintaining","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"ChangeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_player","type":"address"},{"name":"_token","type":"uint256"},{"name":"_param1","type":"uint256"},{"name":"_param2","type":"uint256"},{"name":"_param3","type":"uint64"},{"name":"_param4","type":"uint64"}],"name":"adventureByToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_exploreId","type":"uint256"}],"name":"claimExploreItem","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"monsterType","type":"uint256"},{"indexed":false,"name":"monsterId","type":"uint256"},{"indexed":false,"name":"exploreId","type":"uint256"}],"name":"SendExplore","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"exploreId","type":"uint256"},{"indexed":false,"name":"itemType","type":"uint256"},{"indexed":false,"name":"itemClass","type":"uint256"},{"indexed":false,"name":"itemId","type":"uint256"}],"name":"ClaimExplore","type":"event"}]

Contract Creation Code

6060604052600080546002805460ff19169055662386f26fc100006009556359682f00600a556611c37937e08000600b55632cb41780600c5560f0600d556036600e55600f829055600160a060020a033316600160b060020a03199091161790556121608061006f6000396000f3006060604052600436106101a85763ffffffff60e060020a6000350416630a92b26481146101ad5780630d668818146101e75780630e6554321461021657806314d0f1ba146102295780631a389eb91461025c5780631a5f9bed1461026f5780631e34c5851461027f5780632c421074146102985780633115c3ee146102ab5780633432000c146102be57806348ef5aa8146102d15780634e3dc2f1146102e95780634efb023e14610312578063522f68151461033c57806355a373d61461035e578063678a1013146103715780636c81fd6d146103845780636ebe299f146103a35780637064b5aa146103b65780638144ee2f1461040e5780638308c7861461042157806389b97d07146104345780638a9ba931146104475780638da5cb5b1461048a5780639e281a981461049d578063b167fe1b146104bf578063b85d627514610526578063cfb9147d14610545578063d691092a14610558578063d98e14bd14610599578063dbd5ef6d146105ac578063ec6e7bbf146105cb578063ee4e4416146105f3578063f285329214610606578063fba7038114610625578063fbf7ba6514610660575b600080fd5b34156101b857600080fd5b6101d5600160a060020a036004351660243560443560643561066b565b60405190815260200160405180910390f35b34156101f257600080fd5b6101fa6106b7565b604051600160a060020a03909116815260200160405180910390f35b341561022157600080fd5b6101fa6106cb565b341561023457600080fd5b610248600160a060020a03600435166106da565b604051901515815260200160405180910390f35b341561026757600080fd5b6101d56106ef565b61027d6004356024356106f5565b005b341561028a57600080fd5b61027d600435602435610867565b34156102a357600080fd5b6101d561088d565b34156102b657600080fd5b6101d5610893565b34156102c957600080fd5b6101fa610899565b34156102dc57600080fd5b61027d60043515156108a8565b34156102f457600080fd5b6102fc6108d6565b60405160ff909116815260200160405180910390f35b341561031d57600080fd5b6103256108db565b60405161ffff909116815260200160405180910390f35b341561034757600080fd5b61027d600160a060020a03600435166024356108fd565b341561036957600080fd5b6101fa610964565b341561037c57600080fd5b6101fa610973565b341561038f57600080fd5b61027d600160a060020a0360043516610982565b34156103ae57600080fd5b6101fa610a2c565b34156103c157600080fd5b6103d5600160a060020a0360043516610a3b565b60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b341561041957600080fd5b6101fa610b14565b341561042c57600080fd5b6101d5610b23565b341561043f57600080fd5b6101d5610b29565b341561045257600080fd5b61027d600160a060020a0360043581169060243581169060443581169060643581169060843581169060a43581169060c43516610b2f565b341561049557600080fd5b6101fa610bed565b34156104a857600080fd5b61027d600160a060020a0360043516602435610bfc565b34156104ca57600080fd5b6104d5600435610d2e565b604051600160a060020a03909816885260208801969096526040808801959095526060870193909352608086019190915260a085015260c084015260e0830191909152610100909101905180910390f35b341561053157600080fd5b61027d600160a060020a0360043516610e75565b341561055057600080fd5b6101d5610f1f565b341561056357600080fd5b61056e600435610f25565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34156105a457600080fd5b6102fc6110e2565b34156105b757600080fd5b61027d6004356024356044356064356110e7565b34156105d657600080fd5b6101d5600160a060020a0360043516602435604435606435611119565b34156105fe57600080fd5b6102486113a9565b341561061157600080fd5b61027d600160a060020a03600435166113b2565b341561063057600080fd5b61027d600160a060020a036004351660243560443560643567ffffffffffffffff60843581169060a43516611409565b61027d600435611495565b60008340858484604051938452600160a060020a03929092166c010000000000000000000000000260208401526034830152605482015260740160405190819003902095945050505050565b6002546101009004600160a060020a031681565b600654600160a060020a031681565b60016020526000908152604090205460ff1681565b600c5481565b6002546000908190819060ff161561070c57600080fd5b61071e33600160a060020a03166119e4565b1561072857600080fd5b60095434101561073757600080fd5b6107483360014303600f548761066b565b600f8190555061075c338686600f54611119565b925082151561076a57600080fd5b600454600160a060020a0316915081637154b7983387878743600034816040516020015260405160e060020a63ffffffff8a16028152600160a060020a039097166004880152602487019590955260448601939093526064850191909152608484015260a483015260c482015260e401602060405180830381600087803b15156107f357600080fd5b6102c65a03f1151561080457600080fd5b5050506040518051915050600160a060020a0333167fe9ca38bf61cdb977a616ad0224f81bb20db269553a49139f962330a9f41b1d4586868460405180848152602001838152602001828152602001935050505060405180910390a25050505050565b60005433600160a060020a0390811691161461088257600080fd5b600d91909155600e55565b60095481565b600a5481565b600854600160a060020a031681565b60005433600160a060020a039081169116146108c357600080fd5b6002805460ff1916911515919091179055565b602081565b60005474010000000000000000000000000000000000000000900461ffff1681565b60005433600160a060020a0390811691161461091857600080fd5b30600160a060020a03163181111561092f57600080fd5b600160a060020a03821681156108fc0282604051600060405180830381858888f19350505050151561096057600080fd5b5050565b600754600160a060020a031681565b600354600160a060020a031681565b60005433600160a060020a0390811691161461099d57600080fd5b600160a060020a03811660009081526001602052604090205460ff161515610a2957600160a060020a03811660009081526001602081905260408220805460ff191682179055815461ffff7401000000000000000000000000000000000000000080830482169093011690910275ffff0000000000000000000000000000000000000000199091161790555b50565b600454600160a060020a031681565b60045460009081908190819081908190600160a060020a03168063bf5b4c0c898460405160c0015260405160e060020a63ffffffff8416028152600160a060020a03909116600482015260240160c060405180830381600087803b1515610aa157600080fd5b6102c65a03f11515610ab257600080fd5b5050506040518051906020018051906020018051906020018051906020018051906020018051959c50939a509198509650919450909250506000871115610b0a57600d5483811515610b0057fe5b06600d5484010191505b5091939550919395565b600554600160a060020a031681565b600d5481565b600e5481565b60005433600160a060020a03908116911614610b4a57600080fd5b6002805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a03998a16021790556003805473ffffffffffffffffffffffffffffffffffffffff199081169789169790971790556004805487169588169590951790945560058054861693871693909317909255600680548516918616919091179055600780548416918516919091179055600880549092169216919091179055565b600054600160a060020a031681565b6000805433600160a060020a03908116911614610c1857600080fd5b600754600160a060020a03161515610c2f57600080fd5b50600754600160a060020a0316806370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610c8a57600080fd5b6102c65a03f11515610c9b57600080fd5b50505060405180519050821115610cb157600080fd5b80600160a060020a031663a9059cbb848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610d0e57600080fd5b6102c65a03f11515610d1f57600080fd5b50505060405180515050505050565b6004546000908190819081908190819081908190600160a060020a0316806340ef78a78b8460405160c0015260405160e060020a63ffffffff8416028152600481019190915260240160c060405180830381600087803b1515610d9057600080fd5b6102c65a03f11515610da157600080fd5b5050506040518051906020018051906020018051906020018051906020018051906020018051959e50939c50919a509850919650909450506000841115610e6957600554600160a060020a03166399f1718a878660006040516060015260405160e060020a63ffffffff851602815260048101929092526024820152604401606060405180830381600087803b1515610e3957600080fd5b6102c65a03f11515610e4a57600080fd5b5050506040518051906020018051906020018051929650909450909250505b50919395975091939597565b60005433600160a060020a03908116911614610e9057600080fd5b600160a060020a03811660009081526001602081905260409091205460ff1615151415610a2957600160a060020a03166000908152600160205260408120805460ff19169055805475ffff0000000000000000000000000000000000000000198116740100000000000000000000000000000000000000009182900461ffff9081166000190116909102179055565b600b5481565b6000806000806000610f3561204d565b600454600160a060020a03169150816340ef78a788600060405160c0015260405160e060020a63ffffffff8416028152600481019190915260240160c060405180830381600087803b1515610f8957600080fd5b6102c65a03f11515610f9a57600080fd5b505050604051805190602001805190602001805190602001805190602001805190602001805160a08801525060808601908152606086019190915260408501919091526020840191909152600160a060020a0390911682525115611004578060800151955061104e565b8060a0015160020143101561102557600095508594508493508392506110d9565b620186a061104182518360a0015160010184604001518b61066b565b81151561104a57fe5b0695505b600554600160a060020a03166399f1718a60608301518860006040516060015260405160e060020a63ffffffff851602815260048101929092526024820152604401606060405180830381600087803b15156110a957600080fd5b6102c65a03f115156110ba57600080fd5b5050506040518051906020018051906020018051929750909550909350505b50509193509193565b600681565b60005433600160a060020a0390811691161461110257600080fd5b600993909355600a91909155600c91909155600b55565b600061112361208d565b8415156112a7576002546101009004600160a060020a0316630720246085600060405160e0015260405160e060020a63ffffffff841602815267ffffffffffffffff909116600482015260240160e060405180830381600087803b151561118957600080fd5b6102c65a03f1151561119a57600080fd5b505050604051805190602001805190602001805190602001805190602001805190602001805190602001805160e08901525063ffffffff90811660c088015290811660a08701529081166080860152600160a060020a03918216604086019081529216602085015267ffffffffffffffff90921683529087169051600160a060020a03161461122857600080fd5b600554600160a060020a0316638d70650f60208301518560006040516020015260405163ffffffff84811660e060020a0282529290921660048301526024820152604401602060405180830381600087803b151561128557600080fd5b6102c65a03f1151561129657600080fd5b5050506040518051905091506113a0565b846001141561139b57600854600160a060020a0316636352211e8560006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561130157600080fd5b6102c65a03f1151561131257600080fd5b5050506040518051600160a060020a03888116911614905061133357600080fd5b600554600e54600160a060020a0390911690638d70650f908581151561135557fe5b068560006040516020015260405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b151561128557600080fd5b600091505b50949350505050565b60025460ff1681565b60005433600160a060020a039081169116146113cd57600080fd5b600160a060020a03811615610a295760008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b60025460ff161561141957600080fd5b60005433600160a060020a03908116911614806114545750600160a060020a03331660009081526001602081905260409091205460ff161515145b151561145f57600080fd5b83600114156114835761147e86848467ffffffffffffffff16886119ec565b61148d565b61148d8386611b32565b505050505050565b600061149f61204d565b6114a76120d9565b6002546000908190819060ff16156114be57600080fd5b600454600160a060020a03169550856340ef78a788600060405160c0015260405160e060020a63ffffffff8416028152600481019190915260240160c060405180830381600087803b151561151257600080fd5b6102c65a03f1151561152357600080fd5b505050604051805190602001805190602001805190602001805190602001805190602001805160a08c01525060808a0190815260608a019190915260408901919091526020880191909152600160a060020a039091168652511561158657600080fd5b8460a0015160020143101561159a57600080fd5b620186a06115b686518760a0015160010188604001518b61066b565b8115156115bf57fe5b066080860152600b543410156115f757600d548560a001518115156115e057fe5b06600d548660a0015101014310156115f757600080fd5b600554600160a060020a03166399f1718a6060870151876080015160006040516060015260405160e060020a63ffffffff851602815260048101929092526024820152604401606060405180830381600087803b151561165657600080fd5b6102c65a03f1151561166757600080fd5b505050604051805190602001805190602001805160408801525060208601528452600160a060020a03861663d9d1f5d988608088015160405160e060020a63ffffffff851602815260048101929092526024820152604401600060405180830381600087803b15156116d857600080fd5b6102c65a03f115156116e957600080fd5b50505060008460000151111561180657600354600160a060020a0316925082630963d4b78551875160006040516020015260405163ffffffff84811660e060020a028252929092166004830152600160a060020a0316602482015260606044820152600b60648201527f2e2e6e616d65206d652e2e000000000000000000000000000000000000000000608482015260a401602060405180830381600087803b151561179457600080fd5b6102c65a03f115156117a557600080fd5b50505060405180516060860152508451600160a060020a0316600080516020612115833981519152886000875188606001516040518085815260200184815260200183815260200182815260200194505050505060405180910390a26119db565b6000846020015111156118fd57600654600160a060020a031691508163d339254560208601518660400151885160006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b151561188857600080fd5b6102c65a03f1151561189957600080fd5b50505060405180516060860152508451600160a060020a0316600080516020612115833981519152886001876020015188606001516040518085815260200184815260200183815260200182815260200194505050505060405180910390a26119db565b6000846040015111156101a85750600754600160a060020a03168063a9059cbb8651866040015160006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561197057600080fd5b6102c65a03f1151561198157600080fd5b50505060405180515085905051600160a060020a0316600080516020612115833981519152886002600088604001516040518085815260200184815260200183815260200182815260200194505050505060405180910390a25b50505050505050565b6000903b1190565b6000806000600a54841015611a0057600080fd5b611a118760014303600f548861066b565b600f81905550611a25878787600f54611119565b9250821515611a3357600080fd5b600454600160a060020a0316915081637154b79888888887438a6000806040516020015260405160e060020a63ffffffff8a16028152600160a060020a039097166004880152602487019590955260448601939093526064850191909152608484015260a483015260c482015260e401602060405180830381600087803b1515611abc57600080fd5b6102c65a03f11515611acd57600080fd5b5050506040518051915050600160a060020a0387167fe9ca38bf61cdb977a616ad0224f81bb20db269553a49139f962330a9f41b1d4587878460405180848152602001838152602001828152602001935050505060405180910390a250505050505050565b6000611b3c61204d565b611b446120d9565b6000806000600c54871015611b5857600080fd5b600454600160a060020a03169550856340ef78a789600060405160c0015260405160e060020a63ffffffff8416028152600481019190915260240160c060405180830381600087803b1515611bac57600080fd5b6102c65a03f11515611bbd57600080fd5b505050604051805190602001805190602001805190602001805190602001805190602001805160a08c01525060808a0190815260608a019190915260408901919091526020880191909152600160a060020a0390911686525115611c2057600080fd5b8460a00151600201431015611c3457600080fd5b620186a0611c5086518760a0015160010188604001518c61066b565b811515611c5957fe5b066080860152600554600160a060020a03166399f1718a6060870151876080015160006040516060015260405160e060020a63ffffffff851602815260048101929092526024820152604401606060405180830381600087803b1515611cbe57600080fd5b6102c65a03f11515611ccf57600080fd5b505050604051805190602001805190602001805160408801525060208601528452600160a060020a03861663d9d1f5d989608088015160405160e060020a63ffffffff851602815260048101929092526024820152604401600060405180830381600087803b1515611d4057600080fd5b6102c65a03f11515611d5157600080fd5b505050600084600001511115611e6e57600354600160a060020a0316925082630963d4b78551875160006040516020015260405163ffffffff84811660e060020a028252929092166004830152600160a060020a0316602482015260606044820152600b60648201527f2e2e6e616d65206d652e2e000000000000000000000000000000000000000000608482015260a401602060405180830381600087803b1515611dfc57600080fd5b6102c65a03f11515611e0d57600080fd5b50505060405180516060860152508451600160a060020a0316600080516020612115833981519152896000875188606001516040518085815260200184815260200183815260200182815260200194505050505060405180910390a2612043565b600084602001511115611f6557600654600160a060020a031691508163d339254560208601518660400151885160006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515611ef057600080fd5b6102c65a03f11515611f0157600080fd5b50505060405180516060860152508451600160a060020a0316600080516020612115833981519152896001876020015188606001516040518085815260200184815260200183815260200182815260200194505050505060405180910390a2612043565b6000846040015111156101a85750600754600160a060020a03168063a9059cbb8651866040015160006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611fd857600080fd5b6102c65a03f11515611fe957600080fd5b50505060405180515085905051600160a060020a0316600080516020612115833981519152896002600088604001516040518085815260200184815260200183815260200182815260200194505050505060405180910390a25b5050505050505050565b60c0604051908101604052806000600160a060020a0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b610100604051908101604090815260008083526020830181905290820152606081016120b7612102565b8152600060208201819052604082018190526060820181905260809091015290565b608060405190810160405280600081526020016000815260200160008152602001600081525090565b6020604051908101604052600081529056006149ca12dd2214b111395003fbe0292f95cb44225bc42332215b440c26edcd2aa165627a7a72305820826886f76af1a8b15fbff6837c322577330f1319208574e9b02efae09e1cb5070029

Swarm Source

bzzr://826886f76af1a8b15fbff6837c322577330f1319208574e9b02efae09e1cb507
Block Age Transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.