ETH Price: $3,337.09 (-3.69%)
Gas: 3 Gwei

Contract

0xBfdE6246Df72d3ca86419628CaC46a9d2B60393C
 
Transaction Hash
Method
Block
From
To
Set Approval For...201524412024-06-23 5:54:1131 days ago1719122051IN
Etheremon: Adventure Token
0 ETH0.00010552.26880708
Set Approval For...193055002024-02-25 15:29:35150 days ago1708874975IN
Etheremon: Adventure Token
0 ETH0.0016085234.58886043
Set Approval For...190945742024-01-27 1:13:59179 days ago1706318039IN
Etheremon: Adventure Token
0 ETH0.0005462111.7455769
Set Approval For...190786522024-01-24 19:42:59182 days ago1706125379IN
Etheremon: Adventure Token
0 ETH0.0005155211.0857079
Safe Transfer Fr...187415922023-12-08 12:38:35229 days ago1702039115IN
Etheremon: Adventure Token
0 ETH0.0037918939.92902051
Set Approval For...179691312023-08-22 8:42:23337 days ago1692693743IN
Etheremon: Adventure Token
0 ETH0.000500820.29519211
Set Approval For...179691302023-08-22 8:42:11337 days ago1692693731IN
Etheremon: Adventure Token
0 ETH0.0004688419
Set Approval For...177743812023-07-26 2:49:35364 days ago1690339775IN
Etheremon: Adventure Token
0 ETH0.0010319522.19063667
Transfer From177315522023-07-20 2:58:59370 days ago1689821939IN
Etheremon: Adventure Token
0 ETH0.0017704516.64339031
Set Approval For...176600982023-07-10 1:47:11380 days ago1688953631IN
Etheremon: Adventure Token
0 ETH0.0004348716.3462644
Set Approval For...176600982023-07-10 1:47:11380 days ago1688953631IN
Etheremon: Adventure Token
0 ETH0.0007601616.3462644
Set Approval For...176013222023-07-01 19:37:11389 days ago1688240231IN
Etheremon: Adventure Token
0 ETH0.0003414813.83886853
Set Approval For...174927672023-06-16 13:42:59404 days ago1686922979IN
Etheremon: Adventure Token
0 ETH0.0008841619.01274404
Set Approval For...174871762023-06-15 18:52:47405 days ago1686855167IN
Etheremon: Adventure Token
0 ETH0.0007822416.82094946
Set Approval For...170097542023-04-09 9:06:47472 days ago1681031207IN
Etheremon: Adventure Token
0 ETH0.000597924.23002353
Set Approval For...169941552023-04-07 4:06:11474 days ago1680840371IN
Etheremon: Adventure Token
0 ETH0.0008612218.51935004
Safe Transfer Fr...169262342023-03-28 13:49:35484 days ago1680011375IN
Etheremon: Adventure Token
0 ETH0.0034229.26436588
Set Approval For...169191912023-03-27 14:03:59485 days ago1679925839IN
Etheremon: Adventure Token
0 ETH0.0016041834.49573514
Transfer From168524392023-03-18 5:03:11494 days ago1679115791IN
Etheremon: Adventure Token
0 ETH0.0019100415.4314403
Set Approval For...167553812023-03-04 13:29:59508 days ago1677936599IN
Etheremon: Adventure Token
0 ETH0.0012080225.97678944
Set Approval For...167451692023-03-03 3:00:35509 days ago1677812435IN
Etheremon: Adventure Token
0 ETH0.001407530.26627263
Set Approval For...167401452023-03-02 9:59:11510 days ago1677751151IN
Etheremon: Adventure Token
0 ETH0.0008468918.21113947
Set Approval For...167384442023-03-02 4:14:47510 days ago1677730487IN
Etheremon: Adventure Token
0 ETH0.0010044121.59843094
Set Approval For...165585012023-02-04 22:48:11536 days ago1675550891IN
Etheremon: Adventure Token
0 ETH0.0009605620.65559394
Set Approval For...165545192023-02-04 9:26:59536 days ago1675502819IN
Etheremon: Adventure Token
0 ETH0.0004505518.25893703
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EtheremonAdventureItem

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-08-02
*/

pragma solidity ^0.4.23;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
    if (a == 0) {
      return 0;
    }
    c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    // uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return a / b;
  }

  /**
  * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
    c = a + b;
    assert(c >= a);
    return c;
  }
}

/**
 * Utility library of inline functions on addresses
 */
library AddressUtils {

  /**
   * Returns whether the target address is a contract
   * @dev This function will return false if invoked during the constructor of a contract,
   *  as the code is not actually created until after the constructor finishes.
   * @param addr address to check
   * @return whether the target address is a contract
   */
  function isContract(address addr) internal view returns (bool) {
    uint256 size;
    // XXX Currently there is no better way to check if there is a contract in an address
    // than to check the size of the code at that address.
    // See https://ethereum.stackexchange.com/a/14016/36603
    // for more details about how this works.
    // TODO Check this again before the Serenity release, because all addresses will be
    // contracts then.
    // solium-disable-next-line security/no-inline-assembly
    assembly { size := extcodesize(addr) }
    return size > 0;
  }

}

interface ERC165 {
    function supportsInterface(bytes4 _interfaceID) external view returns (bool);
}

contract SupportsInterface is ERC165 {
    
    mapping(bytes4 => bool) internal supportedInterfaces;

    constructor() public {
        supportedInterfaces[0x01ffc9a7] = true; // ERC165
    }

    function supportsInterface(bytes4 _interfaceID) external view returns (bool) {
        return supportedInterfaces[_interfaceID];
    }
}

interface ERC721 {
    event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
    event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
    event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
    
    function balanceOf(address _owner) external view returns (uint256);
    function ownerOf(uint256 _tokenId) external view returns (address);
    function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes _data) external;
    function safeTransferFrom(address _from, address _to, uint256 _tokenId) external;
    
    function transferFrom(address _from, address _to, uint256 _tokenId) external;
    function transfer(address _to, uint256 _tokenId) external;
    function approve(address _approved, uint256 _tokenId) external;
    function setApprovalForAll(address _operator, bool _approved) external;
    
    function getApproved(uint256 _tokenId) external view returns (address);
    function isApprovedForAll(address _owner, address _operator) external view returns (bool);
}

interface ERC721Enumerable {
    function totalSupply() external view returns (uint256);
    function tokenByIndex(uint256 _index) external view returns (uint256);
    function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256);
}

interface ERC721Metadata {
    function name() external view returns (string _name);
    function symbol() external view returns (string _symbol);
    function tokenURI(uint256 _tokenId) external view returns (string);
}

