ETH Price: $2,360.67 (+0.84%)

Token

VNDC (VNDC)
 

Overview

Max Total Supply

8,899,000,000 VNDC

Holders

3

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
8,898,728,500 VNDC

Value
$0.00
0x73de4d81d793c53d6823e6229bbdaf19b71d3d0c
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
VNDCToken

Compiler Version
v0.4.11+commit.68ef5810

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-08-30
*/

pragma solidity ^0.4.11;

/**
 * Math operations with safety checks
 */
library SafeMath {
  function mul(uint a, uint b) internal returns (uint) {
    uint c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint a, uint b) internal returns (uint) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  function sub(uint a, uint b) internal returns (uint) {
    assert(b <= a);
    return a - b;
  }

  function add(uint a, uint b) internal returns (uint) {
    uint c = a + b;
    assert(c >= a);
    return c;
  }

  function max64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a >= b ? a : b;
  }

  function min64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a < b ? a : b;
  }

  function max256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a >= b ? a : b;
  }

  function min256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a < b ? a : b;
  }

  function assert(bool assertion) internal {
    if (!assertion) {
      throw;
    }
  }
}


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control 
 * functions, this simplifies the implementation of "user permissions". 
 */
contract Ownable {
  address public owner;


  /** 
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() {
    owner = msg.sender;
  }


  /**
   * @dev Throws if called by any account other than the owner. 
   */
  modifier onlyOwner() {
    if (msg.sender != owner) {
      throw;
    }
    _;
  }


  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to. 
   */
  function transferOwnership(address newOwner) onlyOwner {
    if (newOwner != address(0)) {
      owner = newOwner;
    }
  }

}

/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;


  /**
   * @dev modifier to allow actions only when the contract IS paused
   */
  modifier whenNotPaused() {
    if (paused) throw;
    _;
  }

  /**
   * @dev modifier to allow actions only when the contract IS NOT paused
   */
  modifier whenPaused {
    if (!paused) throw;
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() onlyOwner whenNotPaused returns (bool) {
    paused = true;
    Pause();
    return true;
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() onlyOwner whenPaused returns (bool) {
    paused = false;
    Unpause();
    return true;
  }
}

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20Basic {
  uint public _totalSupply;
  function totalSupply() constant returns (uint);
  function balanceOf(address who) constant returns (uint);
  function transfer(address to, uint value);
  event Transfer(address indexed from, address indexed to, uint value);
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) constant returns (uint);
  function transferFrom(address from, address to, uint value);
  function approve(address spender, uint value);
  event Approval(address indexed owner, address indexed spender, uint value);
}

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is Ownable, ERC20Basic {
  using SafeMath for uint;

  mapping(address => uint) balances;

  // additional variables for use if transaction fees ever became necessary
  uint public basisPointsRate = 0;
  uint public maximumFee = 0;

  /**
   * @dev Fix for the ERC20 short address attack.
   */
  modifier onlyPayloadSize(uint size) {
     if(msg.data.length < size + 4) {
       throw;
     }
     _;
  }

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) {
    uint fee = (_value.mul(basisPointsRate)).div(10000);
    if (fee > maximumFee) {
      fee = maximumFee;
    }
    uint sendAmount = _value.sub(fee);
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(sendAmount);
    balances[owner] = balances[owner].add(fee);
    Transfer(msg.sender, _to, sendAmount);
    Transfer(msg.sender, owner, fee);
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) constant returns (uint balance) {
    return balances[_owner];
  }

}


/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is BasicToken, ERC20 {

  mapping (address => mapping (address => uint)) allowed;

  uint constant MAX_UINT = 2**256 - 1;

  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint the amount of tokens to be transferred
   */
  function transferFrom(address _from, address _to, uint _value) onlyPayloadSize(3 * 32) {
    var _allowance = allowed[_from][msg.sender];

    // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
    // if (_value > _allowance) throw;

    uint fee = (_value.mul(basisPointsRate)).div(10000);
    if (fee > maximumFee) {
      fee = maximumFee;
    }
    uint sendAmount = _value.sub(fee);

    balances[_to] = balances[_to].add(sendAmount);
    balances[owner] = balances[owner].add(fee);
    balances[_from] = balances[_from].sub(_value);
    if (_allowance < MAX_UINT) {
      allowed[_from][msg.sender] = _allowance.sub(_value);
    }
    Transfer(_from, _to, sendAmount);
    Transfer(_from, owner, fee);
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint _value) onlyPayloadSize(2 * 32) {

    // To change the approve amount you first have to reduce the addresses`
    //  allowance to zero by calling `approve(_spender, 0)` if it is not
    //  already 0 to mitigate the race condition described here:
    //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    if ((_value != 0) && (allowed[msg.sender][_spender] != 0)) throw;

    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
  }

  /**
   * @dev Function to check the amount of tokens than an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint specifying the amount of tokens still available for the spender.
   */
  function allowance(address _owner, address _spender) constant returns (uint remaining) {
    return allowed[_owner][_spender];
  }

}

contract UpgradedStandardToken is StandardToken{
        // those methods are called by the legacy contract
        // and they must ensure msg.sender to be the contract address
        function transferByLegacy(address from, address to, uint value);
        function transferFromByLegacy(address sender, address from, address spender, uint value);
        function approveByLegacy(address from, address spender, uint value);
}
 
/// VNDC Token Contract - vndc.io

