ETH Price: $3,127.54 (+5.39%)

Token

Vezt (VZT)
 

Overview

Max Total Supply

125,000,000 VZT

Holders

1,692 ( -0.059%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 VZT

Value
$0.00
0x5bc8aaab367d46a1caa52c53d3a843a79f5dc14c
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.