interface ERC721TokenReceiver {
  function onERC721Received(address _operator, address _from, uint256 _tokenId, bytes _data) external returns(bytes4);
}

contract NFToken is ERC721, SupportsInterface {

    using SafeMath for uint256;
    using AddressUtils for address;
    
    // A mapping from NFT ID to the address that owns it.
    mapping (uint256 => address) internal idToOwner;
    
    // Mapping from NFT ID to approved address.
    mapping (uint256 => address) internal idToApprovals;
    
    // Mapping from owner address to count of his tokens.
    mapping (address => uint256) internal ownerToNFTokenCount;
    
    // Mapping from owner address to mapping of operator addresses.
    mapping (address => mapping (address => bool)) internal ownerToOperators;
    
    /**
    * @dev Magic value of a smart contract that can recieve NFT.
    * Equal to: bytes4(keccak256("onERC721Received(address,address,uint256,bytes)")).
    */
    bytes4 constant MAGIC_ON_ERC721_RECEIVED = 0x150b7a02;

    event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
    event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
    event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);

    modifier canOperate(uint256 _tokenId) {
        address tokenOwner = idToOwner[_tokenId];
        require(tokenOwner == msg.sender || ownerToOperators[tokenOwner][msg.sender]);
        _;
    }


    modifier canTransfer(uint256 _tokenId) {
        address tokenOwner = idToOwner[_tokenId];
        require(tokenOwner == msg.sender || getApproved(_tokenId) == msg.sender || ownerToOperators[tokenOwner][msg.sender]);
        _;
    }

    modifier validNFToken(uint256 _tokenId) {
        require(idToOwner[_tokenId] != address(0));
        _;
    }

    constructor() public {
        supportedInterfaces[0x80ac58cd] = true; // ERC721
    }


    function balanceOf(address _owner) external view returns (uint256) {
        require(_owner != address(0));
        return ownerToNFTokenCount[_owner];
    }

    function ownerOf(uint256 _tokenId) external view returns (address _owner) {
        _owner = idToOwner[_tokenId];
        require(_owner != address(0));
    }


    function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes _data) external {
        _safeTransferFrom(_from, _to, _tokenId, _data);
    }

    function safeTransferFrom(address _from, address _to, uint256 _tokenId) external {
        _safeTransferFrom(_from, _to, _tokenId, "");
    }

    function transferFrom(address _from, address _to, uint256 _tokenId) external canTransfer(_tokenId) validNFToken(_tokenId) {
        address tokenOwner = idToOwner[_tokenId];
        require(tokenOwner == _from);
        require(_to != address(0));
        _transfer(_to, _tokenId);
    }
    
    function transfer(address _to, uint256 _tokenId) external canTransfer(_tokenId) validNFToken(_tokenId) {
        address tokenOwner = idToOwner[_tokenId];
        require(tokenOwner == msg.sender);
        require(_to != address(0));
        _transfer(_to, _tokenId);
    }

    function approve(address _approved, uint256 _tokenId) external canOperate(_tokenId) validNFToken(_tokenId) {
        address tokenOwner = idToOwner[_tokenId];
        require(_approved != tokenOwner);

        idToApprovals[_tokenId] = _approved;
        emit Approval(tokenOwner, _approved, _tokenId);
    }

    function setApprovalForAll(address _operator, bool _approved) external {
        require(_operator != address(0));
        ownerToOperators[msg.sender][_operator] = _approved;
        emit ApprovalForAll(msg.sender, _operator, _approved);
    }

    function getApproved(uint256 _tokenId) public view validNFToken(_tokenId) returns (address) {
        return idToApprovals[_tokenId];
    }

    function isApprovedForAll(address _owner, address _operator) external view returns (bool) {
        require(_owner != address(0));
        require(_operator != address(0));
        return ownerToOperators[_owner][_operator];
    }

    function _safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes _data) internal canTransfer(_tokenId) validNFToken(_tokenId) {
        address tokenOwner = idToOwner[_tokenId];
        require(tokenOwner == _from);
        require(_to != address(0));

        _transfer(_to, _tokenId);

        if (_to.isContract()) {
            bytes4 retval = ERC721TokenReceiver(_to).onERC721Received(msg.sender, _from, _tokenId, _data);
            require(retval == MAGIC_ON_ERC721_RECEIVED);
        }
    }

    function _transfer(address _to, uint256 _tokenId) private {
        address from = idToOwner[_tokenId];
        clearApproval(_tokenId);
        removeNFToken(from, _tokenId);
        addNFToken(_to, _tokenId);
        emit Transfer(from, _to, _tokenId);
    }
   

    function _mint(address _to, uint256 _tokenId) internal {
        require(_to != address(0));
        require(_tokenId != 0);
        require(idToOwner[_tokenId] == address(0));

        addNFToken(_to, _tokenId);

        emit Transfer(address(0), _to, _tokenId);
    }

    function _burn(address _owner, uint256 _tokenId) validNFToken(_tokenId) internal { 
        clearApproval(_tokenId);
        removeNFToken(_owner, _tokenId);
        emit Transfer(_owner, address(0), _tokenId);
    }

    function clearApproval(uint256 _tokenId) private {
        if(idToApprovals[_tokenId] != 0) {
            delete idToApprovals[_tokenId];
        }
    }

    function removeNFToken(address _from, uint256 _tokenId) internal {
        require(idToOwner[_tokenId] == _from);
        assert(ownerToNFTokenCount[_from] > 0);
        ownerToNFTokenCount[_from] = ownerToNFTokenCount[_from] - 1;
        delete idToOwner[_tokenId];
    }

    function addNFToken(address _to, uint256 _tokenId) internal {
        require(idToOwner[_tokenId] == address(0));

        idToOwner[_tokenId] = _to;
        ownerToNFTokenCount[_to] = ownerToNFTokenCount[_to].add(1);
    }
}