contract VNDCToken is Pausable, StandardToken {

  string public name;
  string public symbol;
  uint public decimals;
  address public upgradedAddress;
  bool public deprecated;
  mapping (address => bool) public isBlackListed;
   
  
  //  The contract can be initialized with a number of tokens
  //  All the tokens are deposited to the owner address
  //
  // @param _balance Initial supply of the contract
  // @param _name Token Name
  // @param _symbol Token symbol
  // @param _decimals Token decimals
  function VNDCToken(){
      _totalSupply = 1000000000 * 10**uint(decimals);
      name = "VNDC";
      symbol = "VNDC";
      balances[owner] = 1000000000 * 10**uint(decimals);
      deprecated = false;
      
  }

  // Forward ERC20 methods to upgraded contract if this one is deprecated
  function transfer(address _to, uint _value) whenNotPaused   {
      
        require(!isBlackListed[_to]);
        require(!isBlackListed[msg.sender]);
        if (deprecated) {
          return UpgradedStandardToken(upgradedAddress).transferByLegacy(msg.sender, _to, _value);
        } else {
          return super.transfer(_to, _value);
        }
       
     
  }

  // Forward ERC20 methods to upgraded contract if this one is deprecated
  function transferFrom(address _from, address _to, uint _value) whenNotPaused   {
    
        require(!isBlackListed[_from]);
        require(!isBlackListed[_to]);
        require(!isBlackListed[msg.sender]);

        if (deprecated) {
          return UpgradedStandardToken(upgradedAddress).transferFromByLegacy(msg.sender, _from, _to, _value);
        } else {
          return super.transferFrom(_from, _to, _value);
        }
        
       
  }

  // Forward ERC20 methods to upgraded contract if this one is deprecated
  function balanceOf(address who) constant returns (uint){
    if (deprecated) {
      return UpgradedStandardToken(upgradedAddress).balanceOf(who);
    } else {
      return super.balanceOf(who);
    }
  }

  // Forward ERC20 methods to upgraded contract if this one is deprecated
  function approve(address _spender, uint _value) onlyPayloadSize(2 * 32) {
      
    if (deprecated) {
      return UpgradedStandardToken(upgradedAddress).approveByLegacy(msg.sender, _spender, _value);
    } else {
      return super.approve(_spender, _value);
    }
  }

  // Forward ERC20 methods to upgraded contract if this one is deprecated
  function allowance(address _owner, address _spender) constant returns (uint remaining) {

    if (deprecated) {
      return StandardToken(upgradedAddress).allowance(_owner, _spender);
    } else {
      return super.allowance(_owner, _spender);
    }
  }

  // deprecate current contract in favour of a new one
  function deprecate(address _upgradedAddress) onlyOwner {
    deprecated = true;
    upgradedAddress = _upgradedAddress;
    Deprecate(_upgradedAddress);
  }

  // deprecate current contract if favour of a new one
  function totalSupply() constant returns (uint){
    if (deprecated) {
      return StandardToken(upgradedAddress).totalSupply();
    } else {
      return _totalSupply;
    }
  }

  // Issue a new amount of tokens
  // these tokens are deposited into the owner address
  //
  // @param _amount Number of tokens to be issued
  function issue(uint amount) onlyOwner {
    if (_totalSupply + amount < _totalSupply) throw;
    if (balances[owner] + amount < balances[owner]) throw;

    balances[owner] += amount;
    _totalSupply += amount;
    Issue(amount);
  }

  // Burn tokens.
  // These tokens are burned from the owner address
  // @param _amount Number of tokens to be issued
  function burn(uint amount) onlyOwner {
      if (_totalSupply < amount) throw;
      if (balances[owner] < amount) throw;

      _totalSupply -= amount;
      balances[owner] -= amount;
      Burn(amount);
  }

  function setParams(uint newBasisPoints, uint newMaxFee) onlyOwner {
      // Ensure transparency by hardcoding limit beyond which fees can never be added
    
      basisPointsRate = newBasisPoints;
      maximumFee = newMaxFee.mul(10**decimals);

      Params(basisPointsRate, maximumFee);
  }
  
   function getBlackListStatus(address _maker) external constant returns (bool) {
        return isBlackListed[_maker];
    }


    
    function addBlackList (address _evilUser) public onlyOwner {
        isBlackListed[_evilUser] = true;
        AddedBlackList(_evilUser);
    }

    function removeBlackList (address _clearedUser) public onlyOwner {
        isBlackListed[_clearedUser] = false;
        RemovedBlackList(_clearedUser);
    }

    function destroyBlackFunds (address _blackListedUser) public onlyOwner {
        require(isBlackListed[_blackListedUser]);
        uint dirtyFunds = balanceOf(_blackListedUser);
        balances[_blackListedUser] = 0;
        _totalSupply -= dirtyFunds;
        DestroyedBlackFunds(_blackListedUser, dirtyFunds);
    }

    event DestroyedBlackFunds(address _blackListedUser, uint _balance);

    event AddedBlackList(address _user);

    event RemovedBlackList(address _user);
    

  // Called when new token are issued
  event Issue(uint amount);

  // Called when tokens are Burned
  event Burn(uint amount);

  // Called when contract is deprecated
  event Deprecate(address newAddress);

  // Called if contract ever adds fees
  event Params(uint feeBasisPoints, uint maxFee);
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_upgradedAddress","type":"address"}],"name":"deprecate","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"deprecated","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"upgradedAddress","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"maximumFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"_totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newBasisPoints","type":"uint256"},{"name":"newMaxFee","type":"uint256"}],"name":"setParams","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"basisPointsRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isBlackListed","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_blackListedUser","type":"address"}],"name":"destroyBlackFunds","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_blackListedUser","type":"address"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"DestroyedBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newAddress","type":"address"}],"name":"Deprecate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"feeBasisPoints","type":"uint256"},{"indexed":false,"name":"maxFee","type":"uint256"}],"name":"Params","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"}]

