ETH Price: $2,084.24 (+6.81%)
Gas: 0.21 Gwei
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Gen Level Exp66945662018-11-13 3:26:542668 days ago1542079614IN
0xD602eF9d...FB890D01b
0 ETH0.0268381113
Add Moderator65805282018-10-25 11:16:202686 days ago1540466180IN
0xD602eF9d...FB890D01b
0 ETH0.000643413
Set Contract65805052018-10-25 11:10:332686 days ago1540465833IN
0xD602eF9d...FB890D01b
0 ETH0.0008473513

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EtheremonAdventureHandler

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-10-25
*/

pragma solidity ^0.4.23;

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

    constructor() 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
    }
}

contract EtheremonDataBase is EtheremonEnum {
    // read
    function getMonsterObj(uint64 _objId) constant public returns(uint64 objId, uint32 classId, address trainer, uint32 exp, uint32 createIndex, uint32 lastClaimIndex, uint createTime);
    function getElementInArrayType(ArrayType _type, uint64 _id, uint _index) constant public returns(uint8);

    // write
    function increaseMonsterExp(uint64 _objId, uint32 amount) public;
    function updateIndexOfArrayType(ArrayType _type, uint64 _id, uint _index, uint8 _value) public returns(uint);
    function addMonsterIdMapping(address _trainer, uint64 _monsterId) public;
    
}

interface EtheremonMonsterNFTInterface {
   function triggerTransferEvent(address _from, address _to, uint _tokenId) external;
}