contract NFTokenEnumerable is NFToken, ERC721Enumerable {

    // Array of all NFT IDs.
    uint256[] internal tokens;

    // Mapping from token ID its index in global tokens array.
    mapping(uint256 => uint256) internal idToIndex;

    // Mapping from owner to list of owned NFT IDs.
    mapping(address => uint256[]) internal ownerToIds;

    // Mapping from NFT ID to its index in the owner tokens list.
    mapping(uint256 => uint256) internal idToOwnerIndex;

    constructor() public {
        supportedInterfaces[0x780e9d63] = true; // ERC721Enumerable
    }

    function _mint(address _to, uint256 _tokenId) internal {
        super._mint(_to, _tokenId);
        uint256 length = tokens.push(_tokenId);
        idToIndex[_tokenId] = length - 1;
    }

    function _burn(address _owner, uint256 _tokenId) internal {
        super._burn(_owner, _tokenId);
        assert(tokens.length > 0);

        uint256 tokenIndex = idToIndex[_tokenId];
        // Sanity check. This could be removed in the future.
        assert(tokens[tokenIndex] == _tokenId);
        uint256 lastTokenIndex = tokens.length - 1;
        uint256 lastToken = tokens[lastTokenIndex];

        tokens[tokenIndex] = lastToken;

        tokens.length--;
        // Consider adding a conditional check for the last token in order to save GAS.
        idToIndex[lastToken] = tokenIndex;
        idToIndex[_tokenId] = 0;
    }

    function removeNFToken(address _from, uint256 _tokenId) internal
    {
        super.removeNFToken(_from, _tokenId);
        assert(ownerToIds[_from].length > 0);

        uint256 tokenToRemoveIndex = idToOwnerIndex[_tokenId];
        uint256 lastTokenIndex = ownerToIds[_from].length - 1;
        uint256 lastToken = ownerToIds[_from][lastTokenIndex];

        ownerToIds[_from][tokenToRemoveIndex] = lastToken;

        ownerToIds[_from].length--;
        // Consider adding a conditional check for the last token in order to save GAS.
        idToOwnerIndex[lastToken] = tokenToRemoveIndex;
        idToOwnerIndex[_tokenId] = 0;
    }

    function addNFToken(address _to, uint256 _tokenId) internal {
        super.addNFToken(_to, _tokenId);

        uint256 length = ownerToIds[_to].push(_tokenId);
        idToOwnerIndex[_tokenId] = length - 1;
    }

    function totalSupply() external view returns (uint256) {
        return tokens.length;
    }

    function tokenByIndex(uint256 _index) external view returns (uint256) {
        require(_index < tokens.length);
        // Sanity check. This could be removed in the future.
        assert(idToIndex[tokens[_index]] == _index);
        return tokens[_index];
    }

    function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256) {
        require(_index < ownerToIds[_owner].length);
        return ownerToIds[_owner][_index];
    }

}

contract NFTStandard is NFTokenEnumerable, ERC721Metadata {
    string internal nftName;
    string internal nftSymbol;
    
    mapping (uint256 => string) internal idToUri;
    
    constructor(string _name, string _symbol) public {
        nftName = _name;
        nftSymbol = _symbol;
        supportedInterfaces[0x5b5e139f] = true; // ERC721Metadata
    }
    
    function _burn(address _owner, uint256 _tokenId) internal {
        super._burn(_owner, _tokenId);
        if (bytes(idToUri[_tokenId]).length != 0) {
        delete idToUri[_tokenId];
        }
    }
    
    function _setTokenUri(uint256 _tokenId, string _uri) validNFToken(_tokenId) internal {
        idToUri[_tokenId] = _uri;
    }
    
    function name() external view returns (string _name) {
        _name = nftName;
    }
    
    function symbol() external view returns (string _symbol) {
        _symbol = nftSymbol;
    }
    
    function tokenURI(uint256 _tokenId) validNFToken(_tokenId) external view returns (string) {
        return idToUri[_tokenId];
    }
}

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;
    }
}

interface EtheremonAdventureHandler {
    function handleSingleItem(address _sender, uint _classId, uint _value, uint _target, uint _param) external;
    function handleMultipleItems(address _sender, uint _classId1, uint _classId2, uint _classId3, uint _target, uint _param) external;
}