60606040526000805460a060020a60ff0219168155600381905560045534156200002557fe5b5b5b60008054600160a060020a03191633600160a060020a03161790555b600854600a0a633b9aca00026001556040805180820190915260048082527f564e4443000000000000000000000000000000000000000000000000000000006020909201918252620000989160069162000120565b506040805180820190915260048082527f564e4443000000000000000000000000000000000000000000000000000000006020909201918252620000df9160079162000120565b5060085460008054600160a060020a03168152600260205260409020600a9190910a633b9aca000290556009805460a060020a60ff02191690555b620001ca565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200016357805160ff191683800117855562000193565b8280016001018555821562000193579182015b828111156200019357825182559160200191906001019062000176565b5b50620001a2929150620001a6565b5090565b620001c791905b80821115620001a25760008155600101620001ad565b5090565b90565b6117cd80620001da6000396000f300606060405236156101675763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101695780630753c30c146101f9578063095ea7b3146102175780630e136b19146102385780630ecb93c01461025c57806318160ddd1461027a57806323b872dd1461029c57806326976e3f146102c3578063313ce567146102ef57806335390714146103115780633eaaf86b146103335780633f4ba83a1461035557806342966c681461037957806359bf1abe1461038e5780635c975abb146103be57806370a08231146103e25780638456cb59146104105780638da5cb5b1461043457806395d89b4114610460578063a9059cbb146104f0578063c0324c7714610511578063cc872b6614610529578063dd62ed3e1461053e578063dd644f7214610572578063e47d606014610594578063e4997dc5146105c4578063f2fde38b146105e2578063f3bdc22814610600575bfe5b341561017157fe5b61017961061e565b6040805160208082528351818301528351919283929083019185019080838382156101bf575b8051825260208311156101bf57601f19909201916020918201910161019f565b505050905090810190601f1680156101eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020157fe5b610215600160a060020a03600435166106ac565b005b341561021f57fe5b610215600160a060020a036004351660243561074b565b005b341561024057fe5b610248610808565b604080519115158252519081900360200190f35b341561026457fe5b610215600160a060020a0360043516610818565b005b341561028257fe5b61028a610891565b60408051918252519081900360200190f35b34156102a457fe5b610215600160a060020a0360043581169060243516604435610930565b005b34156102cb57fe5b6102d3610a76565b60408051600160a060020a039092168252519081900360200190f35b34156102f757fe5b61028a610a85565b60408051918252519081900360200190f35b341561031957fe5b61028a610a8b565b60408051918252519081900360200190f35b341561033b57fe5b61028a610a91565b60408051918252519081900360200190f35b341561035d57fe5b610248610a97565b604080519115158252519081900360200190f35b341561038157fe5b610215600435610b1b565b005b341561039657fe5b610248600160a060020a0360043516610bd0565b604080519115158252519081900360200190f35b34156103c657fe5b610248610bf2565b604080519115158252519081900360200190f35b34156103ea57fe5b61028a600160a060020a0360043516610c02565b60408051918252519081900360200190f35b341561041857fe5b610248610cb8565b604080519115158252519081900360200190f35b341561043c57fe5b6102d3610d41565b60408051600160a060020a039092168252519081900360200190f35b341561046857fe5b610179610d50565b6040805160208082528351818301528351919283929083019185019080838382156101bf575b8051825260208311156101bf57601f19909201916020918201910161019f565b505050905090810190601f1680156101eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104f857fe5b610215600160a060020a0360043516602435610dde565b005b341561051957fe5b610215600435602435610eef565b005b341561053157fe5b610215600435610f71565b005b341561054657fe5b61028a600160a060020a0360043581169060243516611027565b60408051918252519081900360200190f35b341561057a57fe5b61028a6110e3565b60408051918252519081900360200190f35b341561059c57fe5b610248600160a060020a03600435166110e9565b604080519115158252519081900360200190f35b34156105cc57fe5b610215600160a060020a03600435166110fe565b005b34156105ea57fe5b610215600160a060020a0360043516611174565b005b341561060857fe5b610215600160a060020a03600435166111cd565b005b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106a45780601f10610679576101008083540402835291602001916106a4565b820191906000526020600020905b81548152906001019060200180831161068757829003601f168201915b505050505081565b60005433600160a060020a039081169116146106c85760006000fd5b6009805460a060020a74ff0000000000000000000000000000000000000000199091161773ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03831690811790915560408051918252517fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e916020908290030190a15b5b50565b6040604436101561075c5760006000fd5b60095460a060020a900460ff16156107f657600954604080517faee92d33000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301528681166024830152604482018690529151919092169163aee92d3391606480830192600092919082900301818387803b15156107e057fe5b6102c65a03f115156107ee57fe5b505050610800565b6108008383611281565b5b5b5b505050565b60095460a060020a900460ff1681565b60005433600160a060020a039081169116146108345760006000fd5b600160a060020a0381166000818152600a6020908152604091829020805460ff19166001179055815192835290517f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc9281900390910190a15b5b50565b60095460009060a060020a900460ff161561092757600954604080516000602091820181905282517f18160ddd0000000000000000000000000000000000000000000000000000000081529251600160a060020a03909416936318160ddd9360048082019493918390030190829087803b151561090a57fe5b6102c65a03f1151561091857fe5b505060405151915061092c9050565b506001545b5b90565b60005460a060020a900460ff16156109485760006000fd5b600160a060020a0383166000908152600a602052604090205460ff161561096f5760006000fd5b600160a060020a0382166000908152600a602052604090205460ff16156109965760006000fd5b600160a060020a0333166000908152600a602052604090205460ff16156109bd5760006000fd5b60095460a060020a900460ff1615610a5f57600954604080517f8b477adb000000000000000000000000000000000000000000000000000000008152600160a060020a033381166004830152868116602483015285811660448301526064820185905291519190921691638b477adb91608480830192600092919082900301818387803b15156107e057fe5b6102c65a03f115156107ee57fe5b505050610800565b610800838383611334565b610800565b5b5b505050565b600954600160a060020a031681565b60085481565b60045481565b60015481565b6000805433600160a060020a03908116911614610ab45760006000fd5b60005460a060020a900460ff161515610acd5760006000fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a15060015b5b5b90565b60005433600160a060020a03908116911614610b375760006000fd5b806001541015610b475760006000fd5b60008054600160a060020a031681526002602052604090205481901015610b6e5760006000fd5b60018054829003905560008054600160a060020a031681526002602090815260409182902080548490039055815183815291517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9281900390910190a15b5b50565b600160a060020a0381166000908152600a602052604090205460ff165b919050565b60005460a060020a900460ff1681565b60095460009060a060020a900460ff1615610ca257600954604080516000602091820181905282517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a038781166004830152935193909416936370a08231936024808301949391928390030190829087803b1515610c8557fe5b6102c65a03f11515610c9357fe5b5050604051519150610bed9050565b610cab82611528565b9050610bed565b5b919050565b6000805433600160a060020a03908116911614610cd55760006000fd5b60005460a060020a900460ff1615610ced5760006000fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a15060015b5b5b90565b600054600160a060020a031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106a45780601f10610679576101008083540402835291602001916106a4565b820191906000526020600020905b81548152906001019060200180831161068757829003601f168201915b505050505081565b60005460a060020a900460ff1615610df65760006000fd5b600160a060020a0382166000908152600a602052604090205460ff1615610e1d5760006000fd5b600160a060020a0333166000908152600a602052604090205460ff1615610e445760006000fd5b60095460a060020a900460ff1615610ede57600954604080517f6e18980a000000000000000000000000000000000000000000000000000000008152600160a060020a03338116600483015285811660248301526044820185905291519190921691636e18980a91606480830192600092919082900301818387803b1515610ec857fe5b6102c65a03f11515610ed657fe5b505050610ee8565b610ee88282611547565b5b5b5b5050565b60005433600160a060020a03908116911614610f0b5760006000fd5b6003829055600854610f27908290600a0a63ffffffff6116c216565b600481905560035460408051918252602082019290925281517fb044a1e409eac5c48e5af22d4af52670dd1a99059537a78b31b48c6500a6354e929181900390910190a15b5b5050565b60005433600160a060020a03908116911614610f8d5760006000fd5b6001548181011015610f9f5760006000fd5b60008054600160a060020a03168152600260205260409020548181011015610fc75760006000fd5b60008054600160a060020a03168152600260209081526040918290208054840190556001805484019055815183815291517fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a9281900390910190a15b5b50565b60095460009060a060020a900460ff16156110cf57600954604080516000602091820181905282517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015287811660248301529351939094169363dd62ed3e936044808301949391928390030190829087803b15156110b257fe5b6102c65a03f115156110c057fe5b50506040515191506110dc9050565b6110d983836116f1565b90505b5b92915050565b60035481565b600a6020526000908152604090205460ff1681565b60005433600160a060020a0390811691161461111a5760006000fd5b600160a060020a0381166000818152600a6020908152604091829020805460ff19169055815192835290517fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c9281900390910190a15b5b50565b60005433600160a060020a039081169116146111905760006000fd5b600160a060020a03811615610747576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b6000805433600160a060020a039081169116146111ea5760006000fd5b600160a060020a0382166000908152600a602052604090205460ff1615156112125760006000fd5b61121b82610c02565b600160a060020a0383166000818152600260209081526040808320929092556001805485900390558151928352820183905280519293507f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c692918290030190a15b5b5050565b604060443610156112925760006000fd5b81158015906112c55750600160a060020a0333811660009081526005602090815260408083209387168352929052205415155b156112d05760006000fd5b600160a060020a03338116600081815260056020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35b5b505050565b60008080606060643610156113495760006000fd5b600160a060020a038088166000908152600560209081526040808320339094168352929052205460035490945061139b906127109061138f90889063ffffffff6116c216565b9063ffffffff61171e16565b92506004548311156113ad5760045492505b6113bd858463ffffffff61173b16565b600160a060020a0387166000908152600260205260409020549092506113e9908363ffffffff61175416565b600160a060020a0380881660009081526002602052604080822093909355805490911681522054611420908463ffffffff61175416565b60008054600160a060020a0390811682526002602052604080832093909355891681522054611455908663ffffffff61173b16565b600160a060020a0388166000908152600260205260409020556000198410156114b057611488848663ffffffff61173b16565b600160a060020a03808916600090815260056020908152604080832033909416835292905220555b85600160a060020a031687600160a060020a0316600080516020611782833981519152846040518082815260200191505060405180910390a3600054604080518581529051600160a060020a03928316928a1691600080516020611782833981519152919081900360200190a35b5b50505050505050565b600160a060020a0381166000908152600260205260409020545b919050565b6000806040604436101561155b5760006000fd5b61158261271061138f600354876116c290919063ffffffff16565b9063ffffffff61171e16565b92506004548311156115945760045492505b6115a4848463ffffffff61173b16565b600160a060020a0333166000908152600260205260409020549092506115d0908563ffffffff61173b16565b600160a060020a033381166000908152600260205260408082209390935590871681522054611605908363ffffffff61175416565b600160a060020a038087166000908152600260205260408082209390935580549091168152205461163c908463ffffffff61175416565b60008054600160a060020a03908116825260026020908152604092839020939093558151858152915188821693339092169260008051602061178283398151915292908290030190a3600054604080518581529051600160a060020a0392831692331691600080516020611782833981519152919081900360200190a35b5b5050505050565b60008282026116e68415806116e157508385838115156116de57fe5b04145b611770565b8091505b5092915050565b600160a060020a038083166000908152600560209081526040808320938516835292905220545b92915050565b60006000828481151561172d57fe5b0490508091505b5092915050565b600061174983831115611770565b508082035b92915050565b60008282016116e684821015611770565b8091505b5092915050565b8015156107475760006000fd5b5b505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582023ece71dc5ff76f65852ae3ebf256d19c5978b2aa1905c1d9ae436f7c30b56870029