contract EtheremonAdventureHandler is BasicAccessControl, EtheremonEnum {
    uint8 constant public STAT_MAX_VALUE = 32;
    uint8 constant public LEVEL_MAX_VALUE = 254;
    
    struct MonsterObjAcc {
        uint64 monsterId;
        uint32 classId;
        address trainer;
        string name;
        uint32 exp;
        uint32 createIndex;
        uint32 lastClaimIndex;
        uint createTime;
    }
    
    // address
    address public dataContract;
    address public monsterNFT;
    
    mapping(uint8 => uint32) public levelExps;
    uint public levelItemClass = 200;
    uint public expItemClass = 201;
    uint public rebornItemClass = 500;
    uint[] public rebornMonsterIds = [26359, 38315, 25480, 38313, 23402, 25241, 38307, 23473, 25236, 38472, 25445, 38430, 27113];
    
    function setContract(address _dataContract, address _monsterNFT) onlyModerators public {
        dataContract = _dataContract;
        monsterNFT = _monsterNFT;
    }
    
    function setConfig(uint _levelItemClass, uint _expItemClass, uint _rebornItemClass) onlyModerators public {
        levelItemClass = _levelItemClass;
        expItemClass = _expItemClass;
        rebornItemClass = _rebornItemClass;
    }
    
    function genLevelExp() onlyModerators external {
        uint8 level = 1;
        uint32 requirement = 100;
        uint32 sum = requirement;
        while(level <= 100) {
            levelExps[level] = sum;
            level += 1;
            requirement = (requirement * 11) / 10 + 5;
            sum += requirement;
        }
    }
    
    function handleSingleItem(address _sender, uint _classId, uint _value, uint _target, uint _param) onlyModerators public {
        // check ownership of _target
        EtheremonDataBase data = EtheremonDataBase(dataContract);
        MonsterObjAcc memory obj;
        if (_classId == rebornItemClass) {
            if (rebornMonsterIds.length == 0) revert();
            _param = getRandom(_sender, block.number-1) % rebornMonsterIds.length;
            _target = rebornMonsterIds[_param];
            
            // remove monsterId
            rebornMonsterIds[_param] = rebornMonsterIds[rebornMonsterIds.length-1];
            delete rebornMonsterIds[rebornMonsterIds.length-1];
            rebornMonsterIds.length--;

            // transfer target to sender 
            data.addMonsterIdMapping(_sender, uint64(_target));
            EtheremonMonsterNFTInterface(monsterNFT).triggerTransferEvent(address(0), _sender, uint64(_target));

            return;
        } 
        
        
        (obj.monsterId, obj.classId, obj.trainer, obj.exp, obj.createIndex, obj.lastClaimIndex, obj.createTime) = data.getMonsterObj(uint64(_target));
        if (obj.monsterId != _target || obj.trainer != _sender) revert();
        
        if (_classId == expItemClass) {
            // exp item
            data.increaseMonsterExp(obj.monsterId, uint32(_value));
        } else if (_classId == levelItemClass) {
            // level item
            uint8 currentLevel = getLevel(obj.exp);
            currentLevel += uint8(_value);
            if (levelExps[currentLevel-1] < obj.exp || currentLevel > LEVEL_MAX_VALUE)
                revert();
            data.increaseMonsterExp(obj.monsterId, levelExps[currentLevel-1] - obj.exp);
        } else {
            revert();
        }
    }
    
    function handleMultipleItems(address _sender, uint _classId1, uint _classId2, uint _classId3, uint _target, uint _param) onlyModerators public {
        EtheremonDataBase data = EtheremonDataBase(dataContract);
        MonsterObjAcc memory obj;
        (obj.monsterId, obj.classId, obj.trainer, obj.exp, obj.createIndex, obj.lastClaimIndex, obj.createTime) = data.getMonsterObj(uint64(_target));
        if (obj.monsterId != _target || obj.trainer != _sender) revert();
        
        
        uint index = 0;
        if (_classId1 == 300 && _classId2 == 301 && _classId3 == 302) {
            //health shards
            index = 0;
        } else if (_classId1 == 310 && _classId2 == 311 && _classId3 == 312) {
            // primary attack shards
            index = 1;
        } else if (_classId1 == 320 && _classId2 == 321 && _classId3 == 322) {
            // primary defense shards
            index = 2;
        } else if (_classId1 == 330 && _classId2 == 331 && _classId3 == 332) {
            // secondary attack shards
            index = 3;
        } else if (_classId1 == 340 && _classId2 == 341 && _classId3 == 342) {
            // secondary defense shards
            index = 4;
        } else if (_classId1 == 350 && _classId2 == 351 && _classId3 == 352) {
            // speed shards
            index = 5;
        }
        
        uint8 currentValue = data.getElementInArrayType(ArrayType.STAT_BASE, obj.monsterId, index);
        if (currentValue + 1 >= LEVEL_MAX_VALUE)
            revert();
        data.updateIndexOfArrayType(ArrayType.STAT_BASE, obj.monsterId, index, currentValue + 1);
    }
    
    // public method
    function getRandom(address _player, uint _block) view public returns(uint) {
        return uint(keccak256(abi.encodePacked(blockhash(_block), _player)));
    }
    
    function getLevel(uint32 exp) view public returns (uint8) {
        uint8 minIndex = 1;
        uint8 maxIndex = 100;
        uint8 currentIndex;
     
        while (minIndex < maxIndex) {
            currentIndex = (minIndex + maxIndex) / 2;
            if (exp < levelExps[currentIndex])
                maxIndex = currentIndex;
            else
                minIndex = currentIndex + 1;
        }

        return minIndex;
    }

}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"expItemClass","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":false,"inputs":[{"name":"_levelItemClass","type":"uint256"},{"name":"_expItemClass","type":"uint256"},{"name":"_rebornItemClass","type":"uint256"}],"name":"setConfig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"moderators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sender","type":"address"},{"name":"_classId","type":"uint256"},{"name":"_value","type":"uint256"},{"name":"_target","type":"uint256"},{"name":"_param","type":"uint256"}],"name":"handleSingleItem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rebornItemClass","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_dataContract","type":"address"},{"name":"_monsterNFT","type":"address"}],"name":"setContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"LEVEL_MAX_VALUE","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"genLevelExp","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_isMaintaining","type":"bool"}],"name":"UpdateMaintaining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalModerators","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sender","type":"address"},{"name":"_classId1","type":"uint256"},{"name":"_classId2","type":"uint256"},{"name":"_classId3","type":"uint256"},{"name":"_target","type":"uint256"},{"name":"_param","type":"uint256"}],"name":"handleMultipleItems","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"","type":"uint256"}],"name":"rebornMonsterIds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint8"}],"name":"levelExps","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_player","type":"address"},{"name":"_block","type":"uint256"}],"name":"getRandom","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"STAT_MAX_VALUE","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"exp","type":"uint32"}],"name":"getLevel","outputs":[{"name":"","type":"uint8"}],"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":"levelItemClass","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"}]

