ETH Price: $3,318.64 (+2.12%)
Gas: 3 Gwei

Token

Vezt (VZT)
 

Overview

Max Total Supply

125,000,000 VZT

Holders

1,693 (0.00%)

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Vezt is an intellectual property rights marketplace that lets music fans buy rights in their favorite songs.

ICO Information

ICO Start Date : Nov 04, 2017   
ICO End Date : Dec 03, 2017
Raised : $1,380,644
ICO Price  : $0.5 | 0.00116 ETH

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Vezt

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-12-06
*/

pragma solidity 0.4.18;
/**
    Used for administrration of the VZT Token Contract
*/

contract Administration {

    // keeps track of the contract owner
    address     public  owner;
    // keeps track of the contract administrator
    address     public  administrator;
    // keeps track of hte song token exchange
    address     public  songTokenExchange;
    // keeps track of the royalty information contract
    address     public  royaltyInformationContract;
    // keeps track of whether or not the admin contract is frozen
    bool        public  administrationContractFrozen;

    // keeps track of the contract moderators
    mapping (address => bool) public moderators;

    event ModeratorAdded(address indexed _invoker, address indexed _newMod, bool indexed _newModAdded);
    event ModeratorRemoved(address indexed _invoker, address indexed _removeMod, bool indexed _modRemoved);
    event AdministratorAdded(address indexed _invoker, address indexed _newAdmin, bool indexed _newAdminAdded);
    event RoyaltyInformationContractSet(address indexed _invoker, address indexed _newRoyaltyContract, bool indexed _newRoyaltyContractSet);
    event SongTokenExchangeContractSet(address indexed _invoker, address indexed _newSongTokenExchangeContract, bool indexed _newSongTokenExchangeSet);

    function Administration() {
        owner = 0x79926C875f2636808de28CD73a45592587A537De;
        administrator = 0x79926C875f2636808de28CD73a45592587A537De;
        administrationContractFrozen = false;
    }

    /// @dev checks to see if the contract is frozen
    modifier isFrozen() {
        require(administrationContractFrozen);
        _;
    }

    /// @dev checks to see if the contract is not frozen
    modifier notFrozen() {
        require(!administrationContractFrozen);
        _;
    }

    /// @dev checks to see if the msg.sender is owner
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    /// @dev checks to see if msg.sender is owner, or admin
    modifier onlyAdmin() {
        require(msg.sender == owner || msg.sender == administrator);
        _;
    }

    /// @dev checks to see if msg.sender is owner, admin, or song token exchange
    modifier onlyAdminOrExchange() {
        require(msg.sender == owner || msg.sender == songTokenExchange || msg.sender == administrator);
        _;
    }

    /// @dev checks to see if msg.sender is privileged
    modifier onlyModerator() {
        if (msg.sender == owner) {_;}
        if (msg.sender == administrator) {_;}
        if (moderators[msg.sender]) {_;}
    }

    /// @notice used to freeze the administration contract
    function freezeAdministrationContract() public onlyAdmin notFrozen returns (bool frozen) {
        administrationContractFrozen = true;
        return true;
    }

    /// @notice used to unfreeze the administration contract
    function unfreezeAdministrationContract() public onlyAdmin isFrozen returns (bool unfrozen) {
        administrationContractFrozen = false;
        return true;
    }

    /// @notice used to set the royalty information contract
    function setRoyaltyInformationContract(address _royaltyInformationContract) public onlyAdmin notFrozen returns (bool set) {
        royaltyInformationContract = _royaltyInformationContract;
        RoyaltyInformationContractSet(msg.sender, _royaltyInformationContract, true);
        return true;
    }

    /// @notice used to set the song token exchange
    function setTokenExchange(address _songTokenExchange) public onlyAdmin notFrozen returns (bool set) {
        songTokenExchange = _songTokenExchange;
        SongTokenExchangeContractSet(msg.sender, _songTokenExchange, true);
        return true;
    }

    /// @notice used to add a moderator
    function addModerator(address _newMod) public onlyAdmin notFrozen returns (bool success) {
        moderators[_newMod] = true;
        ModeratorAdded(msg.sender, _newMod, true);
        return true;
    }

    /// @notice used to remove a moderator
    function removeModerator(address _removeMod) public onlyAdmin notFrozen returns (bool success) {
        moderators[_removeMod] = false;
        ModeratorRemoved(msg.sender, _removeMod, true);
        return true;
    }

    /// @notice used to set an administrator
    function setAdministrator(address _administrator) public onlyOwner notFrozen returns (bool success) {
        administrator = _administrator;
        AdministratorAdded(msg.sender, _administrator, true);
        return true;
    }

    /// @notice used to transfer contract ownership
    function transferOwnership(address _newOwner) public onlyOwner notFrozen returns (bool success) {
        owner = _newOwner;
        return true;
    }
}

library SafeMath {

  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a * b;
    require(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a / b;
    return c;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    require(c >= a);
    return c;
  }
}

/**
    Version: 1.0.1
*/