contract EtheremonAdventureItem is NFTStandard("EtheremonAdventure", "EMOND"), BasicAccessControl {
    uint constant public MAX_OWNER_PERS_SITE = 10;
    uint constant public MAX_SITE_ID = 108;
    uint constant public MAX_SITE_TOKEN_ID = 1080;
    
    // smartcontract
    address public adventureHandler;
    
    // class sites: 1 -> 108
    // shard: 109 - 126
    // level, exp
    struct Item {
        uint classId;
        uint value;
    }
    
    uint public totalItem = MAX_SITE_TOKEN_ID;
    mapping (uint => Item) public items; // token id => info
    
    modifier requireAdventureHandler {
        require(adventureHandler != address(0));
        _;        
    }
    
    function setAdventureHandler(address _adventureHandler) onlyModerators external {
        adventureHandler = _adventureHandler;
    }
    
    function setTokenURI(uint256 _tokenId, string _uri) onlyModerators external {
        _setTokenUri(_tokenId, _uri);
    }
    
    function spawnSite(uint _classId, uint _tokenId, address _owner) onlyModerators external {
        if (_owner == address(0)) revert();
        if (_classId > MAX_SITE_ID || _classId == 0 || _tokenId > MAX_SITE_TOKEN_ID || _tokenId == 0) revert();
        
        Item storage item = items[_tokenId];
        if (item.classId != 0) revert(); // token existed
        item.classId = _classId;
        
        _mint(_owner, _tokenId);
    }
    
    function spawnItem(uint _classId, uint _value, address _owner) onlyModerators external returns(uint) {
        if (_owner == address(0)) revert();
        if (_classId <= MAX_SITE_ID) revert();
        
        totalItem += 1;
        Item storage item = items[totalItem];
        item.classId = _classId;
        item.value = _value;
        
        _mint(_owner, totalItem);
        return totalItem;
    }
    
    
    // public write 
    function useSingleItem(uint _tokenId, uint _target, uint _param) isActive requireAdventureHandler public {
        // check ownership
        if (_tokenId == 0 || idToOwner[_tokenId] != msg.sender) revert();
        Item storage item = items[_tokenId];
        
        EtheremonAdventureHandler handler = EtheremonAdventureHandler(adventureHandler);
        handler.handleSingleItem(msg.sender, item.classId, item.value, _target, _param);
        
        _burn(msg.sender, _tokenId);
    }
    
    function useMultipleItem(uint _token1, uint _token2, uint _token3, uint _target, uint _param) isActive requireAdventureHandler public {
        if (_token1 > 0 && idToOwner[_token1] != msg.sender) revert();
        if (_token2 > 0 && idToOwner[_token2] != msg.sender) revert();
        if (_token3 > 0 && idToOwner[_token3] != msg.sender) revert();
        
        Item storage item1 = items[_token1];
        Item storage item2 = items[_token2];
        Item storage item3 = items[_token3];
        
        EtheremonAdventureHandler handler = EtheremonAdventureHandler(adventureHandler);
        handler.handleMultipleItems(msg.sender, item1.classId, item2.classId, item3.classId, _target, _param);
        
        if (_token1 > 0) _burn(msg.sender, _token1);
        if (_token2 > 0) _burn(msg.sender, _token2);
        if (_token3 > 0) _burn(msg.sender, _token3);
    }
    
    
    // public read 
    function getItemInfo(uint _tokenId) constant public returns(uint classId, uint value) {
        Item storage item = items[_tokenId];
        classId = item.classId;
        value = item.value;
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"_interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_SITE_TOKEN_ID","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"_name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_approved","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_adventureHandler","type":"address"}],"name":"setAdventureHandler","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":"_tokenId","type":"uint256"},{"name":"_uri","type":"string"}],"name":"setTokenURI","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_SITE_ID","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_target","type":"uint256"},{"name":"_param","type":"uint256"}],"name":"useSingleItem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"safeTransferFrom","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":true,"inputs":[{"name":"_index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"_owner","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":"MAX_OWNER_PERS_SITE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","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":"symbol","outputs":[{"name":"_symbol","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_operator","type":"address"},{"name":"_approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"adventureHandler","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_oldModerator","type":"address"}],"name":"RemoveModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token1","type":"uint256"},{"name":"_token2","type":"uint256"},{"name":"_token3","type":"uint256"},{"name":"_target","type":"uint256"},{"name":"_param","type":"uint256"}],"name":"useMultipleItem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalItem","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"items","outputs":[{"name":"classId","type":"uint256"},{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_classId","type":"uint256"},{"name":"_value","type":"uint256"},{"name":"_owner","type":"address"}],"name":"spawnItem","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getItemInfo","outputs":[{"name":"classId","type":"uint256"},{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_classId","type":"uint256"},{"name":"_tokenId","type":"uint256"},{"name":"_owner","type":"address"}],"name":"spawnSite","outputs":[],"payable":false,"stateMutability":"nonpayable","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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":true,"name":"_tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_approved","type":"address"},{"indexed":true,"name":"_tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_operator","type":"address"},{"indexed":false,"name":"_approved","type":"bool"}],"name":"ApprovalForAll","type":"event"}]

600c805460a060020a61ffff0219169055600e805460ff19908116909155610438600f55601260808181527f4574686572656d6f6e416476656e74757265000000000000000000000000000060a0908152610100604052600560c09081527f454d4f4e4400000000000000000000000000000000000000000000000000000060e052600060208190527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c58054871660019081179091557ff7815fccbf112960a73756e185887fedcb9fc64ca0a16cc5923b7960ed78080080548816821790557f780e9d63000000000000000000000000000000000000000000000000000000009091527f77b7bbe0e49b76487c9476b5db3354cf5270619d0037ccb899c2a4c4a75b43188054909616179094559092916200013d91600991620001c3565b5080516200015390600a906020840190620001c3565b50507f5b5e139f000000000000000000000000000000000000000000000000000000006000908152602052507f9562381dfbc2d8b8b66e765249f330164b73e329e5f01670660643571d1974df805460ff19166001179055600c8054600160a060020a0319163317905562000268565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200020657805160ff191683800117855562000236565b8280016001018555821562000236579182015b828111156200023657825182559160200191906001019062000219565b506200024492915062000248565b5090565b6200026591905b808211156200024457600081556001016200024f565b90565b611fb980620002786000396000f3006080604052600436106101d75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a781146101dc578063030a78aa1461022757806306fdde031461024e578063081812fc146102d8578063095ea7b31461030c5780630b2c588c1461033257806314d0f1ba14610353578063162094c41461037457806318160ddd146103985780631a5b8f96146103ad57806323b872dd146103c25780632f745c59146103ec5780633f1a1cac1461041057806342842e0e1461042e57806348ef5aa8146104585780634efb023e146104725780634f6ccce71461049e5780636352211e146104b65780636c81fd6d146104ce5780636e575537146104ef57806370a08231146105045780638da5cb5b1461052557806395d89b411461053a578063a22cb4651461054f578063a9059cbb14610575578063b239e2f114610599578063b85d6275146105ae578063b88d4fde146105cf578063b919be6614610608578063bda4fd891461062c578063bfb231d214610641578063c87b56dd14610672578063d33925451461068a578063de7fe3e7146106b1578063e985e9c5146106c9578063ebf06bcb146106f0578063ee4e441614610717578063f28532921461072c575b600080fd5b3480156101e857600080fd5b506102137bffffffffffffffffffffffffffffffffffffffffffffffffffffffff196004351661074d565b604080519115158252519081900360200190f35b34801561023357600080fd5b5061023c610785565b60408051918252519081900360200190f35b34801561025a57600080fd5b5061026361078b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029d578181015183820152602001610285565b50505050905090810190601f1680156102ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102e457600080fd5b506102f0600435610821565b60408051600160a060020a039092168252519081900360200190f35b34801561031857600080fd5b50610330600160a060020a0360043516602435610863565b005b34801561033e57600080fd5b50610330600160a060020a0360043516610974565b34801561035f57600080fd5b50610213600160a060020a03600435166109e1565b34801561038057600080fd5b506103306004803590602480359081019101356109f6565b3480156103a457600080fd5b5061023c610a6d565b3480156103b957600080fd5b5061023c610a74565b3480156103ce57600080fd5b50610330600160a060020a0360043581169060243516604435610a79565b3480156103f857600080fd5b5061023c600160a060020a0360043516602435610b60565b34801561041c57600080fd5b50610330600435602435604435610bbb565b34801561043a57600080fd5b50610330600160a060020a0360043581169060243516604435610cde565b34801561046457600080fd5b506103306004351515610cfa565b34801561047e57600080fd5b50610487610d24565b6040805161ffff9092168252519081900360200190f35b3480156104aa57600080fd5b5061023c600435610d46565b3480156104c257600080fd5b506102f0600435610dae565b3480156104da57600080fd5b50610330600160a060020a0360043516610dd2565b3480156104fb57600080fd5b5061023c610e7f565b34801561051057600080fd5b5061023c600160a060020a0360043516610e84565b34801561053157600080fd5b506102f0610eb7565b34801561054657600080fd5b50610263610ec6565b34801561055b57600080fd5b50610330600160a060020a03600435166024351515610f27565b34801561058157600080fd5b50610330600160a060020a0360043516602435610faa565b3480156105a557600080fd5b506102f061108d565b3480156105ba57600080fd5b50610330600160a060020a03600435166110a1565b3480156105db57600080fd5b50610330600160a060020a0360048035821691602480359091169160443591606435908101910135611148565b34801561061457600080fd5b50610330600435602435604435606435608435611184565b34801561063857600080fd5b5061023c61135b565b34801561064d57600080fd5b50610659600435611361565b6040805192835260208301919091528051918290030190f35b34801561067e57600080fd5b5061026360043561137a565b34801561069657600080fd5b5061023c600435602435600160a060020a0360443516611442565b3480156106bd57600080fd5b506106596004356114de565b3480156106d557600080fd5b50610213600160a060020a03600435811690602435166114f8565b3480156106fc57600080fd5b50610330600435602435600160a060020a0360443516611553565b34801561072357600080fd5b506102136115fd565b34801561073857600080fd5b50610330600160a060020a0360043516611606565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19811660009081526020819052604090205460ff165b919050565b61043881565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108175780601f106107ec57610100808354040283529160200191610817565b820191906000526020600020905b8154815290600101906020018083116107fa57829003601f168201915b5050505050905090565b6000818152600160205260408120548290600160a060020a0316151561084657600080fd5b5050600090815260026020526040902054600160a060020a031690565b6000818152600160205260408120548290600160a060020a0316338114806108ae5750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b15156108b957600080fd5b6000848152600160205260409020548490600160a060020a031615156108de57600080fd5b600085815260016020526040902054600160a060020a039081169450861684141561090857600080fd5b600085815260026020526040808220805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038a811691821790925591518893918816917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050505050565b600c54600160a060020a03163314806109a15750336000908152600d602052604090205460ff1615156001145b15156109ac57600080fd5b600e8054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b600d6020526000908152604090205460ff1681565b600c54600160a060020a0316331480610a235750336000908152600d602052604090205460ff1615156001145b1515610a2e57600080fd5b610a688383838080601f01602080910402602001604051908101604052809392919081815260200183838082843750611659945050505050565b505050565b6005545b90565b606c81565b6000818152600160205260408120548290600160a060020a031633811480610ab1575033610aa683610821565b600160a060020a0316145b80610adf5750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b1515610aea57600080fd5b6000848152600160205260409020548490600160a060020a03161515610b0f57600080fd5b600085815260016020526040902054600160a060020a03908116945087168414610b3857600080fd5b600160a060020a0386161515610b4d57600080fd5b610b57868661169d565b50505050505050565b600160a060020a0382166000908152600760205260408120548210610b8457600080fd5b600160a060020a0383166000908152600760205260409020805483908110610ba857fe5b9060005260206000200154905092915050565b600e54600090819060ff1615610bd057600080fd5b600e546101009004600160a060020a03161515610bec57600080fd5b841580610c105750600085815260016020526040902054600160a060020a03163314155b15610c1a57600080fd5b5050600083815260106020526040808220600e548154600183015484517f1b44a5ef00000000000000000000000000000000000000000000000000000000815233600482015260248101929092526044820152606481018790526084810186905292519193610100909104600160a060020a0316928392631b44a5ef9260a48084019391929182900301818387803b158015610cb557600080fd5b505af1158015610cc9573d6000803e3d6000fd5b50505050610cd73386611718565b5050505050565b610a688383836020604051908101604052806000815250611764565b600c54600160a060020a03163314610d1157600080fd5b600e805460ff1916911515919091179055565b600c5474010000000000000000000000000000000000000000900461ffff1681565b6005546000908210610d5757600080fd5b8160066000600585815481101515610d6b57fe5b9060005260206000200154815260200190815260200160002054141515610d8e57fe5b6005805483908110610d9c57fe5b90600052602060002001549050919050565b600081815260016020526040902054600160a060020a031680151561078057600080fd5b600c54600160a060020a03163314610de957600080fd5b600160a060020a0381166000908152600d602052604090205460ff161515610e7c57600160a060020a0381166000908152600d60205260409020805460ff19166001908117909155600c805461ffff7401000000000000000000000000000000000000000080830482169094011690920275ffff0000000000000000000000000000000000000000199092169190911790555b50565b600a81565b6000600160a060020a0382161515610e9b57600080fd5b50600160a060020a031660009081526003602052604090205490565b600c54600160a060020a031681565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108175780601f106107ec57610100808354040283529160200191610817565b600160a060020a0382161515610f3c57600080fd5b336000818152600460209081526040808320600160a060020a03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6000818152600160205260408120548290600160a060020a031633811480610fe2575033610fd783610821565b600160a060020a0316145b806110105750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b151561101b57600080fd5b6000848152600160205260409020548490600160a060020a0316151561104057600080fd5b600085815260016020526040902054600160a060020a0316935033841461106657600080fd5b600160a060020a038616151561107b57600080fd5b611085868661169d565b505050505050565b600e546101009004600160a060020a031681565b600c54600160a060020a031633146110b857600080fd5b600160a060020a0381166000908152600d602052604090205460ff16151560011415610e7c57600160a060020a03166000908152600d60205260409020805460ff19169055600c805475ffff0000000000000000000000000000000000000000198116740100000000000000000000000000000000000000009182900461ffff9081166000190116909102179055565b610cd785858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843750611764945050505050565b600e5460009081908190819060ff161561119d57600080fd5b600e546101009004600160a060020a031615156111b957600080fd5b6000891180156111e05750600089815260016020526040902054600160a060020a03163314155b156111ea57600080fd5b6000881180156112115750600088815260016020526040902054600160a060020a03163314155b1561121b57600080fd5b6000871180156112425750600087815260016020526040902054600160a060020a03163314155b1561124c57600080fd5b505050600086815260106020526040808220878352818320878452828420600e5483548354835487517f5477e571000000000000000000000000000000000000000000000000000000008152336004820152602481019390935260448301919091526064820152608481018a905260a48101899052945193965091949093610100909204600160a060020a0316928392635477e5719260c480830193919282900301818387803b1580156112ff57600080fd5b505af1158015611313573d6000803e3d6000fd5b50505050600089111561132a5761132a338a611718565b600088111561133d5761133d3389611718565b6000871115611350576113503388611718565b505050505050505050565b600f5481565b6010602052600090815260409020805460019091015482565b6000818152600160205260409020546060908290600160a060020a031615156113a257600080fd5b6000838152600b602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156114355780601f1061140a57610100808354040283529160200191611435565b820191906000526020600020905b81548152906001019060200180831161141857829003601f168201915b5050505050915050919050565b600c546000908190600160a060020a03163314806114745750336000908152600d602052604090205460ff1615156001145b151561147f57600080fd5b600160a060020a038316151561149457600080fd5b606c85116114a157600080fd5b50600f80546001908101808355600090815260106020526040902086815590810185905590546114d29084906119b6565b5050600f549392505050565b600090815260106020526040902080546001909101549091565b6000600160a060020a038316151561150f57600080fd5b600160a060020a038216151561152457600080fd5b50600160a060020a03918216600090815260046020908152604080832093909416825291909152205460ff1690565b600c54600090600160a060020a03163314806115835750336000908152600d602052604090205460ff1615156001145b151561158e57600080fd5b600160a060020a03821615156115a357600080fd5b606c8411806115b0575083155b806115bc575061043883115b806115c5575082155b156115cf57600080fd5b5060008281526010602052604090208054156115ea57600080fd5b8381556115f782846119b6565b50505050565b600e5460ff1681565b600c54600160a060020a0316331461161d57600080fd5b600160a060020a03811615610e7c57600c8054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b6000828152600160205260409020548290600160a060020a0316151561167e57600080fd5b6000838152600b6020908152604090912083516115f792850190611e91565b600081815260016020526040902054600160a060020a03166116be82611a07565b6116c88183611a4f565b6116d28383611b50565b8183600160a060020a031682600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6117228282611b99565b6000818152600b60205260409020546002600019610100600184161502019091160415611760576000818152600b6020526040812061176091611f0f565b5050565b60008281526001602052604081205481908490600160a060020a03163381148061179e57503361179383610821565b600160a060020a0316145b806117cc5750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b15156117d757600080fd5b6000868152600160205260409020548690600160a060020a031615156117fc57600080fd5b600087815260016020526040902054600160a060020a0390811695508916851461182557600080fd5b600160a060020a038816151561183a57600080fd5b611844888861169d565b61185688600160a060020a0316611c59565b15611350576040517f150b7a020000000000000000000000000000000000000000000000000000000081523360048201818152600160a060020a038c81166024850152604484018b90526080606485019081528a5160848601528a51918d169463150b7a0294938f938e938e93909160a490910190602085019080838360005b838110156118ee5781810151838201526020016118d6565b50505050905090810190601f16801561191b5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561193d57600080fd5b505af1158015611951573d6000803e3d6000fd5b505050506040513d602081101561196757600080fd5b505193507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1984167f150b7a02000000000000000000000000000000000000000000000000000000001461135057600080fd5b60006119c28383611c61565b5060058054600181019091557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db081018290556000918252600660205260409091205550565b600081815260026020526040902054600160a060020a031615610e7c576000908152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000806000611a5e8585611cea565b600160a060020a03851660009081526007602052604081205411611a7e57fe5b600084815260086020908152604080832054600160a060020a038916845260079092529091208054919450600019820193509083908110611abb57fe5b90600052602060002001549050806007600087600160a060020a0316600160a060020a0316815260200190815260200160002084815481101515611afb57fe5b6000918252602080832090910192909255600160a060020a0387168152600790915260409020805490611b32906000198301611f53565b50600090815260086020526040808220939093559283525081205550565b6000611b5c8383611d79565b50600160a060020a039091166000908152600760209081526040808320805460018101825590845282842081018590559383526008909152902055565b6000806000611ba88585611e09565b600554600010611bb457fe5b60008481526006602052604090205460058054919450859185908110611bd657fe5b9060005260206000200154141515611bea57fe5b600580546000198101935083908110611bff57fe5b9060005260206000200154905080600584815481101515611c1c57fe5b6000918252602090912001556005805490611c3b906000198301611f53565b50600090815260066020526040808220939093559283525081205550565b6000903b1190565b600160a060020a0382161515611c7657600080fd5b801515611c8257600080fd5b600081815260016020526040902054600160a060020a031615611ca457600080fd5b611cae8282611b50565b6040518190600160a060020a038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600081815260016020526040902054600160a060020a03838116911614611d1057600080fd5b600160a060020a03821660009081526003602052604081205411611d3057fe5b600160a060020a03909116600090815260036020908152604080832080546000190190559282526001905220805473ffffffffffffffffffffffffffffffffffffffff19169055565b600081815260016020526040902054600160a060020a031615611d9b57600080fd5b6000818152600160208181526040808420805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0388169081179091558452600390915290912054611de991611e7e565b600160a060020a0390921660009081526003602052604090209190915550565b6000818152600160205260409020548190600160a060020a03161515611e2e57600080fd5b611e3782611a07565b611e418383611a4f565b6040518290600090600160a060020a038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b81810182811015611e8b57fe5b92915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611ed257805160ff1916838001178555611eff565b82800160010185558215611eff579182015b82811115611eff578251825591602001919060010190611ee4565b50611f0b929150611f73565b5090565b50805460018160011615610100020316600290046000825580601f10611f355750610e7c565b601f016020900490600052602060002090810190610e7c9190611f73565b815481835581811115610a6857600083815260209020610a689181019083015b610a7191905b80821115611f0b5760008155600101611f795600a165627a7a723058203456066a31d1f8ee77fe871662f4585d472dfbd8b72f8893bd3e8a65ba198ac70029

Deployed Bytecode

0x6080604052600436106101d75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a781146101dc578063030a78aa1461022757806306fdde031461024e578063081812fc146102d8578063095ea7b31461030c5780630b2c588c1461033257806314d0f1ba14610353578063162094c41461037457806318160ddd146103985780631a5b8f96146103ad57806323b872dd146103c25780632f745c59146103ec5780633f1a1cac1461041057806342842e0e1461042e57806348ef5aa8146104585780634efb023e146104725780634f6ccce71461049e5780636352211e146104b65780636c81fd6d146104ce5780636e575537146104ef57806370a08231146105045780638da5cb5b1461052557806395d89b411461053a578063a22cb4651461054f578063a9059cbb14610575578063b239e2f114610599578063b85d6275146105ae578063b88d4fde146105cf578063b919be6614610608578063bda4fd891461062c578063bfb231d214610641578063c87b56dd14610672578063d33925451461068a578063de7fe3e7146106b1578063e985e9c5146106c9578063ebf06bcb146106f0578063ee4e441614610717578063f28532921461072c575b600080fd5b3480156101e857600080fd5b506102137bffffffffffffffffffffffffffffffffffffffffffffffffffffffff196004351661074d565b604080519115158252519081900360200190f35b34801561023357600080fd5b5061023c610785565b60408051918252519081900360200190f35b34801561025a57600080fd5b5061026361078b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029d578181015183820152602001610285565b50505050905090810190601f1680156102ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102e457600080fd5b506102f0600435610821565b60408051600160a060020a039092168252519081900360200190f35b34801561031857600080fd5b50610330600160a060020a0360043516602435610863565b005b34801561033e57600080fd5b50610330600160a060020a0360043516610974565b34801561035f57600080fd5b50610213600160a060020a03600435166109e1565b34801561038057600080fd5b506103306004803590602480359081019101356109f6565b3480156103a457600080fd5b5061023c610a6d565b3480156103b957600080fd5b5061023c610a74565b3480156103ce57600080fd5b50610330600160a060020a0360043581169060243516604435610a79565b3480156103f857600080fd5b5061023c600160a060020a0360043516602435610b60565b34801561041c57600080fd5b50610330600435602435604435610bbb565b34801561043a57600080fd5b50610330600160a060020a0360043581169060243516604435610cde565b34801561046457600080fd5b506103306004351515610cfa565b34801561047e57600080fd5b50610487610d24565b6040805161ffff9092168252519081900360200190f35b3480156104aa57600080fd5b5061023c600435610d46565b3480156104c257600080fd5b506102f0600435610dae565b3480156104da57600080fd5b50610330600160a060020a0360043516610dd2565b3480156104fb57600080fd5b5061023c610e7f565b34801561051057600080fd5b5061023c600160a060020a0360043516610e84565b34801561053157600080fd5b506102f0610eb7565b34801561054657600080fd5b50610263610ec6565b34801561055b57600080fd5b50610330600160a060020a03600435166024351515610f27565b34801561058157600080fd5b50610330600160a060020a0360043516602435610faa565b3480156105a557600080fd5b506102f061108d565b3480156105ba57600080fd5b50610330600160a060020a03600435166110a1565b3480156105db57600080fd5b50610330600160a060020a0360048035821691602480359091169160443591606435908101910135611148565b34801561061457600080fd5b50610330600435602435604435606435608435611184565b34801561063857600080fd5b5061023c61135b565b34801561064d57600080fd5b50610659600435611361565b6040805192835260208301919091528051918290030190f35b34801561067e57600080fd5b5061026360043561137a565b34801561069657600080fd5b5061023c600435602435600160a060020a0360443516611442565b3480156106bd57600080fd5b506106596004356114de565b3480156106d557600080fd5b50610213600160a060020a03600435811690602435166114f8565b3480156106fc57600080fd5b50610330600435602435600160a060020a0360443516611553565b34801561072357600080fd5b506102136115fd565b34801561073857600080fd5b50610330600160a060020a0360043516611606565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19811660009081526020819052604090205460ff165b919050565b61043881565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108175780601f106107ec57610100808354040283529160200191610817565b820191906000526020600020905b8154815290600101906020018083116107fa57829003601f168201915b5050505050905090565b6000818152600160205260408120548290600160a060020a0316151561084657600080fd5b5050600090815260026020526040902054600160a060020a031690565b6000818152600160205260408120548290600160a060020a0316338114806108ae5750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b15156108b957600080fd5b6000848152600160205260409020548490600160a060020a031615156108de57600080fd5b600085815260016020526040902054600160a060020a039081169450861684141561090857600080fd5b600085815260026020526040808220805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038a811691821790925591518893918816917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050505050565b600c54600160a060020a03163314806109a15750336000908152600d602052604090205460ff1615156001145b15156109ac57600080fd5b600e8054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b600d6020526000908152604090205460ff1681565b600c54600160a060020a0316331480610a235750336000908152600d602052604090205460ff1615156001145b1515610a2e57600080fd5b610a688383838080601f01602080910402602001604051908101604052809392919081815260200183838082843750611659945050505050565b505050565b6005545b90565b606c81565b6000818152600160205260408120548290600160a060020a031633811480610ab1575033610aa683610821565b600160a060020a0316145b80610adf5750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b1515610aea57600080fd5b6000848152600160205260409020548490600160a060020a03161515610b0f57600080fd5b600085815260016020526040902054600160a060020a03908116945087168414610b3857600080fd5b600160a060020a0386161515610b4d57600080fd5b610b57868661169d565b50505050505050565b600160a060020a0382166000908152600760205260408120548210610b8457600080fd5b600160a060020a0383166000908152600760205260409020805483908110610ba857fe5b9060005260206000200154905092915050565b600e54600090819060ff1615610bd057600080fd5b600e546101009004600160a060020a03161515610bec57600080fd5b841580610c105750600085815260016020526040902054600160a060020a03163314155b15610c1a57600080fd5b5050600083815260106020526040808220600e548154600183015484517f1b44a5ef00000000000000000000000000000000000000000000000000000000815233600482015260248101929092526044820152606481018790526084810186905292519193610100909104600160a060020a0316928392631b44a5ef9260a48084019391929182900301818387803b158015610cb557600080fd5b505af1158015610cc9573d6000803e3d6000fd5b50505050610cd73386611718565b5050505050565b610a688383836020604051908101604052806000815250611764565b600c54600160a060020a03163314610d1157600080fd5b600e805460ff1916911515919091179055565b600c5474010000000000000000000000000000000000000000900461ffff1681565b6005546000908210610d5757600080fd5b8160066000600585815481101515610d6b57fe5b9060005260206000200154815260200190815260200160002054141515610d8e57fe5b6005805483908110610d9c57fe5b90600052602060002001549050919050565b600081815260016020526040902054600160a060020a031680151561078057600080fd5b600c54600160a060020a03163314610de957600080fd5b600160a060020a0381166000908152600d602052604090205460ff161515610e7c57600160a060020a0381166000908152600d60205260409020805460ff19166001908117909155600c805461ffff7401000000000000000000000000000000000000000080830482169094011690920275ffff0000000000000000000000000000000000000000199092169190911790555b50565b600a81565b6000600160a060020a0382161515610e9b57600080fd5b50600160a060020a031660009081526003602052604090205490565b600c54600160a060020a031681565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108175780601f106107ec57610100808354040283529160200191610817565b600160a060020a0382161515610f3c57600080fd5b336000818152600460209081526040808320600160a060020a03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6000818152600160205260408120548290600160a060020a031633811480610fe2575033610fd783610821565b600160a060020a0316145b806110105750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b151561101b57600080fd5b6000848152600160205260409020548490600160a060020a0316151561104057600080fd5b600085815260016020526040902054600160a060020a0316935033841461106657600080fd5b600160a060020a038616151561107b57600080fd5b611085868661169d565b505050505050565b600e546101009004600160a060020a031681565b600c54600160a060020a031633146110b857600080fd5b600160a060020a0381166000908152600d602052604090205460ff16151560011415610e7c57600160a060020a03166000908152600d60205260409020805460ff19169055600c805475ffff0000000000000000000000000000000000000000198116740100000000000000000000000000000000000000009182900461ffff9081166000190116909102179055565b610cd785858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843750611764945050505050565b600e5460009081908190819060ff161561119d57600080fd5b600e546101009004600160a060020a031615156111b957600080fd5b6000891180156111e05750600089815260016020526040902054600160a060020a03163314155b156111ea57600080fd5b6000881180156112115750600088815260016020526040902054600160a060020a03163314155b1561121b57600080fd5b6000871180156112425750600087815260016020526040902054600160a060020a03163314155b1561124c57600080fd5b505050600086815260106020526040808220878352818320878452828420600e5483548354835487517f5477e571000000000000000000000000000000000000000000000000000000008152336004820152602481019390935260448301919091526064820152608481018a905260a48101899052945193965091949093610100909204600160a060020a0316928392635477e5719260c480830193919282900301818387803b1580156112ff57600080fd5b505af1158015611313573d6000803e3d6000fd5b50505050600089111561132a5761132a338a611718565b600088111561133d5761133d3389611718565b6000871115611350576113503388611718565b505050505050505050565b600f5481565b6010602052600090815260409020805460019091015482565b6000818152600160205260409020546060908290600160a060020a031615156113a257600080fd5b6000838152600b602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156114355780601f1061140a57610100808354040283529160200191611435565b820191906000526020600020905b81548152906001019060200180831161141857829003601f168201915b5050505050915050919050565b600c546000908190600160a060020a03163314806114745750336000908152600d602052604090205460ff1615156001145b151561147f57600080fd5b600160a060020a038316151561149457600080fd5b606c85116114a157600080fd5b50600f80546001908101808355600090815260106020526040902086815590810185905590546114d29084906119b6565b5050600f549392505050565b600090815260106020526040902080546001909101549091565b6000600160a060020a038316151561150f57600080fd5b600160a060020a038216151561152457600080fd5b50600160a060020a03918216600090815260046020908152604080832093909416825291909152205460ff1690565b600c54600090600160a060020a03163314806115835750336000908152600d602052604090205460ff1615156001145b151561158e57600080fd5b600160a060020a03821615156115a357600080fd5b606c8411806115b0575083155b806115bc575061043883115b806115c5575082155b156115cf57600080fd5b5060008281526010602052604090208054156115ea57600080fd5b8381556115f782846119b6565b50505050565b600e5460ff1681565b600c54600160a060020a0316331461161d57600080fd5b600160a060020a03811615610e7c57600c8054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b6000828152600160205260409020548290600160a060020a0316151561167e57600080fd5b6000838152600b6020908152604090912083516115f792850190611e91565b600081815260016020526040902054600160a060020a03166116be82611a07565b6116c88183611a4f565b6116d28383611b50565b8183600160a060020a031682600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6117228282611b99565b6000818152600b60205260409020546002600019610100600184161502019091160415611760576000818152600b6020526040812061176091611f0f565b5050565b60008281526001602052604081205481908490600160a060020a03163381148061179e57503361179383610821565b600160a060020a0316145b806117cc5750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b15156117d757600080fd5b6000868152600160205260409020548690600160a060020a031615156117fc57600080fd5b600087815260016020526040902054600160a060020a0390811695508916851461182557600080fd5b600160a060020a038816151561183a57600080fd5b611844888861169d565b61185688600160a060020a0316611c59565b15611350576040517f150b7a020000000000000000000000000000000000000000000000000000000081523360048201818152600160a060020a038c81166024850152604484018b90526080606485019081528a5160848601528a51918d169463150b7a0294938f938e938e93909160a490910190602085019080838360005b838110156118ee5781810151838201526020016118d6565b50505050905090810190601f16801561191b5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561193d57600080fd5b505af1158015611951573d6000803e3d6000fd5b505050506040513d602081101561196757600080fd5b505193507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1984167f150b7a02000000000000000000000000000000000000000000000000000000001461135057600080fd5b60006119c28383611c61565b5060058054600181019091557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db081018290556000918252600660205260409091205550565b600081815260026020526040902054600160a060020a031615610e7c576000908152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000806000611a5e8585611cea565b600160a060020a03851660009081526007602052604081205411611a7e57fe5b600084815260086020908152604080832054600160a060020a038916845260079092529091208054919450600019820193509083908110611abb57fe5b90600052602060002001549050806007600087600160a060020a0316600160a060020a0316815260200190815260200160002084815481101515611afb57fe5b6000918252602080832090910192909255600160a060020a0387168152600790915260409020805490611b32906000198301611f53565b50600090815260086020526040808220939093559283525081205550565b6000611b5c8383611d79565b50600160a060020a039091166000908152600760209081526040808320805460018101825590845282842081018590559383526008909152902055565b6000806000611ba88585611e09565b600554600010611bb457fe5b60008481526006602052604090205460058054919450859185908110611bd657fe5b9060005260206000200154141515611bea57fe5b600580546000198101935083908110611bff57fe5b9060005260206000200154905080600584815481101515611c1c57fe5b6000918252602090912001556005805490611c3b906000198301611f53565b50600090815260066020526040808220939093559283525081205550565b6000903b1190565b600160a060020a0382161515611c7657600080fd5b801515611c8257600080fd5b600081815260016020526040902054600160a060020a031615611ca457600080fd5b611cae8282611b50565b6040518190600160a060020a038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600081815260016020526040902054600160a060020a03838116911614611d1057600080fd5b600160a060020a03821660009081526003602052604081205411611d3057fe5b600160a060020a03909116600090815260036020908152604080832080546000190190559282526001905220805473ffffffffffffffffffffffffffffffffffffffff19169055565b600081815260016020526040902054600160a060020a031615611d9b57600080fd5b6000818152600160208181526040808420805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0388169081179091558452600390915290912054611de991611e7e565b600160a060020a0390921660009081526003602052604090209190915550565b6000818152600160205260409020548190600160a060020a03161515611e2e57600080fd5b611e3782611a07565b611e418383611a4f565b6040518290600090600160a060020a038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b81810182811015611e8b57fe5b92915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611ed257805160ff1916838001178555611eff565b82800160010185558215611eff579182015b82811115611eff578251825591602001919060010190611ee4565b50611f0b929150611f73565b5090565b50805460018160011615610100020316600290046000825580601f10611f355750610e7c565b601f016020900490600052602060002090810190610e7c9190611f73565b815481835581811115610a6857600083815260209020610a689181019083015b610a7191905b80821115611f0b5760008155600101611f795600a165627a7a723058203456066a31d1f8ee77fe871662f4585d472dfbd8b72f8893bd3e8a65ba198ac70029

Swarm Source

bzzr://3456066a31d1f8ee77fe871662f4585d472dfbd8b72f8893bd3e8a65ba198ac7

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

Treasure is hidden around the Etheremon world! Send your Mons on adventures, and they will bring back amazing rewards!

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.