ETH Price: $3,439.16 (-1.39%)
Gas: 3 Gwei

Contract

0x4Bd6A870C71A36D06d03F0b5Fb6cac012cA13397
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Safe Transfer Fr...161741182022-12-13 6:53:35588 days ago1670914415IN
Cubegon: CUBEGON Token
0 ETH0.0050399114.20494647
Set Approval For...161618102022-12-11 13:37:11590 days ago1670765831IN
Cubegon: CUBEGON Token
0 ETH0.0003309313.3637216
Set Approval For...151598202022-07-17 11:10:01737 days ago1658056201IN
Cubegon: CUBEGON Token
0 ETH0.000203518.2180575
Safe Transfer Fr...144166252022-03-19 11:36:51857 days ago1647689811IN
Cubegon: CUBEGON Token
0 ETH0.0014327415.09770137
Safe Transfer Fr...144165702022-03-19 11:23:28857 days ago1647689008IN
Cubegon: CUBEGON Token
0 ETH0.0011408313.48533068
Safe Transfer Fr...144165552022-03-19 11:20:28857 days ago1647688828IN
Cubegon: CUBEGON Token
0 ETH0.0016920114.48668308
Set Approval For...141698492022-02-09 4:58:26895 days ago1644382706IN
Cubegon: CUBEGON Token
0 ETH0.0031651567.81127661
Transfer From133390442021-10-02 9:25:051025 days ago1633166705IN
Cubegon: CUBEGON Token
0 ETH0.0061283257.62841743
Set Approval For...132284152021-09-15 5:34:501042 days ago1631684090IN
Cubegon: CUBEGON Token
0 ETH0.0022092647.33184887
Set Approval For...131434052021-09-02 1:50:211056 days ago1630547421IN
Cubegon: CUBEGON Token
0 ETH0.0035991777.10984106
Transfer From131379632021-09-01 5:37:421056 days ago1630474662IN
Cubegon: CUBEGON Token
0 ETH0.0090809285.39357801
Set Approval For...131080422021-08-27 14:49:331061 days ago1630075773IN
Cubegon: CUBEGON Token
0 ETH0.00482859103.44916782
Set Approval For...130818822021-08-23 13:40:081065 days ago1629726008IN
Cubegon: CUBEGON Token
0 ETH0.0024649452.80960136
Set Approval For...130796242021-08-23 5:13:191065 days ago1629695599IN
Cubegon: CUBEGON Token
0 ETH0.0012228645.67002022
Set Approval For...130796202021-08-23 5:12:511065 days ago1629695571IN
Cubegon: CUBEGON Token
0 ETH0.0022072147.28792011
Set Approval For...129867712021-08-08 21:02:511080 days ago1628456571IN
Cubegon: CUBEGON Token
0 ETH0.0009621135.93196799
Set Approval For...129867672021-08-08 21:02:361080 days ago1628456556IN
Cubegon: CUBEGON Token
0 ETH0.0016771635.93196799
Transfer From123120382021-04-25 22:06:391185 days ago1619388399IN
Cubegon: CUBEGON Token
0 ETH0.0048474864
Transfer From101238062020-05-23 18:48:121522 days ago1590259692IN
Cubegon: CUBEGON Token
0 ETH0.0008354210
Set Approval For...92748752020-01-13 20:43:221653 days ago1578948202IN
Cubegon: CUBEGON Token
0 ETH0.000045371
Transfer From92040532020-01-03 0:27:241664 days ago1578011244IN
Cubegon: CUBEGON Token
0 ETH0.000167082
Set Approval For...89148722019-11-11 14:17:271716 days ago1573481847IN
Cubegon: CUBEGON Token
0 ETH0.000138223
Transfer From88988742019-11-08 22:44:181719 days ago1573253058IN
Cubegon: CUBEGON Token
0 ETH0.000094881
Set Approval For...87724962019-10-19 17:14:361739 days ago1571505276IN
Cubegon: CUBEGON Token
0 ETH0.000204574.44
Safe Transfer Fr...84733532019-09-02 22:02:291786 days ago1567461749IN
Cubegon: CUBEGON Token
0 ETH0.000242553
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:
CubegonNFT

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-11-28
*/

pragma solidity ^0.4.24;