6000805460a060020a61ffff02191690556002805460ff1916905560c860055560c96006556101f46007556102206040526166f760809081526195ab60a05261638860c0526195a960e052615b6a61010052616299610120526195a361014052615bb161016052616294610180526196486101a0526163656101c05261961e6101e0526169e96102005261009790600890600d6100af565b5060008054600160a060020a0319163317905561011d565b8280548282559060005260206000209081019282156100f0579160200282015b828111156100f0578251829061ffff169055916020019190600101906100cf565b506100fc929150610100565b5090565b61011a91905b808211156100fc5760008155600101610106565b90565b6113198061012c6000396000f30060806040526004361061013d5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c9b016c81146101425780630d66881814610169578063129ee21a1461019a57806314d0f1ba146101ba5780631b44a5ef146101ef5780631c5996551461021c5780632bf6e0a514610231578063326a7d771461025857806333ced3211461028357806348ef5aa8146102985780634efb023e146102b25780635477e571146102de578063678a10131461030e5780636c81fd6d1461032357806375081fe71461034457806378b475a81461035c57806385df2a78146103905780638da5cb5b146103b4578063aec1ee7b146103c9578063b2cad9b7146103de578063b85d6275146103fc578063dd3210181461041d578063ee4e441614610432578063f285329214610447575b600080fd5b34801561014e57600080fd5b50610157610468565b60408051918252519081900360200190f35b34801561017557600080fd5b5061017e61046e565b60408051600160a060020a039092168252519081900360200190f35b3480156101a657600080fd5b506101b8600435602435604435610482565b005b3480156101c657600080fd5b506101db600160a060020a03600435166104c9565b604080519115158252519081900360200190f35b3480156101fb57600080fd5b506101b8600160a060020a03600435166024356044356064356084356104de565b34801561022857600080fd5b506101576109d0565b34801561023d57600080fd5b506101b8600160a060020a03600435811690602435166109d6565b34801561026457600080fd5b5061026d610a61565b6040805160ff9092168252519081900360200190f35b34801561028f57600080fd5b506101b8610a66565b3480156102a457600080fd5b506101b86004351515610b07565b3480156102be57600080fd5b506102c7610b31565b6040805161ffff9092168252519081900360200190f35b3480156102ea57600080fd5b506101b8600160a060020a036004351660243560443560643560843560a435610b53565b34801561031a57600080fd5b5061017e610f5e565b34801561032f57600080fd5b506101b8600160a060020a0360043516610f6d565b34801561035057600080fd5b50610157600435611013565b34801561036857600080fd5b5061037760ff60043516611032565b6040805163ffffffff9092168252519081900360200190f35b34801561039c57600080fd5b50610157600160a060020a036004351660243561104a565b3480156103c057600080fd5b5061017e6110eb565b3480156103d557600080fd5b5061026d6110fa565b3480156103ea57600080fd5b5061026d63ffffffff600435166110ff565b34801561040857600080fd5b506101b8600160a060020a0360043516611162565b34801561042957600080fd5b50610157611208565b34801561043e57600080fd5b506101db61120e565b34801561045357600080fd5b506101b8600160a060020a0360043516611217565b60065481565b6002546101009004600160a060020a031681565b600054600160a060020a03163314806104b057503360009081526001602081905260409091205460ff161515145b15156104bb57600080fd5b600592909255600655600755565b60016020526000908152604090205460ff1681565b60006104e861126a565b60008054600160a060020a031633148061051757503360009081526001602081905260409091205460ff161515145b151561052257600080fd5b600260019054906101000a9004600160a060020a0316925060075487141561071d57600854151561055257600080fd5b60085461056389600019430161104a565b81151561056c57fe5b06935060088481548110151561057e57fe5b600091825260209091200154600880549196509060001981019081106105a057fe5b90600052602060002001546008858154811015156105ba57fe5b6000918252602090912001556008805460001981019081106105d857fe5b600091825260208220015560088054906105f69060001983016112ad565b50604080517f9248019e000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015267ffffffffffffffff88166024830152915191851691639248019e9160448082019260009290919082900301818387803b15801561066b57600080fd5b505af115801561067f573d6000803e3d6000fd5b5050600354604080517fc463b008000000000000000000000000000000000000000000000000000000008152600060048201819052600160a060020a038e8116602484015267ffffffffffffffff8c166044840152925192909316945063c463b0089350606480820193929182900301818387803b15801561070057600080fd5b505af1158015610714573d6000803e3d6000fd5b505050506109c6565b604080517f0720246000000000000000000000000000000000000000000000000000000000815267ffffffffffffffff871660048201529051600160a060020a0385169163072024609160248083019260e09291908290030181600087803b15801561078857600080fd5b505af115801561079c573d6000803e3d6000fd5b505050506040513d60e08110156107b257600080fd5b508051602080830151604080850151606086015160808088015160a0808a015160c09a8b015160e08e015263ffffffff9081169a8d019a909a52908916908b015290871690890152600160a060020a031690870152929092169184019190915267ffffffffffffffff1680835285141580610843575087600160a060020a03168260400151600160a060020a031614155b1561084d57600080fd5b6006548714156108cf578151604080517f5643a71100000000000000000000000000000000000000000000000000000000815267ffffffffffffffff909216600483015263ffffffff8816602483015251600160a060020a03851691635643a71191604480830192600092919082900301818387803b15801561070057600080fd5b60055487141561013d576108e682608001516110ff565b6080830151908701600019810160ff1660009081526004602052604090205490925063ffffffff91821691161080610921575060fe60ff8216115b1561092b57600080fd5b8151608083015160ff60001984011660009081526004602081905260408083205481517f5643a71100000000000000000000000000000000000000000000000000000000815267ffffffffffffffff9096169286019290925263ffffffff918216939093031660248401529051600160a060020a03861692635643a71192604480830193919282900301818387803b15801561070057600080fd5b5050505050505050565b60075481565b600054600160a060020a0316331480610a0457503360009081526001602081905260409091205460ff161515145b1515610a0f57600080fd5b6002805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a03948516021790556003805473ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60fe81565b6000805481908190600160a060020a0316331480610a9957503360009081526001602081905260409091205460ff161515145b1515610aa457600080fd5b506001915060649050805b606460ff841611610b025760ff83166000908152600460205260409020805463ffffffff191663ffffffff83811691909117909155600190930192600a90600b8402160460050191508181019050610aaf565b505050565b600054600160a060020a03163314610b1e57600080fd5b6002805460ff1916911515919091179055565b60005474010000000000000000000000000000000000000000900461ffff1681565b6000610b5d61126a565b600080548190600160a060020a0316331480610b8e57503360009081526001602081905260409091205460ff161515145b1515610b9957600080fd5b600254604080517f0720246000000000000000000000000000000000000000000000000000000000815267ffffffffffffffff891660048201529051610100909204600160a060020a03169550859163072024609160248082019260e0929091908290030181600087803b158015610c1057600080fd5b505af1158015610c24573d6000803e3d6000fd5b505050506040513d60e0811015610c3a57600080fd5b508051602080830151604080850151606086015160808088015160a0808a015160c09a8b015160e08f015263ffffffff9081169a8e019a909a52908916908c0152908716908a0152600160a060020a031690880152929092169185019190915267ffffffffffffffff1680845286141580610ccb575089600160a060020a03168360400151600160a060020a031614155b15610cd557600080fd5b600091508861012c148015610ceb57508761012d145b8015610cf857508661012e145b15610d065760009150610de3565b88610136148015610d18575087610137145b8015610d25575086610138145b15610d335760019150610de3565b88610140148015610d45575087610141145b8015610d52575086610142145b15610d605760029150610de3565b8861014a148015610d7257508761014b145b8015610d7f57508661014c145b15610d8d5760039150610de3565b88610154148015610d9f575087610155145b8015610dac575086610156145b15610dba5760049150610de3565b8861015e148015610dcc57508761015f145b8015610dd9575086610160145b15610de357600591505b8251604080517f62b21ad70000000000000000000000000000000000000000000000000000000081526003600482015267ffffffffffffffff90921660248301526044820184905251600160a060020a038616916362b21ad79160648083019260209291908290030181600087803b158015610e5e57600080fd5b505af1158015610e72573d6000803e3d6000fd5b505050506040513d6020811015610e8857600080fd5b5051905060fe6001820160ff1610610e9f57600080fd5b8251604080517f321d2a4f0000000000000000000000000000000000000000000000000000000081526003600482015267ffffffffffffffff90921660248301526044820184905260ff6001840116606483015251600160a060020a0386169163321d2a4f9160848083019260209291908290030181600087803b158015610f2657600080fd5b505af1158015610f3a573d6000803e3d6000fd5b505050506040513d6020811015610f5057600080fd5b505050505050505050505050565b600354600160a060020a031681565b600054600160a060020a03163314610f8457600080fd5b600160a060020a03811660009081526001602052604090205460ff16151561101057600160a060020a03811660009081526001602081905260408220805460ff191682179055815461ffff7401000000000000000000000000000000000000000080830482169093011690910275ffff0000000000000000000000000000000000000000199091161790555b50565b600880548290811061102157fe5b600091825260209091200154905081565b60046020526000908152604090205463ffffffff1681565b6040805182406020808301919091526c01000000000000000000000000600160a060020a0386160282840152825160348184030181526054909201928390528151600093918291908401908083835b602083106110b85780518252601f199092019160209182019101611099565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209695505050505050565b600054600160a060020a031681565b602081565b600060016064825b8160ff168360ff16101561115957600260ff848401160460ff811660009081526004602052604090205490915063ffffffff908116908616101561114d57809150611154565b8060010192505b611107565b50909392505050565b600054600160a060020a0316331461117957600080fd5b600160a060020a03811660009081526001602081905260409091205460ff161515141561101057600160a060020a03166000908152600160205260408120805460ff19169055805475ffff0000000000000000000000000000000000000000198116740100000000000000000000000000000000000000009182900461ffff9081166000190116909102179055565b60055481565b60025460ff1681565b600054600160a060020a0316331461122e57600080fd5b600160a060020a038116156110105760008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b60408051610100810182526000808252602082018190529181018290526060808201526080810182905260a0810182905260c0810182905260e081019190915290565b815481835581811115610b0257600083815260209020610b029181019083016112ea91905b808211156112e657600081556001016112d2565b5090565b905600a165627a7a72305820f2d7721fd252354c73fb8c49bdd57ee68b178dc046c8abbfd8fcf9c2f3820ba70029