Deployed Bytecode

0x606060405236156101675763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101695780630753c30c146101f9578063095ea7b3146102175780630e136b19146102385780630ecb93c01461025c57806318160ddd1461027a57806323b872dd1461029c57806326976e3f146102c3578063313ce567146102ef57806335390714146103115780633eaaf86b146103335780633f4ba83a1461035557806342966c681461037957806359bf1abe1461038e5780635c975abb146103be57806370a08231146103e25780638456cb59146104105780638da5cb5b1461043457806395d89b4114610460578063a9059cbb146104f0578063c0324c7714610511578063cc872b6614610529578063dd62ed3e1461053e578063dd644f7214610572578063e47d606014610594578063e4997dc5146105c4578063f2fde38b146105e2578063f3bdc22814610600575bfe5b341561017157fe5b61017961061e565b6040805160208082528351818301528351919283929083019185019080838382156101bf575b8051825260208311156101bf57601f19909201916020918201910161019f565b505050905090810190601f1680156101eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020157fe5b610215600160a060020a03600435166106ac565b005b341561021f57fe5b610215600160a060020a036004351660243561074b565b005b341561024057fe5b610248610808565b604080519115158252519081900360200190f35b341561026457fe5b610215600160a060020a0360043516610818565b005b341561028257fe5b61028a610891565b60408051918252519081900360200190f35b34156102a457fe5b610215600160a060020a0360043581169060243516604435610930565b005b34156102cb57fe5b6102d3610a76565b60408051600160a060020a039092168252519081900360200190f35b34156102f757fe5b61028a610a85565b60408051918252519081900360200190f35b341561031957fe5b61028a610a8b565b60408051918252519081900360200190f35b341561033b57fe5b61028a610a91565b60408051918252519081900360200190f35b341561035d57fe5b610248610a97565b604080519115158252519081900360200190f35b341561038157fe5b610215600435610b1b565b005b341561039657fe5b610248600160a060020a0360043516610bd0565b604080519115158252519081900360200190f35b34156103c657fe5b610248610bf2565b604080519115158252519081900360200190f35b34156103ea57fe5b61028a600160a060020a0360043516610c02565b60408051918252519081900360200190f35b341561041857fe5b610248610cb8565b604080519115158252519081900360200190f35b341561043c57fe5b6102d3610d41565b60408051600160a060020a039092168252519081900360200190f35b341561046857fe5b610179610d50565b6040805160208082528351818301528351919283929083019185019080838382156101bf575b8051825260208311156101bf57601f19909201916020918201910161019f565b505050905090810190601f1680156101eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104f857fe5b610215600160a060020a0360043516602435610dde565b005b341561051957fe5b610215600435602435610eef565b005b341561053157fe5b610215600435610f71565b005b341561054657fe5b61028a600160a060020a0360043581169060243516611027565b60408051918252519081900360200190f35b341561057a57fe5b61028a6110e3565b60408051918252519081900360200190f35b341561059c57fe5b610248600160a060020a03600435166110e9565b604080519115158252519081900360200190f35b34156105cc57fe5b610215600160a060020a03600435166110fe565b005b34156105ea57fe5b610215600160a060020a0360043516611174565b005b341561060857fe5b610215600160a060020a03600435166111cd565b005b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106a45780601f10610679576101008083540402835291602001916106a4565b820191906000526020600020905b81548152906001019060200180831161068757829003601f168201915b505050505081565b60005433600160a060020a039081169116146106c85760006000fd5b6009805460a060020a74ff0000000000000000000000000000000000000000199091161773ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03831690811790915560408051918252517fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e916020908290030190a15b5b50565b6040604436101561075c5760006000fd5b60095460a060020a900460ff16156107f657600954604080517faee92d33000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301528681166024830152604482018690529151919092169163aee92d3391606480830192600092919082900301818387803b15156107e057fe5b6102c65a03f115156107ee57fe5b505050610800565b6108008383611281565b5b5b5b505050565b60095460a060020a900460ff1681565b60005433600160a060020a039081169116146108345760006000fd5b600160a060020a0381166000818152600a6020908152604091829020805460ff19166001179055815192835290517f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc9281900390910190a15b5b50565b60095460009060a060020a900460ff161561092757600954604080516000602091820181905282517f18160ddd0000000000000000000000000000000000000000000000000000000081529251600160a060020a03909416936318160ddd9360048082019493918390030190829087803b151561090a57fe5b6102c65a03f1151561091857fe5b505060405151915061092c9050565b506001545b5b90565b60005460a060020a900460ff16156109485760006000fd5b600160a060020a0383166000908152600a602052604090205460ff161561096f5760006000fd5b600160a060020a0382166000908152600a602052604090205460ff16156109965760006000fd5b600160a060020a0333166000908152600a602052604090205460ff16156109bd5760006000fd5b60095460a060020a900460ff1615610a5f57600954604080517f8b477adb000000000000000000000000000000000000000000000000000000008152600160a060020a033381166004830152868116602483015285811660448301526064820185905291519190921691638b477adb91608480830192600092919082900301818387803b15156107e057fe5b6102c65a03f115156107ee57fe5b505050610800565b610800838383611334565b610800565b5b5b505050565b600954600160a060020a031681565b60085481565b60045481565b60015481565b6000805433600160a060020a03908116911614610ab45760006000fd5b60005460a060020a900460ff161515610acd5760006000fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a15060015b5b5b90565b60005433600160a060020a03908116911614610b375760006000fd5b806001541015610b475760006000fd5b60008054600160a060020a031681526002602052604090205481901015610b6e5760006000fd5b60018054829003905560008054600160a060020a031681526002602090815260409182902080548490039055815183815291517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9281900390910190a15b5b50565b600160a060020a0381166000908152600a602052604090205460ff165b919050565b60005460a060020a900460ff1681565b60095460009060a060020a900460ff1615610ca257600954604080516000602091820181905282517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a038781166004830152935193909416936370a08231936024808301949391928390030190829087803b1515610c8557fe5b6102c65a03f11515610c9357fe5b5050604051519150610bed9050565b610cab82611528565b9050610bed565b5b919050565b6000805433600160a060020a03908116911614610cd55760006000fd5b60005460a060020a900460ff1615610ced5760006000fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a15060015b5b5b90565b600054600160a060020a031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106a45780601f10610679576101008083540402835291602001916106a4565b820191906000526020600020905b81548152906001019060200180831161068757829003601f168201915b505050505081565b60005460a060020a900460ff1615610df65760006000fd5b600160a060020a0382166000908152600a602052604090205460ff1615610e1d5760006000fd5b600160a060020a0333166000908152600a602052604090205460ff1615610e445760006000fd5b60095460a060020a900460ff1615610ede57600954604080517f6e18980a000000000000000000000000000000000000000000000000000000008152600160a060020a03338116600483015285811660248301526044820185905291519190921691636e18980a91606480830192600092919082900301818387803b1515610ec857fe5b6102c65a03f11515610ed657fe5b505050610ee8565b610ee88282611547565b5b5b5b5050565b60005433600160a060020a03908116911614610f0b5760006000fd5b6003829055600854610f27908290600a0a63ffffffff6116c216565b600481905560035460408051918252602082019290925281517fb044a1e409eac5c48e5af22d4af52670dd1a99059537a78b31b48c6500a6354e929181900390910190a15b5b5050565b60005433600160a060020a03908116911614610f8d5760006000fd5b6001548181011015610f9f5760006000fd5b60008054600160a060020a03168152600260205260409020548181011015610fc75760006000fd5b60008054600160a060020a03168152600260209081526040918290208054840190556001805484019055815183815291517fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a9281900390910190a15b5b50565b60095460009060a060020a900460ff16156110cf57600954604080516000602091820181905282517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015287811660248301529351939094169363dd62ed3e936044808301949391928390030190829087803b15156110b257fe5b6102c65a03f115156110c057fe5b50506040515191506110dc9050565b6110d983836116f1565b90505b5b92915050565b60035481565b600a6020526000908152604090205460ff1681565b60005433600160a060020a0390811691161461111a5760006000fd5b600160a060020a0381166000818152600a6020908152604091829020805460ff19169055815192835290517fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c9281900390910190a15b5b50565b60005433600160a060020a039081169116146111905760006000fd5b600160a060020a03811615610747576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b6000805433600160a060020a039081169116146111ea5760006000fd5b600160a060020a0382166000908152600a602052604090205460ff1615156112125760006000fd5b61121b82610c02565b600160a060020a0383166000818152600260209081526040808320929092556001805485900390558151928352820183905280519293507f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c692918290030190a15b5b5050565b604060443610156112925760006000fd5b81158015906112c55750600160a060020a0333811660009081526005602090815260408083209387168352929052205415155b156112d05760006000fd5b600160a060020a03338116600081815260056020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35b5b505050565b60008080606060643610156113495760006000fd5b600160a060020a038088166000908152600560209081526040808320339094168352929052205460035490945061139b906127109061138f90889063ffffffff6116c216565b9063ffffffff61171e16565b92506004548311156113ad5760045492505b6113bd858463ffffffff61173b16565b600160a060020a0387166000908152600260205260409020549092506113e9908363ffffffff61175416565b600160a060020a0380881660009081526002602052604080822093909355805490911681522054611420908463ffffffff61175416565b60008054600160a060020a0390811682526002602052604080832093909355891681522054611455908663ffffffff61173b16565b600160a060020a0388166000908152600260205260409020556000198410156114b057611488848663ffffffff61173b16565b600160a060020a03808916600090815260056020908152604080832033909416835292905220555b85600160a060020a031687600160a060020a0316600080516020611782833981519152846040518082815260200191505060405180910390a3600054604080518581529051600160a060020a03928316928a1691600080516020611782833981519152919081900360200190a35b5b50505050505050565b600160a060020a0381166000908152600260205260409020545b919050565b6000806040604436101561155b5760006000fd5b61158261271061138f600354876116c290919063ffffffff16565b9063ffffffff61171e16565b92506004548311156115945760045492505b6115a4848463ffffffff61173b16565b600160a060020a0333166000908152600260205260409020549092506115d0908563ffffffff61173b16565b600160a060020a033381166000908152600260205260408082209390935590871681522054611605908363ffffffff61175416565b600160a060020a038087166000908152600260205260408082209390935580549091168152205461163c908463ffffffff61175416565b60008054600160a060020a03908116825260026020908152604092839020939093558151858152915188821693339092169260008051602061178283398151915292908290030190a3600054604080518581529051600160a060020a0392831692331691600080516020611782833981519152919081900360200190a35b5b5050505050565b60008282026116e68415806116e157508385838115156116de57fe5b04145b611770565b8091505b5092915050565b600160a060020a038083166000908152600560209081526040808320938516835292905220545b92915050565b60006000828481151561172d57fe5b0490508091505b5092915050565b600061174983831115611770565b508082035b92915050565b60008282016116e684821015611770565b8091505b5092915050565b8015156107475760006000fd5b5b505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582023ece71dc5ff76f65852ae3ebf256d19c5978b2aa1905c1d9ae436f7c30b56870029