contract Vezt is Administration {
    using SafeMath for uint256;

    uint256                 public  totalSupply;
    uint8                   public  decimals;
    string                  public  name;
    string                  public  symbol;
    bool                    public  tokenTransfersFrozen;
    bool                    public  tokenMintingEnabled;
    bool                    public  contractLaunched;

    mapping (address => uint256)                        public balances;
    mapping (address => mapping (address => uint256))   public allowed;


    event Transfer(address indexed _sender, address indexed _recipient, uint256 _amount);
    event Approve(address indexed _owner, address indexed _spender, uint256 _amount);
    event LaunchContract(address indexed _launcher, bool _launched);
    event FreezeTokenTransfers(address indexed _invoker, bool _frozen);
    event ThawTokenTransfers(address indexed _invoker, bool _thawed);
    event MintTokens(address indexed _minter, uint256 _amount, bool indexed _minted);
    event TokenMintingDisabled(address indexed _invoker, bool indexed _disabled);
    event TokenMintingEnabled(address indexed _invoker, bool indexed _enabled);
    event SongTokenAdded(address indexed _songTokenAddress, bool indexed _songTokenAdded);
    event SongTokenRemoved(address indexed _songTokenAddress, bool indexed _songTokenRemoved);

    function Vezt() {
        name = "Vezt";
        symbol = "VZT";
        decimals = 18;
        totalSupply = 125000000000000000000000000;
        balances[0x79926C875f2636808de28CD73a45592587A537De] = balances[0x79926C875f2636808de28CD73a45592587A537De].add(totalSupply);
        tokenTransfersFrozen = true;
        tokenMintingEnabled = false;
        contractLaunched = false;
    }

    /**
        @dev Used by admin to send bulk amount of transfers, primary purpose to replay tx from the crowdfund to make it easier to do bulk sending
        @notice Can also be used for general bulk transfers  via the associated python script
     */
    function transactionReplay(address _receiver, uint256 _amount)
        public
        onlyOwner
        returns (bool replayed)
    {
        require(transferCheck(msg.sender, _receiver, _amount));
        balances[msg.sender] = balances[msg.sender].sub(_amount);
        balances[_receiver] = balances[_receiver].add(_amount);
        Transfer(msg.sender, _receiver, _amount);
        return true;
    }

    /**
        @notice Used to launch the contract
     */
    function launchContract() 
        public
        onlyOwner
        returns (bool launched)
    {
        require(!contractLaunched);
        tokenTransfersFrozen = false;
        tokenMintingEnabled = true;
        contractLaunched = true;
        LaunchContract(msg.sender, true);
        return true;
    }

    /**
        @notice Used to disable token minting
     */
    function disableTokenMinting() 
        public
        onlyOwner
        returns (bool disabled) 
    {
        tokenMintingEnabled = false;
        TokenMintingDisabled(msg.sender, true);
        return true;
    }

    /**
        @notice Used to enable token minting
     */
    function enableTokenMinting() 
        public
        onlyOwner
        returns (bool enabled)
    {
        tokenMintingEnabled = true;
        TokenMintingEnabled(msg.sender, true);
        return true;
    }

    /**
        @notice Used to freeze token transfers
     */
    function freezeTokenTransfers()
        public
        onlyOwner
        returns (bool frozen)
    {
        tokenTransfersFrozen = true;
        FreezeTokenTransfers(msg.sender, true);
        return true;
    }

    /**
        @notice Used to thaw token tra4nsfers
     */
    function thawTokenTransfers()
        public
        onlyOwner
        returns (bool thawed)
    {
        tokenTransfersFrozen = false;
        ThawTokenTransfers(msg.sender, true);
        return true;
    }

    /**
        @notice Used to transfer funds
     */
    function transfer(address _receiver, uint256 _amount)
        public
        returns (bool transferred)
    {
        require(transferCheck(msg.sender, _receiver, _amount));
        balances[msg.sender] = balances[msg.sender].sub(_amount);
        balances[_receiver] = balances[_receiver].add(_amount);
        Transfer(msg.sender, _receiver, _amount);
        return true;
    }

    /**
        @notice Used to transfer funds on behalf of someone
     */
    function transferFrom(address _owner, address _receiver, uint256 _amount) 
        public 
        returns (bool transferred)
    {
        require(allowed[_owner][msg.sender] >= _amount);
        require(transferCheck(_owner, _receiver, _amount));
        allowed[_owner][msg.sender] = allowed[_owner][msg.sender].sub(_amount);
        balances[_owner] = balances[_owner].sub(_amount);
        balances[_receiver] = balances[_receiver].add(_amount);
        Transfer(_owner, _receiver, _amount);
        return true;
    }

    /**
        @notice Used to approve someone to spend funds on your behalf
     */
    function approve(address _spender, uint256 _amount)
        public
        returns (bool approved)
    {
        require(_amount > 0);
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_amount);
        Approve(msg.sender, _spender, _amount);
        return true;
    }
    
    /**
        @notice Used to burn tokens
     */
    function tokenBurner(uint256 _amount)
        public
        onlyOwner
        returns (bool burned)
    {
        require(_amount > 0);
        require(totalSupply.sub(_amount) >= 0);
        require(balances[msg.sender] >= _amount);
        require(balances[msg.sender].sub(_amount) >= 0);
        totalSupply = totalSupply.sub(_amount);
        balances[msg.sender] = balances[msg.sender].sub(_amount);
        Transfer(msg.sender, 0, _amount);
        return true;
    }

    /**
        @notice Used to mint new tokens
    */
    function tokenFactory(uint256 _amount)
        public 
        onlyOwner
        returns (bool minted)
    {
        // this calls the token minter function which is used to do a sanity check of the parameters being passed in
        require(tokenMinter(_amount, msg.sender));
        totalSupply = totalSupply.add(_amount);
        balances[msg.sender] = balances[msg.sender].add(_amount);
        Transfer(0, msg.sender, _amount);
        return true;
    }

    // Internals

    /**
        @dev Low level function used to do a sanity check of minting params
     */
    function tokenMinter(uint256 _amount, address _sender)
        internal
        view
        returns (bool valid)
    {
        require(tokenMintingEnabled);
        require(_amount > 0);
        require(_sender != address(0x0));
        require(totalSupply.add(_amount) > 0);
        require(totalSupply.add(_amount) > totalSupply);
        require(balances[_sender].add(_amount) > 0);
        require(balances[_sender].add(_amount) > balances[_sender]);
        return true;
    }
    
    /**
        @dev Prevents people from sending to a  a null address        
        @notice Low level function used to do a sanity check of transfer parameters
     */
    function transferCheck(address _sender, address _receiver, uint256 _amount)
        internal
        view
        returns (bool valid)
    {
        require(!tokenTransfersFrozen);
        require(_amount > 0);
        require(_receiver != address(0));
        require(balances[_sender] >= _amount); // added check
        require(balances[_sender].sub(_amount) >= 0);
        require(balances[_receiver].add(_amount) > 0);
        require(balances[_receiver].add(_amount) > balances[_receiver]);
        return true;
    }

    // Getters

    /**
        @notice Used to retrieve total supply
     */
    function totalSupply() 
        public
        view
        returns (uint256 _totalSupply)
    {
        return totalSupply;
    }


    /**
        @notice Used to retrieve balance of a user
     */
    function balanceOf(address _person)
        public
        view
        returns (uint256 _balanceOf)
    {
        return balances[_person];
    }

    /**
        @notice Used to retrieve the allowed balance of someone
     */
    function allowance(address _owner, address _spender)
        public 
        view
        returns (uint256 _allowance)
    {
        return allowed[_owner][_spender];
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"approved","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_royaltyInformationContract","type":"address"}],"name":"setRoyaltyInformationContract","outputs":[{"name":"set","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"freezeAdministrationContract","outputs":[{"name":"frozen","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"royaltyInformationContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"moderators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"_totalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"launchContract","outputs":[{"name":"launched","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_receiver","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"transferred","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"enableTokenMinting","outputs":[{"name":"enabled","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transactionReplay","outputs":[{"name":"replayed","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"songTokenExchange","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"thawTokenTransfers","outputs":[{"name":"thawed","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unfreezeAdministrationContract","outputs":[{"name":"unfrozen","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"tokenFactory","outputs":[{"name":"minted","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_person","type":"address"}],"name":"balanceOf","outputs":[{"name":"_balanceOf","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"administrationContractFrozen","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenTransfersFrozen","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_removeMod","type":"address"}],"name":"removeModerator","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"tokenBurner","outputs":[{"name":"burned","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"transferred","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"disableTokenMinting","outputs":[{"name":"disabled","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"contractLaunched","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newMod","type":"address"}],"name":"addModerator","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenMintingEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"_allowance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"freezeTokenTransfers","outputs":[{"name":"frozen","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_administrator","type":"address"}],"name":"setAdministrator","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_songTokenExchange","type":"address"}],"name":"setTokenExchange","outputs":[{"name":"set","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"administrator","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_sender","type":"address"},{"indexed":true,"name":"_recipient","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Approve","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_launcher","type":"address"},{"indexed":false,"name":"_launched","type":"bool"}],"name":"LaunchContract","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_invoker","type":"address"},{"indexed":false,"name":"_frozen","type":"bool"}],"name":"FreezeTokenTransfers","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_invoker","type":"address"},{"indexed":false,"name":"_thawed","type":"bool"}],"name":"ThawTokenTransfers","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_minter","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"},{"indexed":true,"name":"_minted","type":"bool"}],"name":"MintTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_invoker","type":"address"},{"indexed":true,"name":"_disabled","type":"bool"}],"name":"TokenMintingDisabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_invoker","type":"address"},{"indexed":true,"name":"_enabled","type":"bool"}],"name":"TokenMintingEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_songTokenAddress","type":"address"},{"indexed":true,"name":"_songTokenAdded","type":"bool"}],"name":"SongTokenAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_songTokenAddress","type":"address"},{"indexed":true,"name":"_songTokenRemoved","type":"bool"}],"name":"SongTokenRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_invoker","type":"address"},{"indexed":true,"name":"_newMod","type":"address"},{"indexed":true,"name":"_newModAdded","type":"bool"}],"name":"ModeratorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_invoker","type":"address"},{"indexed":true,"name":"_removeMod","type":"address"},{"indexed":true,"name":"_modRemoved","type":"bool"}],"name":"ModeratorRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_invoker","type":"address"},{"indexed":true,"name":"_newAdmin","type":"address"},{"indexed":true,"name":"_newAdminAdded","type":"bool"}],"name":"AdministratorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_invoker","type":"address"},{"indexed":true,"name":"_newRoyaltyContract","type":"address"},{"indexed":true,"name":"_newRoyaltyContractSet","type":"bool"}],"name":"RoyaltyInformationContractSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_invoker","type":"address"},{"indexed":true,"name":"_newSongTokenExchangeContract","type":"address"},{"indexed":true,"name":"_newSongTokenExchangeSet","type":"bool"}],"name":"SongTokenExchangeContractSet","type":"event"}]