Deployed Bytecode

0x60806040526004361061013d5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c9b016c81146101425780630d66881814610169578063129ee21a1461019a57806314d0f1ba146101ba5780631b44a5ef146101ef5780631c5996551461021c5780632bf6e0a514610231578063326a7d771461025857806333ced3211461028357806348ef5aa8146102985780634efb023e146102b25780635477e571146102de578063678a10131461030e5780636c81fd6d1461032357806375081fe71461034457806378b475a81461035c57806385df2a78146103905780638da5cb5b146103b4578063aec1ee7b146103c9578063b2cad9b7146103de578063b85d6275146103fc578063dd3210181461041d578063ee4e441614610432578063f285329214610447575b600080fd5b34801561014e57600080fd5b50610157610468565b60408051918252519081900360200190f35b34801561017557600080fd5b5061017e61046e565b60408051600160a060020a039092168252519081900360200190f35b3480156101a657600080fd5b506101b8600435602435604435610482565b005b3480156101c657600080fd5b506101db600160a060020a03600435166104c9565b604080519115158252519081900360200190f35b3480156101fb57600080fd5b506101b8600160a060020a03600435166024356044356064356084356104de565b34801561022857600080fd5b506101576109d0565b34801561023d57600080fd5b506101b8600160a060020a03600435811690602435166109d6565b34801561026457600080fd5b5061026d610a61565b6040805160ff9092168252519081900360200190f35b34801561028f57600080fd5b506101b8610a66565b3480156102a457600080fd5b506101b86004351515610b07565b3480156102be57600080fd5b506102c7610b31565b6040805161ffff9092168252519081900360200190f35b3480156102ea57600080fd5b506101b8600160a060020a036004351660243560443560643560843560a435610b53565b34801561031a57600080fd5b5061017e610f5e565b34801561032f57600080fd5b506101b8600160a060020a0360043516610f6d565b34801561035057600080fd5b50610157600435611013565b34801561036857600080fd5b5061037760ff60043516611032565b6040805163ffffffff9092168252519081900360200190f35b34801561039c57600080fd5b50610157600160a060020a036004351660243561104a565b3480156103c057600080fd5b5061017e6110eb565b3480156103d557600080fd5b5061026d6110fa565b3480156103ea57600080fd5b5061026d63ffffffff600435166110ff565b34801561040857600080fd5b506101b8600160a060020a0360043516611162565b34801561042957600080fd5b50610157611208565b34801561043e57600080fd5b506101db61120e565b34801561045357600080fd5b506101b8600160a060020a0360043516611217565b60065481565b6002546101009004600160a060020a031681565b600054600160a060020a03163314806104b057503360009081526001602081905260409091205460ff161515145b15156104bb57600080fd5b600592909255600655600755565b60016020526000908152604090205460ff1681565b60006104e861126a565b60008054600160a060020a031633148061051757503360009081526001602081905260409091205460ff161515145b151561052257600080fd5b600260019054906101000a9004600160a060020a0316925060075487141561071d57600854151561055257600080fd5b60085461056389600019430161104a565b81151561056c57fe5b06935060088481548110151561057e57fe5b600091825260209091200154600880549196509060001981019081106105a057fe5b90600052602060002001546008858154811015156105ba57fe5b6000918252602090912001556008805460001981019081106105d857fe5b600091825260208220015560088054906105f69060001983016112ad565b50604080517f9248019e000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015267ffffffffffffffff88166024830152915191851691639248019e9160448082019260009290919082900301818387803b15801561066b57600080fd5b505af115801561067f573d6000803e3d6000fd5b5050600354604080517fc463b008000000000000000000000000000000000000000000000000000000008152600060048201819052600160a060020a038e8116602484015267ffffffffffffffff8c166044840152925192909316945063c463b0089350606480820193929182900301818387803b15801561070057600080fd5b505af1158015610714573d6000803e3d6000fd5b505050506109c6565b604080517f0720246000000000000000000000000000000000000000000000000000000000815267ffffffffffffffff871660048201529051600160a060020a0385169163072024609160248083019260e09291908290030181600087803b15801561078857600080fd5b505af115801561079c573d6000803e3d6000fd5b505050506040513d60e08110156107b257600080fd5b508051602080830151604080850151606086015160808088015160a0808a015160c09a8b015160e08e015263ffffffff9081169a8d019a909a52908916908b015290871690890152600160a060020a031690870152929092169184019190915267ffffffffffffffff1680835285141580610843575087600160a060020a03168260400151600160a060020a031614155b1561084d57600080fd5b6006548714156108cf578151604080517f5643a71100000000000000000000000000000000000000000000000000000000815267ffffffffffffffff909216600483015263ffffffff8816602483015251600160a060020a03851691635643a71191604480830192600092919082900301818387803b15801561070057600080fd5b60055487141561013d576108e682608001516110ff565b6080830151908701600019810160ff1660009081526004602052604090205490925063ffffffff91821691161080610921575060fe60ff8216115b1561092b57600080fd5b8151608083015160ff60001984011660009081526004602081905260408083205481517f5643a71100000000000000000000000000000000000000000000000000000000815267ffffffffffffffff9096169286019290925263ffffffff918216939093031660248401529051600160a060020a03861692635643a71192604480830193919282900301818387803b15801561070057600080fd5b5050505050505050565b60075481565b600054600160a060020a0316331480610a0457503360009081526001602081905260409091205460ff161515145b1515610a0f57600080fd5b6002805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a03948516021790556003805473ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60fe81565b6000805481908190600160a060020a0316331480610a9957503360009081526001602081905260409091205460ff161515145b1515610aa457600080fd5b506001915060649050805b606460ff841611610b025760ff83166000908152600460205260409020805463ffffffff191663ffffffff83811691909117909155600190930192600a90600b8402160460050191508181019050610aaf565b505050565b600054600160a060020a03163314610b1e57600080fd5b6002805460ff1916911515919091179055565b60005474010000000000000000000000000000000000000000900461ffff1681565b6000610b5d61126a565b600080548190600160a060020a0316331480610b8e57503360009081526001602081905260409091205460ff161515145b1515610b9957600080fd5b600254604080517f0720246000000000000000000000000000000000000000000000000000000000815267ffffffffffffffff891660048201529051610100909204600160a060020a03169550859163072024609160248082019260e0929091908290030181600087803b158015610c1057600080fd5b505af1158015610c24573d6000803e3d6000fd5b505050506040513d60e0811015610c3a57600080fd5b508051602080830151604080850151606086015160808088015160a0808a015160c09a8b015160e08f015263ffffffff9081169a8e019a909a52908916908c0152908716908a0152600160a060020a031690880152929092169185019190915267ffffffffffffffff1680845286141580610ccb575089600160a060020a03168360400151600160a060020a031614155b15610cd557600080fd5b600091508861012c148015610ceb57508761012d145b8015610cf857508661012e145b15610d065760009150610de3565b88610136148015610d18575087610137145b8015610d25575086610138145b15610d335760019150610de3565b88610140148015610d45575087610141145b8015610d52575086610142145b15610d605760029150610de3565b8861014a148015610d7257508761014b145b8015610d7f57508661014c145b15610d8d5760039150610de3565b88610154148015610d9f575087610155145b8015610dac575086610156145b15610dba5760049150610de3565b8861015e148015610dcc57508761015f145b8015610dd9575086610160145b15610de357600591505b8251604080517f62b21ad70000000000000000000000000000000000000000000000000000000081526003600482015267ffffffffffffffff90921660248301526044820184905251600160a060020a038616916362b21ad79160648083019260209291908290030181600087803b158015610e5e57600080fd5b505af1158015610e72573d6000803e3d6000fd5b505050506040513d6020811015610e8857600080fd5b5051905060fe6001820160ff1610610e9f57600080fd5b8251604080517f321d2a4f0000000000000000000000000000000000000000000000000000000081526003600482015267ffffffffffffffff90921660248301526044820184905260ff6001840116606483015251600160a060020a0386169163321d2a4f9160848083019260209291908290030181600087803b158015610f2657600080fd5b505af1158015610f3a573d6000803e3d6000fd5b505050506040513d6020811015610f5057600080fd5b505050505050505050505050565b600354600160a060020a031681565b600054600160a060020a03163314610f8457600080fd5b600160a060020a03811660009081526001602052604090205460ff16151561101057600160a060020a03811660009081526001602081905260408220805460ff191682179055815461ffff7401000000000000000000000000000000000000000080830482169093011690910275ffff0000000000000000000000000000000000000000199091161790555b50565b600880548290811061102157fe5b600091825260209091200154905081565b60046020526000908152604090205463ffffffff1681565b6040805182406020808301919091526c01000000000000000000000000600160a060020a0386160282840152825160348184030181526054909201928390528151600093918291908401908083835b602083106110b85780518252601f199092019160209182019101611099565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209695505050505050565b600054600160a060020a031681565b602081565b600060016064825b8160ff168360ff16101561115957600260ff848401160460ff811660009081526004602052604090205490915063ffffffff908116908616101561114d57809150611154565b8060010192505b611107565b50909392505050565b600054600160a060020a0316331461117957600080fd5b600160a060020a03811660009081526001602081905260409091205460ff161515141561101057600160a060020a03166000908152600160205260408120805460ff19169055805475ffff0000000000000000000000000000000000000000198116740100000000000000000000000000000000000000009182900461ffff9081166000190116909102179055565b60055481565b60025460ff1681565b600054600160a060020a0316331461122e57600080fd5b600160a060020a038116156110105760008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b60408051610100810182526000808252602082018190529181018290526060808201526080810182905260a0810182905260c0810182905260e081019190915290565b815481835581811115610b0257600083815260209020610b029181019083016112ea91905b808211156112e657600081556001016112d2565b5090565b905600a165627a7a72305820f2d7721fd252354c73fb8c49bdd57ee68b178dc046c8abbfd8fcf9c2f3820ba70029

Swarm Source

bzzr://f2d7721fd252354c73fb8c49bdd57ee68b178dc046c8abbfd8fcf9c2f3820ba7

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.