Deployed Bytecode Sourcemap

8619:5539:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8672:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18:2:-1;;13:3;7:5;32;59:3;53:5;48:3;41:6;93:2;88:3;85:2;78:6;73:3;67:5;-1:-1;;152:3;;;;117:2;108:3;;;;130;172:5;167:4;181:3;3:186;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11425:160:0;;;;;;;;-1:-1:-1;;;;;11425:160:0;;;;;;;10743:277;;;;;;;;-1:-1:-1;;;;;10743:277:0;;;;;;;;;8780:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;13027:145;;;;;;;;-1:-1:-1;;;;;13027:145:0;;;;;;;11647:184;;;;;;;;;;;;;;;;;;;;;;;;;;9908:463;;;;;;;;-1:-1:-1;;;;;9908:463:0;;;;;;;;;;;;;;8745:30;;;;;;;;;;;;;;-1:-1:-1;;;;;8745:30:0;;;;;;;;;;;;;;8720:20;;;;;;;;;;;;;;;;;;;;;;;;;;4249:26;;;;;;;;;;;;;;;;;;;;;;;;;;3260:24;;;;;;;;;;;;;;;;;;;;;;;;;;2980:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;12355:216;;;;;;;;;;;;;;12887:124;;;;;;;;-1:-1:-1;;;;;12887:124:0;;;;;;;;;;;;;;;;;;;;;;;2360:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;10452:210;;;;;;;;-1:-1:-1;;;;;10452:210:0;;;;;;;;;;;;;;;;;;;;;2779:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;1486:20;;;;;;;;;;;;;;-1:-1:-1;;;;;1486:20:0;;;;;;;;;;;;;;8695;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18:2:-1;;13:3;7:5;32;59:3;53:5;48:3;41:6;93:2;88:3;85:2;78:6;73:3;67:5;-1:-1;;152:3;;;;117:2;108:3;;;;130;172:5;167:4;181:3;3:186;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9449:378:0;;;;;;;;-1:-1:-1;;;;;9449:378:0;;;;;;;;;12577:301;;;;;;;;;;;;;;;;11985:241;;;;;;;;;;;;;;11101:262;;;;;;;;-1:-1:-1;;;;;11101:262:0;;;;;;;;;;;;;;;;;;;;;;;;;;4213:31;;;;;;;;;;;;;;;;;;;;;;;;;;8807:46;;;;;;;;-1:-1:-1;;;;;8807:46:0;;;;;;;;;;;;;;;;;;;;;;;13180:160;;;;;;;;-1:-1:-1;;;;;13180:160:0;;;;;;;2032:128;;;;;;;;-1:-1:-1;;;;;2032:128:0;;;;;;;13348:324;;;;;;;;-1:-1:-1;;;;;13348:324:0;;;;;;;8672:18;;;;;;;;;;;;;;;-1:-1:-1;;8672:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11425:160::-;1820:5;;1806:10;-1:-1:-1;;;;;1806:19:0;;;1820:5;;1806:19;1802:47;;1836:5;;;1802:47;11487:10;:17;;-1:-1:-1;;;;;11487:17:0;;;;-1:-1:-1;;11511:34:0;-1:-1:-1;;;;;11511:34:0;;;;;;;;11552:27;;;;;;;;;;;;;;;;;1855:1;11425:160;;:::o;10743:277::-;10807:6;4412:8;4394;:26;4391:55;;;4432:5;;;4391:55;10834:10;;-1:-1:-1;;;10834:10:0;;;;10830:185;;;10884:15;;10862:84;;;;;;-1:-1:-1;;;;;10917:10:0;10862:84;;;;;;;;;;;;;;;;;;;;;10884:15;;;;;10862:54;;:84;;;;;-1:-1:-1;;10862:84:0;;;;;;;-1:-1:-1;10884:15:0;10862:84;;;;;;;;;;;;;;;;;;;;;10855:91;;10830:185;10976:31;10990:8;11000:6;10976:13;:31::i;:::-;10830:185;4453:1;10743:277;;;;:::o;8780:22::-;;;-1:-1:-1;;;8780:22:0;;;;;:::o;13027:145::-;1820:5;;1806:10;-1:-1:-1;;;;;1806:19:0;;;1820:5;;1806:19;1802:47;;1836:5;;;1802:47;-1:-1:-1;;;;;13097:24:0;;;;;;:13;:24;;;;;;;;;:31;;-1:-1:-1;;13097:31:0;13124:4;13097:31;;;13139:25;;;;;;;;;;;;;;;;;1855:1;13027:145;;:::o;11647:184::-;11704:10;;11688:4;;-1:-1:-1;;;11704:10:0;;;;11700:126;;;11746:15;;11732:44;;;11746:15;11732:44;;;;;;;;;;;;;;-1:-1:-1;;;;;11746:15:0;;;;11732:42;;:44;;;;;;;;;;;;;;11746:15;11732:44;;;;;;;;;;;;;;;;;;-1:-1:-1;;11732:44:0;;;;-1:-1:-1;11725:51:0;;-1:-1:-1;11725:51:0;11700:126;-1:-1:-1;11806:12:0;;11700:126;11647:184;;:::o;9908:463::-;2515:6;;-1:-1:-1;;;2515:6:0;;;;2511:17;;;2523:5;;;2511:17;-1:-1:-1;;;;;10013:20:0;;;;;;:13;:20;;;;;;;;10012:21;10004:30;;;;;;-1:-1:-1;;;;;10054:18:0;;;;;;:13;:18;;;;;;;;10053:19;10045:28;;;;;;-1:-1:-1;;;;;10107:10:0;10093:25;;;;;:13;:25;;;;;;;;10092:26;10084:35;;;;;;10136:10;;-1:-1:-1;;;10136:10:0;;;;10132:215;;;10190:15;;10168:91;;;;;;-1:-1:-1;;;;;10228:10:0;10168:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;10190:15;;;;;10168:59;;:91;;;;;-1:-1:-1;;10168:91:0;;;;;;;-1:-1:-1;10190:15:0;10168:91;;;;;;;;;;;;;;;;;;;;;10161:98;;10132:215;10297:38;10316:5;10323:3;10328:6;10297:18;:38::i;:::-;10290:45;;10132:215;2535:1;9908:463;;;;:::o;8745:30::-;;;-1:-1:-1;;;;;8745:30:0;;:::o;8720:20::-;;;;:::o;4249:26::-;;;;:::o;3260:24::-;;;;:::o;2980:116::-;3029:4;1820:5;;1806:10;-1:-1:-1;;;;;1806:19:0;;;1820:5;;1806:19;1802:47;;1836:5;;;1802:47;2668:6;;-1:-1:-1;;;2668:6:0;;;;2667:7;2663:18;;;2676:5;;;2663:18;3051:5;3042:14;;-1:-1:-1;;3042:14:0;;;3063:9;;;;3051:5;3063:9;-1:-1:-1;3086:4:0;2688:1;1855;2980:116;;:::o;12355:216::-;1820:5;;1806:10;-1:-1:-1;;;;;1806:19:0;;;1820:5;;1806:19;1802:47;;1836:5;;;1802:47;12420:6;12405:12;;:21;12401:32;;;12428:5;;;12401:32;12446:15;12455:5;;-1:-1:-1;;;;;12455:5:0;12446:15;;:8;:15;;;;;;:24;;;12442:35;;;12472:5;;;12442:35;12488:12;:22;;;;;;;:12;12528:5;;-1:-1:-1;;;;;12528:5:0;12519:15;;:8;:15;;;;;;;;;:25;;;;;;;12553:12;;;;;;;;;;;;;;;;;1855:1;12355:216;;:::o;12887:124::-;-1:-1:-1;;;;;12982:21:0;;12958:4;12982:21;;;:13;:21;;;;;;;;12887:124;;;;:::o;2360:26::-;;;-1:-1:-1;;;2360:26:0;;;;;:::o;10452:210::-;10518:10;;10502:4;;-1:-1:-1;;;10518:10:0;;;;10514:143;;;10568:15;;10546:53;;;10568:15;10546:53;;;;;;;;;;;;-1:-1:-1;;;;;10546:53:0;;;;;;;;;10568:15;;;;;10546:48;;:53;;;;;;;;;;;;;;;10568:15;10546:53;;;;;;;;;;;;;;;;;;-1:-1:-1;;10546:53:0;;;;-1:-1:-1;10539:60:0;;-1:-1:-1;10539:60:0;10514:143;10629:20;10645:3;10629:15;:20::i;:::-;10622:27;;;;10514:143;10452:210;;;;:::o;2779:114::-;2829:4;1820:5;;1806:10;-1:-1:-1;;;;;1806:19:0;;;1820:5;;1806:19;1802:47;;1836:5;;;1802:47;2515:6;;-1:-1:-1;;;2515:6:0;;;;2511:17;;;2523:5;;;2511:17;2842:6;:13;;-1:-1:-1;;2842:13:0;-1:-1:-1;;;2842:13:0;;;2862:7;;;;2842:6;2862:7;-1:-1:-1;2883:4:0;2535:1;1855;2779:114;;:::o;1486:20::-;;;-1:-1:-1;;;;;1486:20:0;;:::o;8695:::-;;;;;;;;;;;;;;;-1:-1:-1;;8695:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9449:378::-;2515:6;;-1:-1:-1;;;2515:6:0;;;;2511:17;;;2523:5;;;2511:17;-1:-1:-1;;;;;9537:18:0;;;;;;:13;:18;;;;;;;;9536:19;9528:28;;;;;;-1:-1:-1;;;;;9590:10:0;9576:25;;;;;:13;:25;;;;;;;;9575:26;9567:35;;;;;;9617:10;;-1:-1:-1;;;9617:10:0;;;;9613:193;;;9671:15;;9649:80;;;;;;-1:-1:-1;;;;;9705:10:0;9649:80;;;;;;;;;;;;;;;;;;;;;9671:15;;;;;9649:55;;:80;;;;;-1:-1:-1;;9649:80:0;;;;;;;-1:-1:-1;9671:15:0;9649:80;;;;;;;;;;;;;;;;;;;;;9642:87;;9613:193;9767:27;9782:3;9787:6;9767:14;:27::i;:::-;9613:193;2535:1;9449:378;;;:::o;12577:301::-;1820:5;;1806:10;-1:-1:-1;;;;;1806:19:0;;;1820:5;;1806:19;1802:47;;1836:5;;;1802:47;12745:15;:32;;;12817:8;;12799:27;;:9;;12813:2;:12;12799:27;:13;:27;:::i;:::-;12786:10;:40;;;12844:15;;12837:35;;;;;;;;;;;;;;;;;;;;;;;;;;1855:1;12577:301;;;:::o;11985:241::-;1820:5;;1806:10;-1:-1:-1;;;;;1806:19:0;;;1820:5;;1806:19;1802:47;;1836:5;;;1802:47;12058:12;;12034:21;;;:36;12030:47;;;12072:5;;;12030:47;12115:15;12124:5;;-1:-1:-1;;;;;12124:5:0;12115:15;;:8;:15;;;;;;12088:24;;;:42;12084:53;;;12132:5;;;12084:53;12146:15;12155:5;;-1:-1:-1;;;;;12155:5:0;12146:15;;:8;:15;;;;;;;;;:25;;;;;;12155:5;12178:22;;;;;;12207:13;;;;;;;;;;;;;;;;;1855:1;11985:241;;:::o;11101:262::-;11201:10;;11172:14;;-1:-1:-1;;;11201:10:0;;;;11197:161;;;11243:15;;11229:58;;;11243:15;11229:58;;;;;;;;;;;;-1:-1:-1;;;;;11229:58:0;;;;;;;;;;;;;;;;11243:15;;;;;11229:40;;:58;;;;;;;;;;;;;;;11243:15;11229:58;;;;;;;;;;;;;;;;;;-1:-1:-1;;11229:58:0;;;;-1:-1:-1;11222:65:0;;-1:-1:-1;11222:65:0;11197:161;11317:33;11333:6;11341:8;11317:15;:33::i;:::-;11310:40;;11197:161;11101:262;;;;;:::o;4213:31::-;;;;:::o;8807:46::-;;;;;;;;;;;;;;;:::o;13180:160::-;1820:5;;1806:10;-1:-1:-1;;;;;1806:19:0;;;1820:5;;1806:19;1802:47;;1836:5;;;1802:47;-1:-1:-1;;;;;13256:27:0;;13286:5;13256:27;;;:13;:27;;;;;;;;;:35;;-1:-1:-1;;13256:35:0;;;13302:30;;;;;;;;;;;;;;;;;1855:1;13180:160;;:::o;2032:128::-;1820:5;;1806:10;-1:-1:-1;;;;;1806:19:0;;;1820:5;;1806:19;1802:47;;1836:5;;;1802:47;-1:-1:-1;;;;;2098:22:0;;;2094:61;;2131:5;:16;;-1:-1:-1;;2131:16:0;-1:-1:-1;;;;;2131:16:0;;;;;2094:61;1855:1;2032:128;;:::o;13348:324::-;13481:15;1820:5;;1806:10;-1:-1:-1;;;;;1806:19:0;;;1820:5;;1806:19;1802:47;;1836:5;;;1802:47;-1:-1:-1;;;;;13438:31:0;;;;;;:13;:31;;;;;;;;13430:40;;;;;;;;13499:27;13509:16;13499:9;:27::i;:::-;-1:-1:-1;;;;;13537:26:0;;13566:1;13537:26;;;:8;:26;;;;;;;;:30;;;;13578:12;:26;;;;;;;13615:49;;;;;;;;;;;;13481:45;;-1:-1:-1;13615:49:0;;;;;;;;;1855:1;13348:324;;;:::o;7144:535::-;7208:6;4412:8;4394;:26;4391:55;;;4432:5;;;4391:55;7522:11;;;;;7521:53;;-1:-1:-1;;;;;;7547:10:0;7539:19;;;;;;:7;:19;;;;;;;;:29;;;;;;;;;;:34;;7521:53;7517:64;;;7576:5;;;7517:64;-1:-1:-1;;;;;7598:10:0;7590:19;;;;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;;:38;;;7635;;;;;;;;;;;;;;;;;4453:1;7144:535;;;;:::o;6122:783::-;6216:14;;;6201:6;4412:8;4394;:26;4391:55;;;4432:5;;;4391:55;-1:-1:-1;;;;;6233:14:0;;;;;;;:7;:14;;;;;;;;6248:10;6233:26;;;;;;;;;;6441:15;;6233:26;;-1:-1:-1;6429:40:0;;6463:5;;6430:27;;:6;;:27;:10;:27;:::i;:::-;6429:33;:40;:33;:40;:::i;:::-;6418:51;;6486:10;;6480:3;:16;6476:55;;;6513:10;;6507:16;;6476:55;6555:15;:6;6566:3;6555:15;:10;:15;:::i;:::-;-1:-1:-1;;;;;6595:13:0;;;;;;:8;:13;;;;;;6537:33;;-1:-1:-1;6595:29:0;;6537:33;6595:29;:17;:29;:::i;:::-;-1:-1:-1;;;;;6579:13:0;;;;;;;:8;:13;;;;;;:45;;;;6658:5;;;;;6649:15;;;;:24;;6669:3;6649:24;:19;:24;:::i;:::-;6631:15;6640:5;;-1:-1:-1;;;;;6640:5:0;;;6631:15;;:8;:15;;;;;;:42;;;;6698:15;;;;;;:27;;6718:6;6698:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;6680:15:0;;;;;;:8;:15;;;;;:45;-1:-1:-1;;6736:21:0;;6732:95;;;6797:22;:10;6812:6;6797:22;:14;:22;:::i;:::-;-1:-1:-1;;;;;6768:14:0;;;;;;;:7;:14;;;;;;;;6783:10;6768:26;;;;;;;;;:51;6732:95;6849:3;-1:-1:-1;;;;;6833:32:0;6842:5;-1:-1:-1;;;;;6833:32:0;-1:-1:-1;;;;;;;;;;;6854:10:0;6833:32;;;;;;;;;;;;;;;;;;6888:5;;6872:27;;;;;;;;-1:-1:-1;;;;;6888:5:0;;;;6872:27;;;-1:-1:-1;;;;;;;;;;;6872:27:0;;;;;;;;;4453:1;6122:783;;;;;;;;:::o;5306:103::-;-1:-1:-1;;;;;5387:16:0;;5359:12;5387:16;;;:8;:16;;;;;;5306:103;;;;:::o;4621:479::-;4696:8;;4681:6;4412:8;4394;:26;4391:55;;;4432:5;;;4391:55;4707:40;4741:5;4708:27;4719:15;;4708:6;:10;;:27;;;;:::i;:::-;4707:33;:40;:33;:40;:::i;:::-;4696:51;;4764:10;;4758:3;:16;4754:55;;;4791:10;;4785:16;;4754:55;4833:15;:6;4844:3;4833:15;:10;:15;:::i;:::-;-1:-1:-1;;;;;4887:10:0;4878:20;;;;;:8;:20;;;;;;4815:33;;-1:-1:-1;4878:32:0;;4903:6;4878:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;4864:10:0;4855:20;;;;;;:8;:20;;;;;;:55;;;;4933:13;;;;;;;:29;;4951:10;4933:29;:17;:29;:::i;:::-;-1:-1:-1;;;;;4917:13:0;;;;;;;:8;:13;;;;;;:45;;;;4996:5;;;;;4987:15;;;;:24;;5007:3;4987:24;:19;:24;:::i;:::-;4969:15;4978:5;;-1:-1:-1;;;;;4978:5:0;;;4969:15;;:8;:15;;;;;;;;;:42;;;;5018:37;;;;;;;;;;;5027:10;5018:37;;;;-1:-1:-1;;;;;;;;;;;5018:37:0;;;;;;;;5083:5;;5062:32;;;;;;;;-1:-1:-1;;;;;5083:5:0;;;;5071:10;5062:32;;-1:-1:-1;;;;;;;;;;;5062:32:0;;;;;;;;;4453:1;4621:479;;;;;;:::o;99:130::-;146:4;168:5;;;180:28;187:6;;;:20;;;206:1;201;197;:5;;;;;;;;:10;187:20;180:6;:28::i;:::-;222:1;215:8;;99:130;;;;;;:::o;8003:132::-;-1:-1:-1;;;;;8104:15:0;;;8074:14;8104:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;8003:132;;;;;:::o;235:253::-;282:4;370:6;383:1;379;:5;;;;;;;;370:14;;481:1;474:8;;235:253;;;;;;:::o;494:99::-;541:4;554:14;566:1;561;:6;;554;:14::i;:::-;-1:-1:-1;582:5:0;;;494:99;;;;;:::o;599:116::-;646:4;668:5;;;680:14;687:6;;;;680;:14::i;:::-;708:1;701:8;;599:116;;;;;;:::o;1167:91::-;1220:9;1219:10;1215:38;;;1240:5;;;1215:38;1167:91;;:::o

Swarm Source

bzzr://23ece71dc5ff76f65852ae3ebf256d19c5978b2aa1905c1d9ae436f7c30b5687
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.