606060405234156200001057600080fd5b600080547379926c875f2636808de28cd73a45592587a537de600160a060020a031991821681179092556001805490911690911790556003805460a060020a60ff021916905560408051908101604052600481527f56657a7400000000000000000000000000000000000000000000000000000000602082015260079080516200009f929160200190620001b2565b5060408051908101604052600381527f565a54000000000000000000000000000000000000000000000000000000000060208201526008908051620000e9929160200190620001b2565b506006805460ff191660121790556a6765c793fa10079d00000060058190557379926c875f2636808de28cd73a45592587a537de600052600a602052600080516020620018a2833981519152546200014f91640100000000620013db6200019882021704565b7379926c875f2636808de28cd73a45592587a537de600052600a602052600080516020620018a2833981519152556009805462ffff001960ff1990911660011716905562000257565b600082820183811015620001ab57600080fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001f557805160ff191683800117855562000225565b8280016001018555821562000225579182015b828111156200022557825182559160200191906001019062000208565b506200023392915062000237565b5090565b6200025491905b808211156200023357600081556001016200023e565b90565b61163b80620002676000396000f3006060604052600436106101c15763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101c6578063095ea7b3146102505780630b3a2ffd146102865780631181a459146102a557806311c33625146102b857806314d0f1ba146102e757806318160ddd1461030657806319d45a081461032b57806323b872dd1461033e578063274586641461036657806327e235e31461037957806330d6821414610398578063313ce567146103ba5780633f047053146103e3578063421ae949146103f65780634a4a2b52146104095780635c6581651461041c5780635f2ef12d1461044157806370a082311461045757806378ed43c1146104765780637b9dc06614610489578063869d785f1461049c5780638b1cc4f4146104bb5780638da5cb5b146104d157806395d89b41146104e4578063a9059cbb146104f7578063a924ee6014610519578063aec205a51461052c578063b532e4cb1461053f578063b966f3501461055e578063dd62ed3e14610571578063de8b888e14610596578063df8089ef146105a9578063f0d97469146105c8578063f2fde38b146105e7578063f53d0a8e14610606575b600080fd5b34156101d157600080fd5b6101d9610619565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102155780820151838201526020016101fd565b50505050905090810190601f1680156102425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561025b57600080fd5b610272600160a060020a03600435166024356106b7565b604051901515815260200160405180910390f35b341561029157600080fd5b610272600160a060020a0360043516610767565b34156102b057600080fd5b61027261081a565b34156102c357600080fd5b6102cb610892565b604051600160a060020a03909116815260200160405180910390f35b34156102f257600080fd5b610272600160a060020a03600435166108a1565b341561031157600080fd5b6103196108b6565b60405190815260200160405180910390f35b341561033657600080fd5b6102726108bc565b341561034957600080fd5b610272600160a060020a0360043581169060243516604435610950565b341561037157600080fd5b610272610a9e565b341561038457600080fd5b610319600160a060020a0360043516610b07565b34156103a357600080fd5b610272600160a060020a0360043516602435610b19565b34156103c557600080fd5b6103cd610bf8565b60405160ff909116815260200160405180910390f35b34156103ee57600080fd5b6102cb610c01565b341561040157600080fd5b610272610c10565b341561041457600080fd5b610272610c7c565b341561042757600080fd5b610319600160a060020a0360043581169060243516610cef565b341561044c57600080fd5b610272600435610d0c565b341561046257600080fd5b610319600160a060020a0360043516610dc4565b341561048157600080fd5b610272610ddf565b341561049457600080fd5b610272610def565b34156104a757600080fd5b610272600160a060020a0360043516610df8565b34156104c657600080fd5b610272600435610ea2565b34156104dc57600080fd5b6102cb610fcc565b34156104ef57600080fd5b6101d9610fdb565b341561050257600080fd5b610272600160a060020a0360043516602435611046565b341561052457600080fd5b610272611053565b341561053757600080fd5b6102726110b8565b341561054a57600080fd5b610272600160a060020a03600435166110c7565b341561056957600080fd5b610272611175565b341561057c57600080fd5b610319600160a060020a0360043581169060243516611183565b34156105a157600080fd5b6102726111ae565b34156105b457600080fd5b610272600160a060020a0360043516611220565b34156105d357600080fd5b610272600160a060020a03600435166112b4565b34156105f257600080fd5b610272600160a060020a0360043516611367565b341561061157600080fd5b6102cb6113cc565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106af5780601f10610684576101008083540402835291602001916106af565b820191906000526020600020905b81548152906001019060200180831161069257829003601f168201915b505050505081565b60008082116106c557600080fd5b600160a060020a033381166000908152600b60209081526040808320938716835292905220546106fb908363ffffffff6113db16565b600160a060020a033381166000818152600b6020908152604080832094891680845294909152908190209390935590917f6e11fb1b7f119e3f2fa29896ef5fdf8b8a2d0d4df6fe90ba8668e7d8b2ffa25e9085905190815260200160405180910390a350600192915050565b6000805433600160a060020a0390811691161480610793575060015433600160a060020a039081169116145b151561079e57600080fd5b60035460a060020a900460ff16156107b557600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384811691821790925560019133167faf6fce9a67a1c3ca64d9a2767f915e247cd584a5a69fe4c442dd7e80a05938b460405160405180910390a4506001919050565b6000805433600160a060020a0390811691161480610846575060015433600160a060020a039081169116145b151561085157600080fd5b60035460a060020a900460ff161561086857600080fd5b506003805474ff0000000000000000000000000000000000000000191660a060020a179055600190565b600354600160a060020a031681565b60046020526000908152604090205460ff1681565b60055490565b6000805433600160a060020a039081169116146108d857600080fd5b60095462010000900460ff16156108ee57600080fd5b6009805462ff00001961ffff19909116610100171662010000179055600160a060020a0333167fb733e6a60f8bbfac7c0e4ef184f7abd0dca1f382614bc01852c369aab38012526001604051901515815260200160405180910390a250600190565b600160a060020a038084166000908152600b60209081526040808320339094168352929052908120548290101561098657600080fd5b6109918484846113f4565b151561099c57600080fd5b600160a060020a038085166000908152600b6020908152604080832033909416835292905220546109d3908363ffffffff6114f316565b600160a060020a038086166000818152600b6020908152604080832033909516835293815283822094909455908152600a909252902054610a1a908363ffffffff6114f316565b600160a060020a038086166000908152600a60205260408082209390935590851681522054610a4f908363ffffffff6113db16565b600160a060020a038085166000818152600a6020526040908190209390935591908616906000805160206115f08339815191529085905190815260200160405180910390a35060019392505050565b6000805433600160a060020a03908116911614610aba57600080fd5b6009805461ff0019166101001790556001600160a060020a0333167f76d6da6753083b5bccfca2e5ae0f430000daba1093ba4e3fff7b4e82f4b54ab660405160405180910390a350600190565b600a6020526000908152604090205481565b6000805433600160a060020a03908116911614610b3557600080fd5b610b403384846113f4565b1515610b4b57600080fd5b600160a060020a0333166000908152600a6020526040902054610b74908363ffffffff6114f316565b600160a060020a033381166000908152600a60205260408082209390935590851681522054610ba9908363ffffffff6113db16565b600160a060020a038085166000818152600a602052604090819020939093559133909116906000805160206115f08339815191529085905190815260200160405180910390a350600192915050565b60065460ff1681565b600254600160a060020a031681565b6000805433600160a060020a03908116911614610c2c57600080fd5b6009805460ff19169055600160a060020a0333167f5828fa47395aa7d9f4905d1c15e3c5165eb67c34d3a5cd09c1c2916c080f9c406001604051901515815260200160405180910390a250600190565b6000805433600160a060020a0390811691161480610ca8575060015433600160a060020a039081169116145b1515610cb357600080fd5b60035460a060020a900460ff161515610ccb57600080fd5b506003805474ff000000000000000000000000000000000000000019169055600190565b600b60209081526000928352604080842090915290825290205481565b6000805433600160a060020a03908116911614610d2857600080fd5b610d328233611508565b1515610d3d57600080fd5b600554610d50908363ffffffff6113db16565b600555600160a060020a0333166000908152600a6020526040902054610d7c908363ffffffff6113db16565b600160a060020a0333166000818152600a60205260408082209390935590916000805160206115f08339815191529085905190815260200160405180910390a3506001919050565b600160a060020a03166000908152600a602052604090205490565b60035460a060020a900460ff1681565b60095460ff1681565b6000805433600160a060020a0390811691161480610e24575060015433600160a060020a039081169116145b1515610e2f57600080fd5b60035460a060020a900460ff1615610e4657600080fd5b600160a060020a0380831660008181526004602052604090819020805460ff191690556001923316907f0f14a7e416f3692a50ecdee1e7584bda5edec2b038628339fc76a12f0cd59bb3905160405180910390a4506001919050565b6000805433600160a060020a03908116911614610ebe57600080fd5b60008211610ecb57600080fd5b600554600090610ee1908463ffffffff6114f316565b1015610eec57600080fd5b600160a060020a0333166000908152600a602052604090205482901015610f1257600080fd5b600160a060020a0333166000908152600a6020526040812054610f3b908463ffffffff6114f316565b1015610f4657600080fd5b600554610f59908363ffffffff6114f316565b600555600160a060020a0333166000908152600a6020526040902054610f85908363ffffffff6114f316565b600160a060020a0333166000818152600a602052604080822093909355916000805160206115f08339815191529085905190815260200160405180910390a3506001919050565b600054600160a060020a031681565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106af5780601f10610684576101008083540402835291602001916106af565b6000610b403384846113f4565b6000805433600160a060020a0390811691161461106f57600080fd5b6009805461ff00191690556001600160a060020a0333167fa6846026c4702d5e704d78db0856515d2b46ef6fe3af6dc2d1fce72acb58171260405160405180910390a350600190565b60095462010000900460ff1681565b6000805433600160a060020a03908116911614806110f3575060015433600160a060020a039081169116145b15156110fe57600080fd5b60035460a060020a900460ff161561111557600080fd5b600160a060020a0380831660008181526004602052604090819020805460ff19166001908117909155923316907f88e851277118609fa8461909ab8df4fc0769a9f9a87a7280ee7cc786ba34b626905160405180910390a4506001919050565b600954610100900460ff1681565b600160a060020a039182166000908152600b6020908152604080832093909416825291909152205490565b6000805433600160a060020a039081169116146111ca57600080fd5b6009805460ff19166001908117909155600160a060020a033316907f323b1b8750b22ac5e388713f0216f66494006ce639e723b5b8194d0798dbce2290604051901515815260200160405180910390a250600190565b6000805433600160a060020a0390811691161461123c57600080fd5b60035460a060020a900460ff161561125357600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03848116918217835533167fc2619a5a11438a95c2900300f56ee49c40e9432e9532ade8d6eed067582cad5e60405160405180910390a4506001919050565b6000805433600160a060020a03908116911614806112e0575060015433600160a060020a039081169116145b15156112eb57600080fd5b60035460a060020a900460ff161561130257600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384811691821790925560019133167f4112ea75cd202057087adfd09e37ffea9394c83b8db7787fa4e83f094cd12c6160405160405180910390a4506001919050565b6000805433600160a060020a0390811691161461138357600080fd5b60035460a060020a900460ff161561139a57600080fd5b5060008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b600154600160a060020a031681565b6000828201838110156113ed57600080fd5b9392505050565b60095460009060ff161561140757600080fd5b6000821161141457600080fd5b600160a060020a038316151561142957600080fd5b600160a060020a0384166000908152600a60205260409020548290101561144f57600080fd5b600160a060020a0384166000908152600a6020526040812054611478908463ffffffff6114f316565b101561148357600080fd5b600160a060020a0383166000908152600a60205260408120546114ac908463ffffffff6113db16565b116114b657600080fd5b600160a060020a0383166000908152600a60205260409020546114df818463ffffffff6113db16565b116114e957600080fd5b5060019392505050565b60008282111561150257600080fd5b50900390565b600954600090610100900460ff16151561152157600080fd5b6000831161152e57600080fd5b600160a060020a038216151561154357600080fd5b600554600090611559908563ffffffff6113db16565b1161156357600080fd5b600554611576818563ffffffff6113db16565b1161158057600080fd5b600160a060020a0382166000908152600a60205260408120546115a9908563ffffffff6113db16565b116115b357600080fd5b600160a060020a0382166000908152600a60205260409020546115dc818563ffffffff6113db16565b116115e657600080fd5b506001929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820047d9d2cb45883ec04d0d535864da2870e980358b619d443d39014a569af786000291736ca5393f3812c2603595f21a90b304696cf2fcde84862d52305320c0a5e9c