/**
 * @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;
    }
}

contract CubegonNFT is NFTStandard("Cubegon", "CUBEGON"), BasicAccessControl {
    struct CubegonData {
        bytes32 hash;
        uint mId1;
        uint amount1;
        uint mId2;
        uint amount2;
        uint mId3;
        uint amount3;
        uint mId4;
        uint amount4;
        uint energyLimit;
    }
    mapping (uint => CubegonData) public cubegons;
    mapping (bytes32 => uint) public hashCubegons;
    uint public totalCubegon = 0;
    
    event UpdateCubegon(address indexed _from, uint256 indexed _tokenId);
    
    function setTokenURI(uint256 _tokenId, string _uri) onlyModerators external {
        _setTokenUri(_tokenId, _uri);
    }
    
    function mineCubegon(address _owner, bytes32 _ch, uint _mId1, uint _amount1, uint _mId2, uint _amount2, 
        uint _mId3, uint _amount3, uint _mId4, uint _amount4, uint _energyLimit) onlyModerators external returns(uint) {
        if (hashCubegons[_ch] > 0) revert();
        
        totalCubegon += 1;
        hashCubegons[_ch] = totalCubegon;
        CubegonData storage cubegon = cubegons[totalCubegon];
        cubegon.hash = _ch;
        cubegon.mId1 = _mId1;
        cubegon.amount1 = _amount1;
        cubegon.mId2 = _mId2;
        cubegon.amount2 = _amount2;
        cubegon.mId3 = _mId3;
        cubegon.amount3 = _amount3;
        cubegon.mId4 = _mId4;
        cubegon.amount4 = _amount4;
        cubegon.energyLimit = _energyLimit;
        _mint(_owner, totalCubegon);
        return totalCubegon;
    }
    
    function updateCubegon(address _owner, uint _tokenId, uint _energyLimit) onlyModerators external {
        if (_tokenId == 0 || idToOwner[_tokenId] != _owner) revert();
        CubegonData storage cubegon = cubegons[_tokenId];
        if (cubegon.energyLimit == 0) revert();
        cubegon.energyLimit = _energyLimit;
    }
    
    function dismantleCubegon(address _owner, uint _tokenId) onlyModerators external returns(uint mId1, uint amount1, uint mId2, uint amount2,
        uint mId3, uint amount3, uint mId4, uint amount4) {
        if (_tokenId == 0 || idToOwner[_tokenId] != _owner) revert();
        
        CubegonData storage cubegon = cubegons[_tokenId];
        cubegon.energyLimit = 0;
        hashCubegons[cubegon.hash] = 0;
        
        _burn(_owner, _tokenId);
        
        return (cubegon.mId1, cubegon.amount1, cubegon.mId2, cubegon.amount2, cubegon.mId3, cubegon.amount3, cubegon.mId4, cubegon.amount4);
    }
    
    // public
    function getCubegonDataById(uint _tokenId) constant external returns(bytes32 hash, uint mId1, uint amount1, uint mId2, uint amount2,
        uint mId3, uint amount3, uint mId4, uint amount4, uint energyLimit) {
        CubegonData storage cubegon = cubegons[_tokenId];
        hash = cubegon.hash;
        mId1 = cubegon.mId1;
        amount1 = cubegon.amount1;
        mId2 = cubegon.mId2;
        amount2 = cubegon.amount2;
        mId3 = cubegon.mId3;
        amount3 = cubegon.amount3;
        mId4 = cubegon.mId4;
        amount4 = cubegon.amount4;
        energyLimit = cubegon.energyLimit;
    }
    
    function getCubegonByHash(bytes32 _hash) constant external returns(uint tokenId, uint mId1, uint amount1, uint mId2, uint amount2,
        uint mId3, uint amount3, uint mId4, uint amount4, uint energyLimit) {
        tokenId = hashCubegons[_hash];
        CubegonData storage cubegon = cubegons[tokenId];
        mId1 = cubegon.mId1;
        amount1 = cubegon.amount1;
        mId2 = cubegon.mId2;
        amount2 = cubegon.amount2;
        mId3 = cubegon.mId3;
        amount3 = cubegon.amount3;
        mId4 = cubegon.mId4;
        amount4 = cubegon.amount4;
        energyLimit = cubegon.energyLimit;
    }
    
    function getCubegonIdByHash(bytes32 _hash) constant external returns(uint) {
        return hashCubegons[_hash];
    }
    
    function getCubegonHashById(uint _tokenId) constant external returns(bytes32) {
        if (idToOwner[_tokenId] == address(0))
            return 0;
        return cubegons[_tokenId].hash;
    }
}

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":"name","outputs":[{"name":"_name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"dismantleCubegon","outputs":[{"name":"mId1","type":"uint256"},{"name":"amount1","type":"uint256"},{"name":"mId2","type":"uint256"},{"name":"amount2","type":"uint256"},{"name":"mId3","type":"uint256"},{"name":"amount3","type":"uint256"},{"name":"mId4","type":"uint256"},{"name":"amount4","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","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":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":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_tokenId","type":"uint256"},{"name":"_energyLimit","type":"uint256"}],"name":"updateCubegon","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"_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":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_ch","type":"bytes32"},{"name":"_mId1","type":"uint256"},{"name":"_amount1","type":"uint256"},{"name":"_mId2","type":"uint256"},{"name":"_amount2","type":"uint256"},{"name":"_mId3","type":"uint256"},{"name":"_amount3","type":"uint256"},{"name":"_mId4","type":"uint256"},{"name":"_amount4","type":"uint256"},{"name":"_energyLimit","type":"uint256"}],"name":"mineCubegon","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","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":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalCubegon","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":"","type":"bytes32"}],"name":"hashCubegons","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"cubegons","outputs":[{"name":"hash","type":"bytes32"},{"name":"mId1","type":"uint256"},{"name":"amount1","type":"uint256"},{"name":"mId2","type":"uint256"},{"name":"amount2","type":"uint256"},{"name":"mId3","type":"uint256"},{"name":"amount3","type":"uint256"},{"name":"mId4","type":"uint256"},{"name":"amount4","type":"uint256"},{"name":"energyLimit","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"_symbol","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getCubegonHashById","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getCubegonDataById","outputs":[{"name":"hash","type":"bytes32"},{"name":"mId1","type":"uint256"},{"name":"amount1","type":"uint256"},{"name":"mId2","type":"uint256"},{"name":"amount2","type":"uint256"},{"name":"mId3","type":"uint256"},{"name":"amount3","type":"uint256"},{"name":"mId4","type":"uint256"},{"name":"amount4","type":"uint256"},{"name":"energyLimit","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_hash","type":"bytes32"}],"name":"getCubegonIdByHash","outputs":[{"name":"","type":"uint256"}],"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":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":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_hash","type":"bytes32"}],"name":"getCubegonByHash","outputs":[{"name":"tokenId","type":"uint256"},{"name":"mId1","type":"uint256"},{"name":"amount1","type":"uint256"},{"name":"mId2","type":"uint256"},{"name":"amount2","type":"uint256"},{"name":"mId3","type":"uint256"},{"name":"amount3","type":"uint256"},{"name":"mId4","type":"uint256"},{"name":"amount4","type":"uint256"},{"name":"energyLimit","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":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":"_tokenId","type":"uint256"}],"name":"UpdateCubegon","type":"event"},{"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"}]

600c805460a060020a61ffff0219169055600e805460ff1990811690915560006011819055600760808181527f43756265676f6e0000000000000000000000000000000000000000000000000060a090815261010060405260c08381527f43554245474f4e0000000000000000000000000000000000000000000000000060e05260208590527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c58054871660019081179091557ff7815fccbf112960a73756e185887fedcb9fc64ca0a16cc5923b7960ed78080080548816821790557f780e9d63000000000000000000000000000000000000000000000000000000009095527f77b7bbe0e49b76487c9476b5db3354cf5270619d0037ccb899c2a4c4a75b43188054909616909417909455926200013b9160099190620001c1565b5080516200015190600a906020840190620001c1565b50507f5b5e139f000000000000000000000000000000000000000000000000000000006000908152602052507f9562381dfbc2d8b8b66e765249f330164b73e329e5f01670660643571d1974df805460ff19166001179055600c8054600160a060020a0319163317905562000266565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200020457805160ff191683800117855562000234565b8280016001018555821562000234579182015b828111156200023457825182559160200191906001019062000217565b506200024292915062000246565b5090565b6200026391905b808211156200024257600081556001016200024d565b90565b611ef880620002766000396000f3006080604052600436106101c15763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a781146101c657806306fdde031461021157806307d6573a1461029b578063081812fc14610300578063095ea7b31461033457806314d0f1ba1461035a578063162094c41461037b57806318160ddd1461039f5780631fd1ad22146103c657806323b872dd146103ed5780632f745c591461041757806342842e0e1461043b57806348ef5aa8146104655780634efb023e1461047f5780634f6ccce7146104ab57806359d54222146104c35780636352211e146105055780636c81fd6d1461051d57806370a082311461053e57806389bf1fa41461055f5780638da5cb5b1461057457806391d7befc146105895780639300eefe146105a157806395d89b4114610609578063971d26db1461061e5780639ea8cb8b146106365780639ed9f3841461064e578063a22cb46514610666578063a9059cbb1461068c578063b85d6275146106b0578063b88d4fde146106d1578063c87b56dd1461070a578063db86610714610722578063e985e9c51461073a578063ee4e441614610761578063f285329214610776575b600080fd5b3480156101d257600080fd5b506101fd7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1960043516610797565b604080519115158252519081900360200190f35b34801561021d57600080fd5b506102266107cf565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610260578181015183820152602001610248565b50505050905090810190601f16801561028d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102a757600080fd5b506102bf600160a060020a0360043516602435610865565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b34801561030c57600080fd5b50610318600435610970565b60408051600160a060020a039092168252519081900360200190f35b34801561034057600080fd5b50610358600160a060020a03600435166024356109b2565b005b34801561036657600080fd5b506101fd600160a060020a0360043516610ac3565b34801561038757600080fd5b50610358600480359060248035908101910135610ad8565b3480156103ab57600080fd5b506103b4610b4f565b60408051918252519081900360200190f35b3480156103d257600080fd5b50610358600160a060020a0360043516602435604435610b56565b3480156103f957600080fd5b50610358600160a060020a0360043581169060243516604435610be9565b34801561042357600080fd5b506103b4600160a060020a0360043516602435610cd0565b34801561044757600080fd5b50610358600160a060020a0360043581169060243516604435610d2b565b34801561047157600080fd5b506103586004351515610d47565b34801561048b57600080fd5b50610494610d71565b6040805161ffff9092168252519081900360200190f35b3480156104b757600080fd5b506103b4600435610d93565b3480156104cf57600080fd5b506103b4600160a060020a036004351660243560443560643560843560a43560c43560e435610104356101243561014435610dfb565b34801561051157600080fd5b50610318600435610edd565b34801561052957600080fd5b50610358600160a060020a0360043516610f01565b34801561054a57600080fd5b506103b4600160a060020a0360043516610fae565b34801561056b57600080fd5b506103b4610fe1565b34801561058057600080fd5b50610318610fe7565b34801561059557600080fd5b506103b4600435610ff6565b3480156105ad57600080fd5b506105b9600435611008565b604080519a8b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b34801561061557600080fd5b5061022661105c565b34801561062a57600080fd5b506103b46004356110bd565b34801561064257600080fd5b506105b96004356110f6565b34801561065a57600080fd5b506103b4600435611148565b34801561067257600080fd5b50610358600160a060020a0360043516602435151561115a565b34801561069857600080fd5b50610358600160a060020a03600435166024356111dd565b3480156106bc57600080fd5b50610358600160a060020a03600435166112c0565b3480156106dd57600080fd5b50610358600160a060020a0360048035821691602480359091169160443591606435908101910135611367565b34801561071657600080fd5b506102266004356113aa565b34801561072e57600080fd5b506105b9600435611472565b34801561074657600080fd5b506101fd600160a060020a03600435811690602435166114d0565b34801561076d57600080fd5b506101fd61152b565b34801561078257600080fd5b50610358600160a060020a0360043516611534565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19811660009081526020819052604090205460ff165b919050565b60098054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561085b5780601f106108305761010080835404028352916020019161085b565b820191906000526020600020905b81548152906001019060200180831161083e57829003601f168201915b5050505050905090565b6000806000806000806000806000600c60009054906101000a9004600160a060020a0316600160a060020a031633600160a060020a031614806108bc5750336000908152600d602052604090205460ff1615156001145b15156108c757600080fd5b8915806108ee575060008a815260016020526040902054600160a060020a038c8116911614155b156108f857600080fd5b506000898152600f602090815260408083206009810184905580548452601090925282209190915561092a8b8b611587565b8060010154816002015482600301548360040154846005015485600601548660070154876008015498509850985098509850985098509850509295985092959890939650565b6000818152600160205260408120548290600160a060020a0316151561099557600080fd5b5050600090815260026020526040902054600160a060020a031690565b6000818152600160205260408120548290600160a060020a0316338114806109fd5750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b1515610a0857600080fd5b6000848152600160205260409020548490600160a060020a03161515610a2d57600080fd5b600085815260016020526040902054600160a060020a0390811694508616841415610a5757600080fd5b600085815260026020526040808220805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038a811691821790925591518893918816917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050505050565b600d6020526000908152604090205460ff1681565b600c54600160a060020a0316331480610b055750336000908152600d602052604090205460ff1615156001145b1515610b1057600080fd5b610b4a8383838080601f016020809104026020016040519081016040528093929190818152602001838380828437506115d3945050505050565b505050565b6005545b90565b600c54600090600160a060020a0316331480610b865750336000908152600d602052604090205460ff1615156001145b1515610b9157600080fd5b821580610bb85750600083815260016020526040902054600160a060020a03858116911614155b15610bc257600080fd5b506000828152600f6020526040902060098101541515610be157600080fd5b600901555050565b6000818152600160205260408120548290600160a060020a031633811480610c21575033610c1683610970565b600160a060020a0316145b80610c4f5750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b1515610c5a57600080fd5b6000848152600160205260409020548490600160a060020a03161515610c7f57600080fd5b600085815260016020526040902054600160a060020a03908116945087168414610ca857600080fd5b600160a060020a0386161515610cbd57600080fd5b610cc7868661161d565b50505050505050565b600160a060020a0382166000908152600760205260408120548210610cf457600080fd5b600160a060020a0383166000908152600760205260409020805483908110610d1857fe5b9060005260206000200154905092915050565b610b4a8383836020604051908101604052806000815250611698565b600c54600160a060020a03163314610d5e57600080fd5b600e805460ff1916911515919091179055565b600c5474010000000000000000000000000000000000000000900461ffff1681565b6005546000908210610da457600080fd5b8160066000600585815481101515610db857fe5b9060005260206000200154815260200190815260200160002054141515610ddb57fe5b6005805483908110610de957fe5b90600052602060002001549050919050565b600c546000908190600160a060020a0316331480610e2d5750336000908152600d602052604090205460ff1615156001145b1515610e3857600080fd5b60008c8152601060205260408120541115610e5257600080fd5b5060118054600190810180835560008e8152601060209081526040808320849055928252600f9052208d81559081018c9055600281018b9055600381018a90556004810189905560058101889055600681018790556007810186905560088101859055600981018490559054610ec9908e906118f5565b50506011549b9a5050505050505050505050565b600081815260016020526040902054600160a060020a03168015156107ca57600080fd5b600c54600160a060020a03163314610f1857600080fd5b600160a060020a0381166000908152600d602052604090205460ff161515610fab57600160a060020a0381166000908152600d60205260409020805460ff19166001908117909155600c805461ffff7401000000000000000000000000000000000000000080830482169094011690920275ffff0000000000000000000000000000000000000000199092169190911790555b50565b6000600160a060020a0382161515610fc557600080fd5b50600160a060020a031660009081526003602052604090205490565b60115481565b600c54600160a060020a031681565b60106020526000908152604090205481565b600f602052806000526040600020600091509050806000015490806001015490806002015490806003015490806004015490806005015490806006015490806007015490806008015490806009015490508a565b600a8054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561085b5780601f106108305761010080835404028352916020019161085b565b600081815260016020526040812054600160a060020a031615156110e3575060006107ca565b506000908152600f602052604090205490565b6000908152600f60205260409020805460018201546002830154600384015460048501546005860154600687015460078801546008890154600990990154979996989597949693959294919390929190565b60009081526010602052604090205490565b600160a060020a038216151561116f57600080fd5b336000818152600460209081526040808320600160a060020a03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6000818152600160205260408120548290600160a060020a03163381148061121557503361120a83610970565b600160a060020a0316145b806112435750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b151561124e57600080fd5b6000848152600160205260409020548490600160a060020a0316151561127357600080fd5b600085815260016020526040902054600160a060020a0316935033841461129957600080fd5b600160a060020a03861615156112ae57600080fd5b6112b8868661161d565b505050505050565b600c54600160a060020a031633146112d757600080fd5b600160a060020a0381166000908152600d602052604090205460ff16151560011415610fab57600160a060020a03166000908152600d60205260409020805460ff19169055600c805475ffff0000000000000000000000000000000000000000198116740100000000000000000000000000000000000000009182900461ffff9081166000190116909102179055565b6113a385858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843750611698945050505050565b5050505050565b6000818152600160205260409020546060908290600160a060020a031615156113d257600080fd5b6000838152600b602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156114655780601f1061143a57610100808354040283529160200191611465565b820191906000526020600020905b81548152906001019060200180831161144857829003601f168201915b5050505050915050919050565b600090815260106020908152604080832054808452600f909252909120600181015460028201546003830154600484015460058501546006860154600787015460088801546009909801549899969895979496939592949193909290565b6000600160a060020a03831615156114e757600080fd5b600160a060020a03821615156114fc57600080fd5b50600160a060020a03918216600090815260046020908152604080832093909416825291909152205460ff1690565b600e5460ff1681565b600c54600160a060020a0316331461154b57600080fd5b600160a060020a03811615610fab57600c8054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b6115918282611946565b6000818152600b602052604090205460026000196101006001841615020190911604156115cf576000818152600b602052604081206115cf91611dd0565b5050565b6000828152600160205260409020548290600160a060020a031615156115f857600080fd5b6000838152600b60209081526040909120835161161792850190611e14565b50505050565b600081815260016020526040902054600160a060020a031661163e82611a06565b6116488183611a4e565b6116528383611b4f565b8183600160a060020a031682600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60008281526001602052604081205481908490600160a060020a0316338114806116d25750336116c783610970565b600160a060020a0316145b806117005750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b151561170b57600080fd5b6000868152600160205260409020548690600160a060020a0316151561173057600080fd5b600087815260016020526040902054600160a060020a0390811695508916851461175957600080fd5b600160a060020a038816151561176e57600080fd5b611778888861161d565b61178a88600160a060020a0316611b98565b156118ea576040517f150b7a020000000000000000000000000000000000000000000000000000000081523360048201818152600160a060020a038c81166024850152604484018b90526080606485019081528a5160848601528a51918d169463150b7a0294938f938e938e93909160a490910190602085019080838360005b8381101561182257818101518382015260200161180a565b50505050905090810190601f16801561184f5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561187157600080fd5b505af1158015611885573d6000803e3d6000fd5b505050506040513d602081101561189b57600080fd5b505193507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1984167f150b7a0200000000000000000000000000000000000000000000000000000000146118ea57600080fd5b505050505050505050565b60006119018383611ba0565b5060058054600181019091557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db081018290556000918252600660205260409091205550565b60008060006119558585611c29565b60055460001061196157fe5b6000848152600660205260409020546005805491945085918590811061198357fe5b906000526020600020015414151561199757fe5b6005805460001981019350839081106119ac57fe5b90600052602060002001549050806005848154811015156119c957fe5b60009182526020909120015560058054906119e8906000198301611e92565b50600090815260066020526040808220939093559283525081205550565b600081815260026020526040902054600160a060020a031615610fab576000908152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000806000611a5d8585611c9e565b600160a060020a03851660009081526007602052604081205411611a7d57fe5b600084815260086020908152604080832054600160a060020a038916845260079092529091208054919450600019820193509083908110611aba57fe5b90600052602060002001549050806007600087600160a060020a0316600160a060020a0316815260200190815260200160002084815481101515611afa57fe5b6000918252602080832090910192909255600160a060020a0387168152600790915260409020805490611b31906000198301611e92565b50600090815260086020526040808220939093559283525081205550565b6000611b5b8383611d2d565b50600160a060020a039091166000908152600760209081526040808320805460018101825590845282842081018590559383526008909152902055565b6000903b1190565b600160a060020a0382161515611bb557600080fd5b801515611bc157600080fd5b600081815260016020526040902054600160a060020a031615611be357600080fd5b611bed8282611b4f565b6040518190600160a060020a038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000818152600160205260409020548190600160a060020a03161515611c4e57600080fd5b611c5782611a06565b611c618383611a4e565b6040518290600090600160a060020a038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b600081815260016020526040902054600160a060020a03838116911614611cc457600080fd5b600160a060020a03821660009081526003602052604081205411611ce457fe5b600160a060020a03909116600090815260036020908152604080832080546000190190559282526001905220805473ffffffffffffffffffffffffffffffffffffffff19169055565b600081815260016020526040902054600160a060020a031615611d4f57600080fd5b6000818152600160208181526040808420805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0388169081179091558452600390915290912054611d9d91611dbd565b600160a060020a0390921660009081526003602052604090209190915550565b81810182811015611dca57fe5b92915050565b50805460018160011615610100020316600290046000825580601f10611df65750610fab565b601f016020900490600052602060002090810190610fab9190611eb2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e5557805160ff1916838001178555611e82565b82800160010185558215611e82579182015b82811115611e82578251825591602001919060010190611e67565b50611e8e929150611eb2565b5090565b815481835581811115610b4a57600083815260209020610b4a9181019083015b610b5391905b80821115611e8e5760008155600101611eb85600a165627a7a723058202c3fef4f318c4d21118cb8da1dc2a43553f2523c017903b7be6fcd7552fe41a10029

Deployed Bytecode

0x6080604052600436106101c15763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a781146101c657806306fdde031461021157806307d6573a1461029b578063081812fc14610300578063095ea7b31461033457806314d0f1ba1461035a578063162094c41461037b57806318160ddd1461039f5780631fd1ad22146103c657806323b872dd146103ed5780632f745c591461041757806342842e0e1461043b57806348ef5aa8146104655780634efb023e1461047f5780634f6ccce7146104ab57806359d54222146104c35780636352211e146105055780636c81fd6d1461051d57806370a082311461053e57806389bf1fa41461055f5780638da5cb5b1461057457806391d7befc146105895780639300eefe146105a157806395d89b4114610609578063971d26db1461061e5780639ea8cb8b146106365780639ed9f3841461064e578063a22cb46514610666578063a9059cbb1461068c578063b85d6275146106b0578063b88d4fde146106d1578063c87b56dd1461070a578063db86610714610722578063e985e9c51461073a578063ee4e441614610761578063f285329214610776575b600080fd5b3480156101d257600080fd5b506101fd7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1960043516610797565b604080519115158252519081900360200190f35b34801561021d57600080fd5b506102266107cf565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610260578181015183820152602001610248565b50505050905090810190601f16801561028d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102a757600080fd5b506102bf600160a060020a0360043516602435610865565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b34801561030c57600080fd5b50610318600435610970565b60408051600160a060020a039092168252519081900360200190f35b34801561034057600080fd5b50610358600160a060020a03600435166024356109b2565b005b34801561036657600080fd5b506101fd600160a060020a0360043516610ac3565b34801561038757600080fd5b50610358600480359060248035908101910135610ad8565b3480156103ab57600080fd5b506103b4610b4f565b60408051918252519081900360200190f35b3480156103d257600080fd5b50610358600160a060020a0360043516602435604435610b56565b3480156103f957600080fd5b50610358600160a060020a0360043581169060243516604435610be9565b34801561042357600080fd5b506103b4600160a060020a0360043516602435610cd0565b34801561044757600080fd5b50610358600160a060020a0360043581169060243516604435610d2b565b34801561047157600080fd5b506103586004351515610d47565b34801561048b57600080fd5b50610494610d71565b6040805161ffff9092168252519081900360200190f35b3480156104b757600080fd5b506103b4600435610d93565b3480156104cf57600080fd5b506103b4600160a060020a036004351660243560443560643560843560a43560c43560e435610104356101243561014435610dfb565b34801561051157600080fd5b50610318600435610edd565b34801561052957600080fd5b50610358600160a060020a0360043516610f01565b34801561054a57600080fd5b506103b4600160a060020a0360043516610fae565b34801561056b57600080fd5b506103b4610fe1565b34801561058057600080fd5b50610318610fe7565b34801561059557600080fd5b506103b4600435610ff6565b3480156105ad57600080fd5b506105b9600435611008565b604080519a8b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b34801561061557600080fd5b5061022661105c565b34801561062a57600080fd5b506103b46004356110bd565b34801561064257600080fd5b506105b96004356110f6565b34801561065a57600080fd5b506103b4600435611148565b34801561067257600080fd5b50610358600160a060020a0360043516602435151561115a565b34801561069857600080fd5b50610358600160a060020a03600435166024356111dd565b3480156106bc57600080fd5b50610358600160a060020a03600435166112c0565b3480156106dd57600080fd5b50610358600160a060020a0360048035821691602480359091169160443591606435908101910135611367565b34801561071657600080fd5b506102266004356113aa565b34801561072e57600080fd5b506105b9600435611472565b34801561074657600080fd5b506101fd600160a060020a03600435811690602435166114d0565b34801561076d57600080fd5b506101fd61152b565b34801561078257600080fd5b50610358600160a060020a0360043516611534565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19811660009081526020819052604090205460ff165b919050565b60098054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561085b5780601f106108305761010080835404028352916020019161085b565b820191906000526020600020905b81548152906001019060200180831161083e57829003601f168201915b5050505050905090565b6000806000806000806000806000600c60009054906101000a9004600160a060020a0316600160a060020a031633600160a060020a031614806108bc5750336000908152600d602052604090205460ff1615156001145b15156108c757600080fd5b8915806108ee575060008a815260016020526040902054600160a060020a038c8116911614155b156108f857600080fd5b506000898152600f602090815260408083206009810184905580548452601090925282209190915561092a8b8b611587565b8060010154816002015482600301548360040154846005015485600601548660070154876008015498509850985098509850985098509850509295985092959890939650565b6000818152600160205260408120548290600160a060020a0316151561099557600080fd5b5050600090815260026020526040902054600160a060020a031690565b6000818152600160205260408120548290600160a060020a0316338114806109fd5750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b1515610a0857600080fd5b6000848152600160205260409020548490600160a060020a03161515610a2d57600080fd5b600085815260016020526040902054600160a060020a0390811694508616841415610a5757600080fd5b600085815260026020526040808220805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038a811691821790925591518893918816917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050505050565b600d6020526000908152604090205460ff1681565b600c54600160a060020a0316331480610b055750336000908152600d602052604090205460ff1615156001145b1515610b1057600080fd5b610b4a8383838080601f016020809104026020016040519081016040528093929190818152602001838380828437506115d3945050505050565b505050565b6005545b90565b600c54600090600160a060020a0316331480610b865750336000908152600d602052604090205460ff1615156001145b1515610b9157600080fd5b821580610bb85750600083815260016020526040902054600160a060020a03858116911614155b15610bc257600080fd5b506000828152600f6020526040902060098101541515610be157600080fd5b600901555050565b6000818152600160205260408120548290600160a060020a031633811480610c21575033610c1683610970565b600160a060020a0316145b80610c4f5750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b1515610c5a57600080fd5b6000848152600160205260409020548490600160a060020a03161515610c7f57600080fd5b600085815260016020526040902054600160a060020a03908116945087168414610ca857600080fd5b600160a060020a0386161515610cbd57600080fd5b610cc7868661161d565b50505050505050565b600160a060020a0382166000908152600760205260408120548210610cf457600080fd5b600160a060020a0383166000908152600760205260409020805483908110610d1857fe5b9060005260206000200154905092915050565b610b4a8383836020604051908101604052806000815250611698565b600c54600160a060020a03163314610d5e57600080fd5b600e805460ff1916911515919091179055565b600c5474010000000000000000000000000000000000000000900461ffff1681565b6005546000908210610da457600080fd5b8160066000600585815481101515610db857fe5b9060005260206000200154815260200190815260200160002054141515610ddb57fe5b6005805483908110610de957fe5b90600052602060002001549050919050565b600c546000908190600160a060020a0316331480610e2d5750336000908152600d602052604090205460ff1615156001145b1515610e3857600080fd5b60008c8152601060205260408120541115610e5257600080fd5b5060118054600190810180835560008e8152601060209081526040808320849055928252600f9052208d81559081018c9055600281018b9055600381018a90556004810189905560058101889055600681018790556007810186905560088101859055600981018490559054610ec9908e906118f5565b50506011549b9a5050505050505050505050565b600081815260016020526040902054600160a060020a03168015156107ca57600080fd5b600c54600160a060020a03163314610f1857600080fd5b600160a060020a0381166000908152600d602052604090205460ff161515610fab57600160a060020a0381166000908152600d60205260409020805460ff19166001908117909155600c805461ffff7401000000000000000000000000000000000000000080830482169094011690920275ffff0000000000000000000000000000000000000000199092169190911790555b50565b6000600160a060020a0382161515610fc557600080fd5b50600160a060020a031660009081526003602052604090205490565b60115481565b600c54600160a060020a031681565b60106020526000908152604090205481565b600f602052806000526040600020600091509050806000015490806001015490806002015490806003015490806004015490806005015490806006015490806007015490806008015490806009015490508a565b600a8054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561085b5780601f106108305761010080835404028352916020019161085b565b600081815260016020526040812054600160a060020a031615156110e3575060006107ca565b506000908152600f602052604090205490565b6000908152600f60205260409020805460018201546002830154600384015460048501546005860154600687015460078801546008890154600990990154979996989597949693959294919390929190565b60009081526010602052604090205490565b600160a060020a038216151561116f57600080fd5b336000818152600460209081526040808320600160a060020a03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6000818152600160205260408120548290600160a060020a03163381148061121557503361120a83610970565b600160a060020a0316145b806112435750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b151561124e57600080fd5b6000848152600160205260409020548490600160a060020a0316151561127357600080fd5b600085815260016020526040902054600160a060020a0316935033841461129957600080fd5b600160a060020a03861615156112ae57600080fd5b6112b8868661161d565b505050505050565b600c54600160a060020a031633146112d757600080fd5b600160a060020a0381166000908152600d602052604090205460ff16151560011415610fab57600160a060020a03166000908152600d60205260409020805460ff19169055600c805475ffff0000000000000000000000000000000000000000198116740100000000000000000000000000000000000000009182900461ffff9081166000190116909102179055565b6113a385858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843750611698945050505050565b5050505050565b6000818152600160205260409020546060908290600160a060020a031615156113d257600080fd5b6000838152600b602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156114655780601f1061143a57610100808354040283529160200191611465565b820191906000526020600020905b81548152906001019060200180831161144857829003601f168201915b5050505050915050919050565b600090815260106020908152604080832054808452600f909252909120600181015460028201546003830154600484015460058501546006860154600787015460088801546009909801549899969895979496939592949193909290565b6000600160a060020a03831615156114e757600080fd5b600160a060020a03821615156114fc57600080fd5b50600160a060020a03918216600090815260046020908152604080832093909416825291909152205460ff1690565b600e5460ff1681565b600c54600160a060020a0316331461154b57600080fd5b600160a060020a03811615610fab57600c8054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b6115918282611946565b6000818152600b602052604090205460026000196101006001841615020190911604156115cf576000818152600b602052604081206115cf91611dd0565b5050565b6000828152600160205260409020548290600160a060020a031615156115f857600080fd5b6000838152600b60209081526040909120835161161792850190611e14565b50505050565b600081815260016020526040902054600160a060020a031661163e82611a06565b6116488183611a4e565b6116528383611b4f565b8183600160a060020a031682600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60008281526001602052604081205481908490600160a060020a0316338114806116d25750336116c783610970565b600160a060020a0316145b806117005750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b151561170b57600080fd5b6000868152600160205260409020548690600160a060020a0316151561173057600080fd5b600087815260016020526040902054600160a060020a0390811695508916851461175957600080fd5b600160a060020a038816151561176e57600080fd5b611778888861161d565b61178a88600160a060020a0316611b98565b156118ea576040517f150b7a020000000000000000000000000000000000000000000000000000000081523360048201818152600160a060020a038c81166024850152604484018b90526080606485019081528a5160848601528a51918d169463150b7a0294938f938e938e93909160a490910190602085019080838360005b8381101561182257818101518382015260200161180a565b50505050905090810190601f16801561184f5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561187157600080fd5b505af1158015611885573d6000803e3d6000fd5b505050506040513d602081101561189b57600080fd5b505193507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1984167f150b7a0200000000000000000000000000000000000000000000000000000000146118ea57600080fd5b505050505050505050565b60006119018383611ba0565b5060058054600181019091557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db081018290556000918252600660205260409091205550565b60008060006119558585611c29565b60055460001061196157fe5b6000848152600660205260409020546005805491945085918590811061198357fe5b906000526020600020015414151561199757fe5b6005805460001981019350839081106119ac57fe5b90600052602060002001549050806005848154811015156119c957fe5b60009182526020909120015560058054906119e8906000198301611e92565b50600090815260066020526040808220939093559283525081205550565b600081815260026020526040902054600160a060020a031615610fab576000908152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000806000611a5d8585611c9e565b600160a060020a03851660009081526007602052604081205411611a7d57fe5b600084815260086020908152604080832054600160a060020a038916845260079092529091208054919450600019820193509083908110611aba57fe5b90600052602060002001549050806007600087600160a060020a0316600160a060020a0316815260200190815260200160002084815481101515611afa57fe5b6000918252602080832090910192909255600160a060020a0387168152600790915260409020805490611b31906000198301611e92565b50600090815260086020526040808220939093559283525081205550565b6000611b5b8383611d2d565b50600160a060020a039091166000908152600760209081526040808320805460018101825590845282842081018590559383526008909152902055565b6000903b1190565b600160a060020a0382161515611bb557600080fd5b801515611bc157600080fd5b600081815260016020526040902054600160a060020a031615611be357600080fd5b611bed8282611b4f565b6040518190600160a060020a038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000818152600160205260409020548190600160a060020a03161515611c4e57600080fd5b611c5782611a06565b611c618383611a4e565b6040518290600090600160a060020a038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b600081815260016020526040902054600160a060020a03838116911614611cc457600080fd5b600160a060020a03821660009081526003602052604081205411611ce457fe5b600160a060020a03909116600090815260036020908152604080832080546000190190559282526001905220805473ffffffffffffffffffffffffffffffffffffffff19169055565b600081815260016020526040902054600160a060020a031615611d4f57600080fd5b6000818152600160208181526040808420805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0388169081179091558452600390915290912054611d9d91611dbd565b600160a060020a0390921660009081526003602052604090209190915550565b81810182811015611dca57fe5b92915050565b50805460018160011615610100020316600290046000825580601f10611df65750610fab565b601f016020900490600052602060002090810190610fab9190611eb2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e5557805160ff1916838001178555611e82565b82800160010185558215611e82579182015b82811115611e82578251825591602001919060010190611e67565b50611e8e929150611eb2565b5090565b815481835581811115610b4a57600083815260209020610b4a9181019083015b610b5391905b80821115611e8e5760008155600101611eb85600a165627a7a723058202c3fef4f318c4d21118cb8da1dc2a43553f2523c017903b7be6fcd7552fe41a10029

Swarm Source

bzzr://2c3fef4f318c4d21118cb8da1dc2a43553f2523c017903b7be6fcd7552fe41a1

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

Cubego or Cubegoes, are 3D building block(s) which enable you to build your very own bespoke and personalised 3D models called Cubegon.

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.