ETH Price: $3,076.77 (+2.86%)
Gas: 4 Gwei

Token

Cubegon (CUBEGON)
 

Overview

Max Total Supply

66 CUBEGON

Holders

40

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Balance
1 CUBEGON
0x55c3e66a54da4ff525e9aa5f3229b02cca381701
Loading...
Loading
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.

# Exchange Pair Price  24H Volume % Volume

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
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.