Deployed Bytecode

0x6060604052600436106101c15763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101c6578063095ea7b3146102505780630b3a2ffd146102865780631181a459146102a557806311c33625146102b857806314d0f1ba146102e757806318160ddd1461030657806319d45a081461032b57806323b872dd1461033e578063274586641461036657806327e235e31461037957806330d6821414610398578063313ce567146103ba5780633f047053146103e3578063421ae949146103f65780634a4a2b52146104095780635c6581651461041c5780635f2ef12d1461044157806370a082311461045757806378ed43c1146104765780637b9dc06614610489578063869d785f1461049c5780638b1cc4f4146104bb5780638da5cb5b146104d157806395d89b41146104e4578063a9059cbb146104f7578063a924ee6014610519578063aec205a51461052c578063b532e4cb1461053f578063b966f3501461055e578063dd62ed3e14610571578063de8b888e14610596578063df8089ef146105a9578063f0d97469146105c8578063f2fde38b146105e7578063f53d0a8e14610606575b600080fd5b34156101d157600080fd5b6101d9610619565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102155780820151838201526020016101fd565b50505050905090810190601f1680156102425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561025b57600080fd5b610272600160a060020a03600435166024356106b7565b604051901515815260200160405180910390f35b341561029157600080fd5b610272600160a060020a0360043516610767565b34156102b057600080fd5b61027261081a565b34156102c357600080fd5b6102cb610892565b604051600160a060020a03909116815260200160405180910390f35b34156102f257600080fd5b610272600160a060020a03600435166108a1565b341561031157600080fd5b6103196108b6565b60405190815260200160405180910390f35b341561033657600080fd5b6102726108bc565b341561034957600080fd5b610272600160a060020a0360043581169060243516604435610950565b341561037157600080fd5b610272610a9e565b341561038457600080fd5b610319600160a060020a0360043516610b07565b34156103a357600080fd5b610272600160a060020a0360043516602435610b19565b34156103c557600080fd5b6103cd610bf8565b60405160ff909116815260200160405180910390f35b34156103ee57600080fd5b6102cb610c01565b341561040157600080fd5b610272610c10565b341561041457600080fd5b610272610c7c565b341561042757600080fd5b610319600160a060020a0360043581169060243516610cef565b341561044c57600080fd5b610272600435610d0c565b341561046257600080fd5b610319600160a060020a0360043516610dc4565b341561048157600080fd5b610272610ddf565b341561049457600080fd5b610272610def565b34156104a757600080fd5b610272600160a060020a0360043516610df8565b34156104c657600080fd5b610272600435610ea2565b34156104dc57600080fd5b6102cb610fcc565b34156104ef57600080fd5b6101d9610fdb565b341561050257600080fd5b610272600160a060020a0360043516602435611046565b341561052457600080fd5b610272611053565b341561053757600080fd5b6102726110b8565b341561054a57600080fd5b610272600160a060020a03600435166110c7565b341561056957600080fd5b610272611175565b341561057c57600080fd5b610319600160a060020a0360043581169060243516611183565b34156105a157600080fd5b6102726111ae565b34156105b457600080fd5b610272600160a060020a0360043516611220565b34156105d357600080fd5b610272600160a060020a03600435166112b4565b34156105f257600080fd5b610272600160a060020a0360043516611367565b341561061157600080fd5b6102cb6113cc565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106af5780601f10610684576101008083540402835291602001916106af565b820191906000526020600020905b81548152906001019060200180831161069257829003601f168201915b505050505081565b60008082116106c557600080fd5b600160a060020a033381166000908152600b60209081526040808320938716835292905220546106fb908363ffffffff6113db16565b600160a060020a033381166000818152600b6020908152604080832094891680845294909152908190209390935590917f6e11fb1b7f119e3f2fa29896ef5fdf8b8a2d0d4df6fe90ba8668e7d8b2ffa25e9085905190815260200160405180910390a350600192915050565b6000805433600160a060020a0390811691161480610793575060015433600160a060020a039081169116145b151561079e57600080fd5b60035460a060020a900460ff16156107b557600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384811691821790925560019133167faf6fce9a67a1c3ca64d9a2767f915e247cd584a5a69fe4c442dd7e80a05938b460405160405180910390a4506001919050565b6000805433600160a060020a0390811691161480610846575060015433600160a060020a039081169116145b151561085157600080fd5b60035460a060020a900460ff161561086857600080fd5b506003805474ff0000000000000000000000000000000000000000191660a060020a179055600190565b600354600160a060020a031681565b60046020526000908152604090205460ff1681565b60055490565b6000805433600160a060020a039081169116146108d857600080fd5b60095462010000900460ff16156108ee57600080fd5b6009805462ff00001961ffff19909116610100171662010000179055600160a060020a0333167fb733e6a60f8bbfac7c0e4ef184f7abd0dca1f382614bc01852c369aab38012526001604051901515815260200160405180910390a250600190565b600160a060020a038084166000908152600b60209081526040808320339094168352929052908120548290101561098657600080fd5b6109918484846113f4565b151561099c57600080fd5b600160a060020a038085166000908152600b6020908152604080832033909416835292905220546109d3908363ffffffff6114f316565b600160a060020a038086166000818152600b6020908152604080832033909516835293815283822094909455908152600a909252902054610a1a908363ffffffff6114f316565b600160a060020a038086166000908152600a60205260408082209390935590851681522054610a4f908363ffffffff6113db16565b600160a060020a038085166000818152600a6020526040908190209390935591908616906000805160206115f08339815191529085905190815260200160405180910390a35060019392505050565b6000805433600160a060020a03908116911614610aba57600080fd5b6009805461ff0019166101001790556001600160a060020a0333167f76d6da6753083b5bccfca2e5ae0f430000daba1093ba4e3fff7b4e82f4b54ab660405160405180910390a350600190565b600a6020526000908152604090205481565b6000805433600160a060020a03908116911614610b3557600080fd5b610b403384846113f4565b1515610b4b57600080fd5b600160a060020a0333166000908152600a6020526040902054610b74908363ffffffff6114f316565b600160a060020a033381166000908152600a60205260408082209390935590851681522054610ba9908363ffffffff6113db16565b600160a060020a038085166000818152600a602052604090819020939093559133909116906000805160206115f08339815191529085905190815260200160405180910390a350600192915050565b60065460ff1681565b600254600160a060020a031681565b6000805433600160a060020a03908116911614610c2c57600080fd5b6009805460ff19169055600160a060020a0333167f5828fa47395aa7d9f4905d1c15e3c5165eb67c34d3a5cd09c1c2916c080f9c406001604051901515815260200160405180910390a250600190565b6000805433600160a060020a0390811691161480610ca8575060015433600160a060020a039081169116145b1515610cb357600080fd5b60035460a060020a900460ff161515610ccb57600080fd5b506003805474ff000000000000000000000000000000000000000019169055600190565b600b60209081526000928352604080842090915290825290205481565b6000805433600160a060020a03908116911614610d2857600080fd5b610d328233611508565b1515610d3d57600080fd5b600554610d50908363ffffffff6113db16565b600555600160a060020a0333166000908152600a6020526040902054610d7c908363ffffffff6113db16565b600160a060020a0333166000818152600a60205260408082209390935590916000805160206115f08339815191529085905190815260200160405180910390a3506001919050565b600160a060020a03166000908152600a602052604090205490565b60035460a060020a900460ff1681565b60095460ff1681565b6000805433600160a060020a0390811691161480610e24575060015433600160a060020a039081169116145b1515610e2f57600080fd5b60035460a060020a900460ff1615610e4657600080fd5b600160a060020a0380831660008181526004602052604090819020805460ff191690556001923316907f0f14a7e416f3692a50ecdee1e7584bda5edec2b038628339fc76a12f0cd59bb3905160405180910390a4506001919050565b6000805433600160a060020a03908116911614610ebe57600080fd5b60008211610ecb57600080fd5b600554600090610ee1908463ffffffff6114f316565b1015610eec57600080fd5b600160a060020a0333166000908152600a602052604090205482901015610f1257600080fd5b600160a060020a0333166000908152600a6020526040812054610f3b908463ffffffff6114f316565b1015610f4657600080fd5b600554610f59908363ffffffff6114f316565b600555600160a060020a0333166000908152600a6020526040902054610f85908363ffffffff6114f316565b600160a060020a0333166000818152600a602052604080822093909355916000805160206115f08339815191529085905190815260200160405180910390a3506001919050565b600054600160a060020a031681565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106af5780601f10610684576101008083540402835291602001916106af565b6000610b403384846113f4565b6000805433600160a060020a0390811691161461106f57600080fd5b6009805461ff00191690556001600160a060020a0333167fa6846026c4702d5e704d78db0856515d2b46ef6fe3af6dc2d1fce72acb58171260405160405180910390a350600190565b60095462010000900460ff1681565b6000805433600160a060020a03908116911614806110f3575060015433600160a060020a039081169116145b15156110fe57600080fd5b60035460a060020a900460ff161561111557600080fd5b600160a060020a0380831660008181526004602052604090819020805460ff19166001908117909155923316907f88e851277118609fa8461909ab8df4fc0769a9f9a87a7280ee7cc786ba34b626905160405180910390a4506001919050565b600954610100900460ff1681565b600160a060020a039182166000908152600b6020908152604080832093909416825291909152205490565b6000805433600160a060020a039081169116146111ca57600080fd5b6009805460ff19166001908117909155600160a060020a033316907f323b1b8750b22ac5e388713f0216f66494006ce639e723b5b8194d0798dbce2290604051901515815260200160405180910390a250600190565b6000805433600160a060020a0390811691161461123c57600080fd5b60035460a060020a900460ff161561125357600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03848116918217835533167fc2619a5a11438a95c2900300f56ee49c40e9432e9532ade8d6eed067582cad5e60405160405180910390a4506001919050565b6000805433600160a060020a03908116911614806112e0575060015433600160a060020a039081169116145b15156112eb57600080fd5b60035460a060020a900460ff161561130257600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384811691821790925560019133167f4112ea75cd202057087adfd09e37ffea9394c83b8db7787fa4e83f094cd12c6160405160405180910390a4506001919050565b6000805433600160a060020a0390811691161461138357600080fd5b60035460a060020a900460ff161561139a57600080fd5b5060008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b600154600160a060020a031681565b6000828201838110156113ed57600080fd5b9392505050565b60095460009060ff161561140757600080fd5b6000821161141457600080fd5b600160a060020a038316151561142957600080fd5b600160a060020a0384166000908152600a60205260409020548290101561144f57600080fd5b600160a060020a0384166000908152600a6020526040812054611478908463ffffffff6114f316565b101561148357600080fd5b600160a060020a0383166000908152600a60205260408120546114ac908463ffffffff6113db16565b116114b657600080fd5b600160a060020a0383166000908152600a60205260409020546114df818463ffffffff6113db16565b116114e957600080fd5b5060019392505050565b60008282111561150257600080fd5b50900390565b600954600090610100900460ff16151561152157600080fd5b6000831161152e57600080fd5b600160a060020a038216151561154357600080fd5b600554600090611559908563ffffffff6113db16565b1161156357600080fd5b600554611576818563ffffffff6113db16565b1161158057600080fd5b600160a060020a0382166000908152600a60205260408120546115a9908563ffffffff6113db16565b116115b357600080fd5b600160a060020a0382166000908152600a60205260409020546115dc818563ffffffff6113db16565b116115e657600080fd5b506001929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820047d9d2cb45883ec04d0d535864da2870e980358b619d443d39014a569af78600029

Swarm Source

bzzr://047d9d2cb45883ec04d0d535864da2870e980358b619d443d39014a569af7860
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.