ETH Price: $2,948.06 (-1.31%)
 

Overview

Max Total Supply

12,000,000 UNL

Holders

0

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
UnlimitedDAO

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2023-04-05
*/

//SPDX-License-Identifier: UNLICENSED

 pragma solidity ^0.8.7;


abstract contract Context {
  function _msgSender() internal view virtual returns (address) {
    return msg.sender;
  }

  function _msgData() internal view virtual returns (bytes calldata) {
    return msg.data;
  }
}

abstract contract Ownable is Context {
  address private _owner;

  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

  constructor() {
    _transferOwnership(_msgSender());
  }

  function owner() public view virtual returns (address) {
    return _owner;
  }

  modifier onlyOwner() {
    require(owner() == _msgSender(), "Ownable: caller is not the owner");
    _;
  }

  function renounceOwnership() public virtual onlyOwner {
    _transferOwnership(address(0));
  }

  function transferOwnership(address newOwner) public virtual onlyOwner {
    require(newOwner != address(0), "Ownable: new owner is the zero address");
    _transferOwnership(newOwner);
  }

  function _transferOwnership(address newOwner) internal virtual {
    address oldOwner = _owner;
    _owner = newOwner;
    emit OwnershipTransferred(oldOwner, newOwner);
  }
}

interface IERC20 {
  event Approval(address indexed owner, address indexed spender, uint value);
  event Transfer(address indexed from, address indexed to, uint value);

  function name() external view returns (string memory);

  function symbol() external view returns (string memory);

  function decimals() external view returns (uint256);

  function totalSupply() external view returns (uint256);

  function balanceOf(address owner) external view returns (uint);

  function allowance(address owner, address spender) external view returns (uint);

  function approve(address spender, uint value) external returns (bool);

  function transfer(address to, uint value) external returns (bool);

  function transferFrom(address from, address to, uint value) external returns (bool);
}

interface IToken is IERC20 {
  function name() external override view returns (string memory);

  function symbol() external  override view returns (string memory);

  function decimals() external  override view returns (uint256);

  function totalSupply() external  override view returns (uint256);

  function balanceOf(address account) external  override view returns (uint256);

  function allowance(address owner, address spender) external  override view returns (uint256);

  function transfer(address recipient, uint256 amount) external  override returns (bool);

  function approve(address spender, uint256 amount) external override  returns (bool);

  function transferFrom(address sender, address recipient, uint256 amount) external  override returns (bool);

  function burn(uint256 amount) external returns(bool);

  function setStaking(address staking_) external;

  function mintForStake(address to, uint256 amount) external;

  function withdrawNative(address payable account, uint256 amount) external;

  function withdrawTokens(address account, uint256 amount) external;

  function setNativeRate(uint256 rate) external;

  function setERC20Rate(address token, uint256 rate) external;

  function buyNative() external payable;

  function buyERC20(address token, uint256 amount) external;
}

library SafeMath {
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    return a + b;
  }

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

  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    return a * b;
  }

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

  function mod(uint256 a, uint256 b) internal pure returns (uint256) {
    return a % b;
  }

  function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    unchecked {
      require(b <= a, errorMessage);
      uint256 c = a - b;
      return c;
    }
  }

  function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    unchecked {
      require(b > 0, errorMessage);
      return a / b;
    }
  }

  function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    unchecked {
      require(b > 0, errorMessage);
      return a % b;
    }
  }
}

library Address {
  function isContract(address account) internal view returns (bool) {
    uint256 size;
    assembly {
      size := extcodesize(account)
    }
    return size > 0;
  }

  function sendValue(address payable recipient, uint256 amount) internal {
    require(address(this).balance >= amount, "Address: insufficient balance");

    (bool success, ) = recipient.call{value: amount}("");
    require(success, "Address: unable to send value, recipient may have reverted");
  }
}

contract UnlimitedDAO is IToken, Ownable {
  using SafeMath for uint256;
  using Address for address;

  mapping(address => uint256) private _balances;
  mapping(address => mapping(address => uint256)) private _allowances;

  string private _name = "UnlimitedDAO";
  string private _symbol = "UNL";

  uint256 private _decimals = 9;
  uint256 private _totalSupply = 12_000_000 * 10 ** _decimals;

  uint256 public nativeRate = 3 * 10 ** 14; 

  mapping(address => uint256) public erc20Rate;

  address public staking;

  constructor() {
    _balances[address(this)] = _totalSupply;
    erc20Rate[0xdAC17F958D2ee523a2206206994597C13D831ec7] = 5 * 10 ** 17; // 0.5 busd per token
  }

  modifier onlyStaking() {
    require(_msgSender() == staking);
    _;
  }

  function name() external view override returns (string memory) {
    return _name;
  }

  function symbol() external view override returns (string memory) {
    return _symbol;
  }

  function decimals() external view override returns (uint256) {
    return _decimals;
  }

  function totalSupply() external view override returns (uint256) {
    return _totalSupply;
  }

  function balanceOf(address account) public view override returns (uint256) {
    return _balances[account];
  }

  function allowance(address owner, address spender) external view override returns (uint256) {
    return _allowances[owner][spender];
  }

  function transfer(address recipient, uint256 amount) external override returns (bool) {
    _transfer(_msgSender(), recipient, amount);
    return true;
  }

  function approve(address spender, uint256 amount) external override returns (bool) {
    _approve(_msgSender(), spender, amount);
    return true;
  }

  function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
    _transfer(sender, recipient, amount);
    _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: insufficient allowance"));
    return true;
  }

  function burn(uint256 amount) public override returns (bool) {
    _transfer(_msgSender(), address(0), amount);
    return true;
  }

  function _approve(address owner, address spender, uint256 amount) internal {
    require(owner != address(0), "ERC20: approve from the zero address");
    require(spender != address(0), "ERC20: approve to the zero address");
    _allowances[owner][spender] = amount;
    emit Approval(owner, spender, amount);
  }

  function _tokenTransfer(address sender, address recipient, uint256 amount) internal {
    _balances[sender] = _balances[sender].sub(amount);
    _balances[recipient] = _balances[recipient].add(amount);
    emit Transfer(sender, recipient, amount);
  }

  function _transfer(address sender, address recipient, uint256 amount) internal {
    require(sender != address(0), "ERC20: transfer from the zero address");
    require(_balances[sender] >= amount, "ERC20: transfer amount exceeds balance");
    _tokenTransfer(sender, recipient, amount);
  }

  function setStaking(address staking_) external override onlyOwner {
    require(staking == address(0), "Staking contract already installed");
    staking = staking_;
  }

  function mintForStake(address to, uint256 amount) external override onlyStaking {
    _balances[to] = _balances[to].add(amount);
    _totalSupply = _totalSupply.add(amount);
  }

  function withdrawNative(address payable account, uint256 amount) public override onlyOwner {
    Address.sendValue(account, amount);
  }

  function withdrawTokens(address account, uint256 amount) public override onlyOwner {
    _transfer(address(this), account, amount);
  }

  function setNativeRate(uint256 rate) external override onlyOwner {
    nativeRate = rate;
  }

  function setERC20Rate(address token, uint256 rate) external override onlyOwner {
    erc20Rate[token] = rate;
  }

  function buyNative() external payable override {
    require(msg.value > 0, "Zero buy");
    _tokenTransfer(address(this), _msgSender(), ((msg.value).mul(10000).div(nativeRate) * 10 ** _decimals).div(10000));
  }

  function buyERC20(address token, uint256 amount) external override {
    require(erc20Rate[token] > 0, "Bad token");
    uint256 price = amount.mul(erc20Rate[token]).div(10 ** _decimals);
    require(IERC20(token).balanceOf(_msgSender()) >= price, "Bad balance for buy");
    IERC20(token).transferFrom(_msgSender(), address(this), price);
    _tokenTransfer(address(this), _msgSender(), amount);
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"buyERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyNative","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"erc20Rate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintForStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nativeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setERC20Rate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setNativeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"staking_","type":"address"}],"name":"setStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"staking","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawNative","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c0604052600c60808190526b556e6c696d6974656444414f60a01b60a09081526200002f91600391906200015b565b506040805180820190915260038082526215539360ea1b60209092019182526200005c916004916200015b565b50600960058190556200007190600a6200024a565b620000809062b71b0062000315565b600655660110d9316ec0006007553480156200009b57600080fd5b50620000a7336200010b565b60065430600090815260016020908152604082209290925573dac17f958d2ee523a2206206994597c13d831ec79052600890526706f05b59d3b200007f5155b87032287020835fd30a2714968505cc2c1a9438fb05bb946b3b22c4111f556200038a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b828054620001699062000337565b90600052602060002090601f0160209004810192826200018d5760008555620001d8565b82601f10620001a857805160ff1916838001178555620001d8565b82800160010185558215620001d8579182015b82811115620001d8578251825591602001919060010190620001bb565b50620001e6929150620001ea565b5090565b5b80821115620001e65760008155600101620001eb565b600181815b808511156200024257816000190482111562000226576200022662000374565b808516156200023457918102915b93841c939080029062000206565b509250929050565b60006200025883836200025f565b9392505050565b60008262000270575060016200030f565b816200027f575060006200030f565b8160018114620002985760028114620002a357620002c3565b60019150506200030f565b60ff841115620002b757620002b762000374565b50506001821b6200030f565b5060208310610133831016604e8410600b8410161715620002e8575081810a6200030f565b620002f4838362000201565b80600019048211156200030b576200030b62000374565b0290505b92915050565b600081600019048311821515161562000332576200033262000374565b500290565b600181811c908216806200034c57607f821691505b602082108114156200036e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b611379806200039a6000396000f3fe60806040526004361061014b5760003560e01c806370a08231116100b6578063a72400191161006f578063a7240019146103ba578063a9059cbb146103da578063b1872c85146103fa578063dd62ed3e14610402578063efcf094e14610448578063f2fde38b1461046857600080fd5b806370a0823114610306578063715018a61461033c57806379856671146103515780638da5cb5b146103675780638ff390991461038557806395d89b41146103a557600080fd5b8063286bcc8011610108578063286bcc801461022c578063313ce5671461024c57806342966c68146102615780634cf088d91461028157806363a35ff1146102b95780636d7c5b41146102e657600080fd5b806306b091f91461015057806306fdde031461017257806307b18bde1461019d578063095ea7b3146101bd57806318160ddd146101ed57806323b872dd1461020c575b600080fd5b34801561015c57600080fd5b5061017061016b366004610ffe565b610488565b005b34801561017e57600080fd5b506101876104ca565b60405161019491906110f8565b60405180910390f35b3480156101a957600080fd5b506101706101b8366004610ffe565b61055c565b3480156101c957600080fd5b506101dd6101d8366004610ffe565b610590565b6040519015158152602001610194565b3480156101f957600080fd5b506006545b604051908152602001610194565b34801561021857600080fd5b506101dd610227366004611063565b6105a7565b34801561023857600080fd5b506101706102473660046110c6565b610651565b34801561025857600080fd5b506005546101fe565b34801561026d57600080fd5b506101dd61027c3660046110c6565b610680565b34801561028d57600080fd5b506009546102a1906001600160a01b031681565b6040516001600160a01b039091168152602001610194565b3480156102c557600080fd5b506101fe6102d4366004610fe1565b60086020526000908152604090205481565b3480156102f257600080fd5b50610170610301366004610ffe565b610696565b34801561031257600080fd5b506101fe610321366004610fe1565b6001600160a01b031660009081526001602052604090205490565b34801561034857600080fd5b50610170610706565b34801561035d57600080fd5b506101fe60075481565b34801561037357600080fd5b506000546001600160a01b03166102a1565b34801561039157600080fd5b506101706103a0366004610fe1565b61073c565b3480156103b157600080fd5b506101876107ec565b3480156103c657600080fd5b506101706103d5366004610ffe565b6107fb565b3480156103e657600080fd5b506101dd6103f5366004610ffe565b6109ff565b610170610a0c565b34801561040e57600080fd5b506101fe61041d36600461102a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561045457600080fd5b50610170610463366004610ffe565b610a83565b34801561047457600080fd5b50610170610483366004610fe1565b610ac9565b6000546001600160a01b031633146104bb5760405162461bcd60e51b81526004016104b29061114d565b60405180910390fd5b6104c6308383610b64565b5050565b6060600380546104d9906112dd565b80601f0160208091040260200160405190810160405280929190818152602001828054610505906112dd565b80156105525780601f1061052757610100808354040283529160200191610552565b820191906000526020600020905b81548152906001019060200180831161053557829003601f168201915b5050505050905090565b6000546001600160a01b031633146105865760405162461bcd60e51b81526004016104b29061114d565b6104c68282610c4a565b600061059d338484610d63565b5060015b92915050565b60006105b4848484610b64565b6106478433610642856040518060400160405280601d81526020017f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000815250600260008b6001600160a01b03166001600160a01b0316815260200190815260200160002060006106213390565b6001600160a01b031681526020810191909152604001600020549190610e88565b610d63565b5060019392505050565b6000546001600160a01b0316331461067b5760405162461bcd60e51b81526004016104b29061114d565b600755565b600061068e33600084610b64565b506001919050565b6009546001600160a01b0316336001600160a01b0316146106b657600080fd5b6001600160a01b0382166000908152600160205260409020546106d99082610eb4565b6001600160a01b0383166000908152600160205260409020556006546106ff9082610eb4565b6006555050565b6000546001600160a01b031633146107305760405162461bcd60e51b81526004016104b29061114d565b61073a6000610ec7565b565b6000546001600160a01b031633146107665760405162461bcd60e51b81526004016104b29061114d565b6009546001600160a01b0316156107ca5760405162461bcd60e51b815260206004820152602260248201527f5374616b696e6720636f6e747261637420616c726561647920696e7374616c6c604482015261195960f21b60648201526084016104b2565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6060600480546104d9906112dd565b6001600160a01b03821660009081526008602052604090205461084c5760405162461bcd60e51b81526020600482015260096024820152682130b2103a37b5b2b760b91b60448201526064016104b2565b600061088a600554600a61086091906111ff565b6001600160a01b038516600090815260086020526040902054610884908590610f17565b90610f23565b9050806001600160a01b0384166370a08231336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b1580156108dc57600080fd5b505afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091491906110df565b10156109585760405162461bcd60e51b81526020600482015260136024820152724261642062616c616e636520666f722062757960681b60448201526064016104b2565b6001600160a01b0383166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101849052606401602060405180830381600087803b1580156109b657600080fd5b505af11580156109ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ee91906110a4565b506109fa303384610f2f565b505050565b600061059d338484610b64565b60003411610a475760405162461bcd60e51b81526020600482015260086024820152675a65726f2062757960c01b60448201526064016104b2565b61073a3033610a7e612710600554600a610a6191906111ff565b600754610a749061088434612710610f17565b61088491906112a7565b610f2f565b6000546001600160a01b03163314610aad5760405162461bcd60e51b81526004016104b29061114d565b6001600160a01b03909116600090815260086020526040902055565b6000546001600160a01b03163314610af35760405162461bcd60e51b81526004016104b29061114d565b6001600160a01b038116610b585760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104b2565b610b6181610ec7565b50565b6001600160a01b038316610bc85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b2565b6001600160a01b038316600090815260016020526040902054811115610c3f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104b2565b6109fa838383610f2f565b80471015610c9a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016104b2565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610ce7576040519150601f19603f3d011682016040523d82523d6000602084013e610cec565b606091505b50509050806109fa5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016104b2565b6001600160a01b038316610dc55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b2565b6001600160a01b038216610e265760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b2565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60008184841115610eac5760405162461bcd60e51b81526004016104b291906110f8565b505050900390565b6000610ec08284611182565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000610ec082846112a7565b6000610ec0828461119a565b6001600160a01b038316600090815260016020526040902054610f529082610fd5565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610f819082610eb4565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e7b9085815260200190565b6000610ec082846112c6565b600060208284031215610ff357600080fd5b8135610ec08161132e565b6000806040838503121561101157600080fd5b823561101c8161132e565b946020939093013593505050565b6000806040838503121561103d57600080fd5b82356110488161132e565b915060208301356110588161132e565b809150509250929050565b60008060006060848603121561107857600080fd5b83356110838161132e565b925060208401356110938161132e565b929592945050506040919091013590565b6000602082840312156110b657600080fd5b81518015158114610ec057600080fd5b6000602082840312156110d857600080fd5b5035919050565b6000602082840312156110f157600080fd5b5051919050565b600060208083528351808285015260005b8181101561112557858101830151858201604001528201611109565b81811115611137576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000821982111561119557611195611318565b500190565b6000826111b757634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156111f75781600019048211156111dd576111dd611318565b808516156111ea57918102915b93841c93908002906111c1565b509250929050565b6000610ec08383600082611215575060016105a1565b81611222575060006105a1565b816001811461123857600281146112425761125e565b60019150506105a1565b60ff84111561125357611253611318565b50506001821b6105a1565b5060208310610133831016604e8410600b8410161715611281575081810a6105a1565b61128b83836111bc565b806000190482111561129f5761129f611318565b029392505050565b60008160001904831182151516156112c1576112c1611318565b500290565b6000828210156112d8576112d8611318565b500390565b600181811c908216806112f157607f821691505b6020821081141561131257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610b6157600080fdfea26469706673582212208d372a51d8bc3ee14f9c17199801cd4fd6865f29d52879cde4adf63a42247db264736f6c63430008070033

Deployed Bytecode

0x60806040526004361061014b5760003560e01c806370a08231116100b6578063a72400191161006f578063a7240019146103ba578063a9059cbb146103da578063b1872c85146103fa578063dd62ed3e14610402578063efcf094e14610448578063f2fde38b1461046857600080fd5b806370a0823114610306578063715018a61461033c57806379856671146103515780638da5cb5b146103675780638ff390991461038557806395d89b41146103a557600080fd5b8063286bcc8011610108578063286bcc801461022c578063313ce5671461024c57806342966c68146102615780634cf088d91461028157806363a35ff1146102b95780636d7c5b41146102e657600080fd5b806306b091f91461015057806306fdde031461017257806307b18bde1461019d578063095ea7b3146101bd57806318160ddd146101ed57806323b872dd1461020c575b600080fd5b34801561015c57600080fd5b5061017061016b366004610ffe565b610488565b005b34801561017e57600080fd5b506101876104ca565b60405161019491906110f8565b60405180910390f35b3480156101a957600080fd5b506101706101b8366004610ffe565b61055c565b3480156101c957600080fd5b506101dd6101d8366004610ffe565b610590565b6040519015158152602001610194565b3480156101f957600080fd5b506006545b604051908152602001610194565b34801561021857600080fd5b506101dd610227366004611063565b6105a7565b34801561023857600080fd5b506101706102473660046110c6565b610651565b34801561025857600080fd5b506005546101fe565b34801561026d57600080fd5b506101dd61027c3660046110c6565b610680565b34801561028d57600080fd5b506009546102a1906001600160a01b031681565b6040516001600160a01b039091168152602001610194565b3480156102c557600080fd5b506101fe6102d4366004610fe1565b60086020526000908152604090205481565b3480156102f257600080fd5b50610170610301366004610ffe565b610696565b34801561031257600080fd5b506101fe610321366004610fe1565b6001600160a01b031660009081526001602052604090205490565b34801561034857600080fd5b50610170610706565b34801561035d57600080fd5b506101fe60075481565b34801561037357600080fd5b506000546001600160a01b03166102a1565b34801561039157600080fd5b506101706103a0366004610fe1565b61073c565b3480156103b157600080fd5b506101876107ec565b3480156103c657600080fd5b506101706103d5366004610ffe565b6107fb565b3480156103e657600080fd5b506101dd6103f5366004610ffe565b6109ff565b610170610a0c565b34801561040e57600080fd5b506101fe61041d36600461102a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561045457600080fd5b50610170610463366004610ffe565b610a83565b34801561047457600080fd5b50610170610483366004610fe1565b610ac9565b6000546001600160a01b031633146104bb5760405162461bcd60e51b81526004016104b29061114d565b60405180910390fd5b6104c6308383610b64565b5050565b6060600380546104d9906112dd565b80601f0160208091040260200160405190810160405280929190818152602001828054610505906112dd565b80156105525780601f1061052757610100808354040283529160200191610552565b820191906000526020600020905b81548152906001019060200180831161053557829003601f168201915b5050505050905090565b6000546001600160a01b031633146105865760405162461bcd60e51b81526004016104b29061114d565b6104c68282610c4a565b600061059d338484610d63565b5060015b92915050565b60006105b4848484610b64565b6106478433610642856040518060400160405280601d81526020017f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000815250600260008b6001600160a01b03166001600160a01b0316815260200190815260200160002060006106213390565b6001600160a01b031681526020810191909152604001600020549190610e88565b610d63565b5060019392505050565b6000546001600160a01b0316331461067b5760405162461bcd60e51b81526004016104b29061114d565b600755565b600061068e33600084610b64565b506001919050565b6009546001600160a01b0316336001600160a01b0316146106b657600080fd5b6001600160a01b0382166000908152600160205260409020546106d99082610eb4565b6001600160a01b0383166000908152600160205260409020556006546106ff9082610eb4565b6006555050565b6000546001600160a01b031633146107305760405162461bcd60e51b81526004016104b29061114d565b61073a6000610ec7565b565b6000546001600160a01b031633146107665760405162461bcd60e51b81526004016104b29061114d565b6009546001600160a01b0316156107ca5760405162461bcd60e51b815260206004820152602260248201527f5374616b696e6720636f6e747261637420616c726561647920696e7374616c6c604482015261195960f21b60648201526084016104b2565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6060600480546104d9906112dd565b6001600160a01b03821660009081526008602052604090205461084c5760405162461bcd60e51b81526020600482015260096024820152682130b2103a37b5b2b760b91b60448201526064016104b2565b600061088a600554600a61086091906111ff565b6001600160a01b038516600090815260086020526040902054610884908590610f17565b90610f23565b9050806001600160a01b0384166370a08231336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b1580156108dc57600080fd5b505afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091491906110df565b10156109585760405162461bcd60e51b81526020600482015260136024820152724261642062616c616e636520666f722062757960681b60448201526064016104b2565b6001600160a01b0383166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101849052606401602060405180830381600087803b1580156109b657600080fd5b505af11580156109ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ee91906110a4565b506109fa303384610f2f565b505050565b600061059d338484610b64565b60003411610a475760405162461bcd60e51b81526020600482015260086024820152675a65726f2062757960c01b60448201526064016104b2565b61073a3033610a7e612710600554600a610a6191906111ff565b600754610a749061088434612710610f17565b61088491906112a7565b610f2f565b6000546001600160a01b03163314610aad5760405162461bcd60e51b81526004016104b29061114d565b6001600160a01b03909116600090815260086020526040902055565b6000546001600160a01b03163314610af35760405162461bcd60e51b81526004016104b29061114d565b6001600160a01b038116610b585760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104b2565b610b6181610ec7565b50565b6001600160a01b038316610bc85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b2565b6001600160a01b038316600090815260016020526040902054811115610c3f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104b2565b6109fa838383610f2f565b80471015610c9a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016104b2565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610ce7576040519150601f19603f3d011682016040523d82523d6000602084013e610cec565b606091505b50509050806109fa5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016104b2565b6001600160a01b038316610dc55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b2565b6001600160a01b038216610e265760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b2565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60008184841115610eac5760405162461bcd60e51b81526004016104b291906110f8565b505050900390565b6000610ec08284611182565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000610ec082846112a7565b6000610ec0828461119a565b6001600160a01b038316600090815260016020526040902054610f529082610fd5565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610f819082610eb4565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e7b9085815260200190565b6000610ec082846112c6565b600060208284031215610ff357600080fd5b8135610ec08161132e565b6000806040838503121561101157600080fd5b823561101c8161132e565b946020939093013593505050565b6000806040838503121561103d57600080fd5b82356110488161132e565b915060208301356110588161132e565b809150509250929050565b60008060006060848603121561107857600080fd5b83356110838161132e565b925060208401356110938161132e565b929592945050506040919091013590565b6000602082840312156110b657600080fd5b81518015158114610ec057600080fd5b6000602082840312156110d857600080fd5b5035919050565b6000602082840312156110f157600080fd5b5051919050565b600060208083528351808285015260005b8181101561112557858101830151858201604001528201611109565b81811115611137576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000821982111561119557611195611318565b500190565b6000826111b757634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156111f75781600019048211156111dd576111dd611318565b808516156111ea57918102915b93841c93908002906111c1565b509250929050565b6000610ec08383600082611215575060016105a1565b81611222575060006105a1565b816001811461123857600281146112425761125e565b60019150506105a1565b60ff84111561125357611253611318565b50506001821b6105a1565b5060208310610133831016604e8410600b8410161715611281575081810a6105a1565b61128b83836111bc565b806000190482111561129f5761129f611318565b029392505050565b60008160001904831182151516156112c1576112c1611318565b500290565b6000828210156112d8576112d8611318565b500390565b600181811c908216806112f157607f821691505b6020821081141561131257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610b6157600080fdfea26469706673582212208d372a51d8bc3ee14f9c17199801cd4fd6865f29d52879cde4adf63a42247db264736f6c63430008070033

Deployed Bytecode Sourcemap

4985:4593:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8583:137;;;;;;;;;;-1:-1:-1;8583:137:0;;;;;:::i;:::-;;:::i;:::-;;5776:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8439:138;;;;;;;;;;-1:-1:-1;8439:138:0;;;;;:::i;:::-;;:::i;6595:153::-;;;;;;;;;;-1:-1:-1;6595:153:0;;;;;:::i;:::-;;:::i;:::-;;;3387:14:1;;3380:22;3362:41;;3350:2;3335:18;6595:153:0;3222:187:1;6064:96:0;;;;;;;;;;-1:-1:-1;6142:12:0;;6064:96;;;8760:25:1;;;8748:2;8733:18;6064:96:0;8614:177:1;6754:288:0;;;;;;;;;;-1:-1:-1;6754:288:0;;;;;:::i;:::-;;:::i;8726:95::-;;;;;;;;;;-1:-1:-1;8726:95:0;;;;;:::i;:::-;;:::i;5968:90::-;;;;;;;;;;-1:-1:-1;6043:9:0;;5968:90;;7048:135;;;;;;;;;;-1:-1:-1;7048:135:0;;;;;:::i;:::-;;:::i;5496:22::-;;;;;;;;;;-1:-1:-1;5496:22:0;;;;-1:-1:-1;;;;;5496:22:0;;;;;;-1:-1:-1;;;;;2798:32:1;;;2780:51;;2768:2;2753:18;5496:22:0;2634:203:1;5445:44:0;;;;;;;;;;-1:-1:-1;5445:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;8253:180;;;;;;;;;;-1:-1:-1;8253:180:0;;;;;:::i;:::-;;:::i;6166:113::-;;;;;;;;;;-1:-1:-1;6166:113:0;;;;;:::i;:::-;-1:-1:-1;;;;;6255:18:0;6232:7;6255:18;;;:9;:18;;;;;;;6166:113;731:97;;;;;;;;;;;;;:::i;5397:40::-;;;;;;;;;;;;;;;;528:81;;;;;;;;;;-1:-1:-1;574:7:0;597:6;-1:-1:-1;;;;;597:6:0;528:81;;8075:172;;;;;;;;;;-1:-1:-1;8075:172:0;;;;;:::i;:::-;;:::i;5870:92::-;;;;;;;;;;;;;:::i;9169:406::-;;;;;;;;;;-1:-1:-1;9169:406:0;;;;;:::i;:::-;;:::i;6430:159::-;;;;;;;;;;-1:-1:-1;6430:159:0;;;;;:::i;:::-;;:::i;8948:215::-;;;:::i;6285:139::-;;;;;;;;;;-1:-1:-1;6285:139:0;;;;;:::i;:::-;-1:-1:-1;;;;;6391:18:0;;;6368:7;6391:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6285:139;8827:115;;;;;;;;;;-1:-1:-1;8827:115:0;;;;;:::i;:::-;;:::i;834:191::-;;;;;;;;;;-1:-1:-1;834:191:0;;;;;:::i;:::-;;:::i;8583:137::-;574:7;597:6;-1:-1:-1;;;;;597:6:0;178:10;651:23;643:68;;;;-1:-1:-1;;;643:68:0;;;;;;;:::i;:::-;;;;;;;;;8673:41:::1;8691:4;8698:7;8707:6;8673:9;:41::i;:::-;8583:137:::0;;:::o;5776:88::-;5824:13;5853:5;5846:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5776:88;:::o;8439:138::-;574:7;597:6;-1:-1:-1;;;;;597:6:0;178:10;651:23;643:68;;;;-1:-1:-1;;;643:68:0;;;;;;;:::i;:::-;8537:34:::1;8555:7;8564:6;8537:17;:34::i;6595:153::-:0;6672:4;6685:39;178:10;6708:7;6717:6;6685:8;:39::i;:::-;-1:-1:-1;6738:4:0;6595:153;;;;;:::o;6754:288::-;6852:4;6865:36;6875:6;6883:9;6894:6;6865:9;:36::i;:::-;6908:110;6917:6;178:10;6939:78;6977:6;6939:78;;;;;;;;;;;;;;;;;:11;:19;6951:6;-1:-1:-1;;;;;6939:19:0;-1:-1:-1;;;;;6939:19:0;;;;;;;;;;;;:33;6959:12;178:10;;102:92;6959:12;-1:-1:-1;;;;;6939:33:0;;;;;;;;;;;;-1:-1:-1;6939:33:0;;;:78;:37;:78::i;:::-;6908:8;:110::i;:::-;-1:-1:-1;7032:4:0;6754:288;;;;;:::o;8726:95::-;574:7;597:6;-1:-1:-1;;;;;597:6:0;178:10;651:23;643:68;;;;-1:-1:-1;;;643:68:0;;;;;;;:::i;:::-;8798:10:::1;:17:::0;8726:95::o;7048:135::-;7103:4;7116:43;178:10;7148:1;7152:6;7116:9;:43::i;:::-;-1:-1:-1;7173:4:0;;7048:135;-1:-1:-1;7048:135:0:o;8253:180::-;5748:7;;-1:-1:-1;;;;;5748:7:0;178:10;-1:-1:-1;;;;;5732:23:0;;5724:32;;;;;;-1:-1:-1;;;;;8356:13:0;::::1;;::::0;;;:9:::1;:13;::::0;;;;;:25:::1;::::0;8374:6;8356:17:::1;:25::i;:::-;-1:-1:-1::0;;;;;8340:13:0;::::1;;::::0;;;:9:::1;:13;::::0;;;;:41;8403:12:::1;::::0;:24:::1;::::0;8420:6;8403:16:::1;:24::i;:::-;8388:12;:39:::0;-1:-1:-1;;8253:180:0:o;731:97::-;574:7;597:6;-1:-1:-1;;;;;597:6:0;178:10;651:23;643:68;;;;-1:-1:-1;;;643:68:0;;;;;;;:::i;:::-;792:30:::1;819:1;792:18;:30::i;:::-;731:97::o:0;8075:172::-;574:7;597:6;-1:-1:-1;;;;;597:6:0;178:10;651:23;643:68;;;;-1:-1:-1;;;643:68:0;;;;;;;:::i;:::-;8156:7:::1;::::0;-1:-1:-1;;;;;8156:7:0::1;:21:::0;8148:68:::1;;;::::0;-1:-1:-1;;;8148:68:0;;6557:2:1;8148:68:0::1;::::0;::::1;6539:21:1::0;6596:2;6576:18;;;6569:30;6635:34;6615:18;;;6608:62;-1:-1:-1;;;6686:18:1;;;6679:32;6728:19;;8148:68:0::1;6355:398:1::0;8148:68:0::1;8223:7;:18:::0;;-1:-1:-1;;;;;;8223:18:0::1;-1:-1:-1::0;;;;;8223:18:0;;;::::1;::::0;;;::::1;::::0;;8075:172::o;5870:92::-;5920:13;5949:7;5942:14;;;;;:::i;9169:406::-;-1:-1:-1;;;;;9251:16:0;;9270:1;9251:16;;;:9;:16;;;;;;9243:42;;;;-1:-1:-1;;;9243:42:0;;5435:2:1;9243:42:0;;;5417:21:1;5474:1;5454:18;;;5447:29;-1:-1:-1;;;5492:18:1;;;5485:39;5541:18;;9243:42:0;5233:332:1;9243:42:0;9292:13;9308:49;9347:9;;9341:2;:15;;;;:::i;:::-;-1:-1:-1;;;;;9319:16:0;;;;;;:9;:16;;;;;;9308:28;;:6;;:10;:28::i;:::-;:32;;:49::i;:::-;9292:65;-1:-1:-1;9292:65:0;-1:-1:-1;;;;;9372:23:0;;;178:10;9372:37;;-1:-1:-1;;;;;;9372:37:0;;;;;;;-1:-1:-1;;;;;2798:32:1;;;9372:37:0;;;2780:51:1;2753:18;;9372:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:46;;9364:78;;;;-1:-1:-1;;;9364:78:0;;8468:2:1;9364:78:0;;;8450:21:1;8507:2;8487:18;;;8480:30;-1:-1:-1;;;8526:18:1;;;8519:49;8585:18;;9364:78:0;8266:343:1;9364:78:0;-1:-1:-1;;;;;9449:26:0;;;178:10;9449:62;;-1:-1:-1;;;;;;9449:62:0;;;;;;;-1:-1:-1;;;;;3100:15:1;;;9449:62:0;;;3082:34:1;9498:4:0;3132:18:1;;;3125:43;3184:18;;;3177:34;;;3017:18;;9449:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;9518:51:0;9541:4;178:10;9562:6;9518:14;:51::i;:::-;9236:339;9169:406;;:::o;6430:159::-;6510:4;6523:42;178:10;6547:9;6558:6;6523:9;:42::i;8948:215::-;9022:1;9010:9;:13;9002:34;;;;-1:-1:-1;;;9002:34:0;;7321:2:1;9002:34:0;;;7303:21:1;7360:1;7340:18;;;7333:29;-1:-1:-1;;;7378:18:1;;;7371:38;7426:18;;9002:34:0;7119:331:1;9002:34:0;9043:114;9066:4;178:10;9087:69;9150:5;9135:9;;9129:2;:15;;;;:::i;:::-;9115:10;;9088:38;;:22;9089:9;9104:5;9088:15;:22::i;:38::-;:56;;;;:::i;9087:69::-;9043:14;:114::i;8827:115::-;574:7;597:6;-1:-1:-1;;;;;597:6:0;178:10;651:23;643:68;;;;-1:-1:-1;;;643:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8913:16:0;;::::1;;::::0;;;:9:::1;:16;::::0;;;;:23;8827:115::o;834:191::-;574:7;597:6;-1:-1:-1;;;;;597:6:0;178:10;651:23;643:68;;;;-1:-1:-1;;;643:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;919:22:0;::::1;911:73;;;::::0;-1:-1:-1;;;911:73:0;;4218:2:1;911:73:0::1;::::0;::::1;4200:21:1::0;4257:2;4237:18;;;4230:30;4296:34;4276:18;;;4269:62;-1:-1:-1;;;4347:18:1;;;4340:36;4393:19;;911:73:0::1;4016:402:1::0;911:73:0::1;991:28;1010:8;991:18;:28::i;:::-;834:191:::0;:::o;7774:295::-;-1:-1:-1;;;;;7868:20:0;;7860:70;;;;-1:-1:-1;;;7860:70:0;;7657:2:1;7860:70:0;;;7639:21:1;7696:2;7676:18;;;7669:30;7735:34;7715:18;;;7708:62;-1:-1:-1;;;7786:18:1;;;7779:35;7831:19;;7860:70:0;7455:401:1;7860:70:0;-1:-1:-1;;;;;7945:17:0;;;;;;:9;:17;;;;;;:27;-1:-1:-1;7945:27:0;7937:78;;;;-1:-1:-1;;;7937:78:0;;5028:2:1;7937:78:0;;;5010:21:1;5067:2;5047:18;;;5040:30;5106:34;5086:18;;;5079:62;-1:-1:-1;;;5157:18:1;;;5150:36;5203:19;;7937:78:0;4826:402:1;7937:78:0;8022:41;8037:6;8045:9;8056:6;8022:14;:41::i;4675:303::-;4786:6;4761:21;:31;;4753:73;;;;-1:-1:-1;;;4753:73:0;;6199:2:1;4753:73:0;;;6181:21:1;6238:2;6218:18;;;6211:30;6277:31;6257:18;;;6250:59;6326:18;;4753:73:0;5997:353:1;4753:73:0;4836:12;4854:9;-1:-1:-1;;;;;4854:14:0;4876:6;4854:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4835:52;;;4902:7;4894:78;;;;-1:-1:-1;;;4894:78:0;;5772:2:1;4894:78:0;;;5754:21:1;5811:2;5791:18;;;5784:30;5850:34;5830:18;;;5823:62;5921:28;5901:18;;;5894:56;5967:19;;4894:78:0;5570:422:1;7189:318:0;-1:-1:-1;;;;;7279:19:0;;7271:68;;;;-1:-1:-1;;;7271:68:0;;8063:2:1;7271:68:0;;;8045:21:1;8102:2;8082:18;;;8075:30;8141:34;8121:18;;;8114:62;-1:-1:-1;;;8192:18:1;;;8185:34;8236:19;;7271:68:0;7861:400:1;7271:68:0;-1:-1:-1;;;;;7354:21:0;;7346:68;;;;-1:-1:-1;;;7346:68:0;;4625:2:1;7346:68:0;;;4607:21:1;4664:2;4644:18;;;4637:30;4703:34;4683:18;;;4676:62;-1:-1:-1;;;4754:18:1;;;4747:32;4796:19;;7346:68:0;4423:398:1;7346:68:0;-1:-1:-1;;;;;7421:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7469:32;;8760:25:1;;;7469:32:0;;8733:18:1;7469:32:0;;;;;;;;7189:318;;;:::o;3885:206::-;3971:7;4022:12;4014:6;;;;4006:29;;;;-1:-1:-1;;;4006:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;4056:5:0;;;3885:206::o;3395:92::-;3453:7;3476:5;3480:1;3476;:5;:::i;:::-;3469:12;3395:92;-1:-1:-1;;;3395:92:0:o;1031:177::-;1101:16;1120:6;;-1:-1:-1;;;;;1133:17:0;;;-1:-1:-1;;;;;;1133:17:0;;;;;;1162:40;;1120:6;;;;;;;1162:40;;1101:16;1162:40;1094:114;1031:177;:::o;3591:92::-;3649:7;3672:5;3676:1;3672;:5;:::i;3689:92::-;3747:7;3770:5;3774:1;3770;:5;:::i;7513:255::-;-1:-1:-1;;;;;7624:17:0;;;;;;:9;:17;;;;;;:29;;7646:6;7624:21;:29::i;:::-;-1:-1:-1;;;;;7604:17:0;;;;;;;:9;:17;;;;;;:49;;;;7683:20;;;;;;;:32;;7708:6;7683:24;:32::i;:::-;-1:-1:-1;;;;;7660:20:0;;;;;;;:9;:20;;;;;;;:55;;;;7727:35;;;;;;;;;;7755:6;8760:25:1;;8748:2;8733:18;;8614:177;3493:92:0;3551:7;3574:5;3578:1;3574;:5;:::i;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;266:323::-;342:6;350;403:2;391:9;382:7;378:23;374:32;371:52;;;419:1;416;409:12;371:52;458:9;445:23;477:31;502:5;477:31;:::i;:::-;527:5;579:2;564:18;;;;551:32;;-1:-1:-1;;;266:323:1:o;594:388::-;662:6;670;723:2;711:9;702:7;698:23;694:32;691:52;;;739:1;736;729:12;691:52;778:9;765:23;797:31;822:5;797:31;:::i;:::-;847:5;-1:-1:-1;904:2:1;889:18;;876:32;917:33;876:32;917:33;:::i;:::-;969:7;959:17;;;594:388;;;;;:::o;987:456::-;1064:6;1072;1080;1133:2;1121:9;1112:7;1108:23;1104:32;1101:52;;;1149:1;1146;1139:12;1101:52;1188:9;1175:23;1207:31;1232:5;1207:31;:::i;:::-;1257:5;-1:-1:-1;1314:2:1;1299:18;;1286:32;1327:33;1286:32;1327:33;:::i;:::-;987:456;;1379:7;;-1:-1:-1;;;1433:2:1;1418:18;;;;1405:32;;987:456::o;1768:277::-;1835:6;1888:2;1876:9;1867:7;1863:23;1859:32;1856:52;;;1904:1;1901;1894:12;1856:52;1936:9;1930:16;1989:5;1982:13;1975:21;1968:5;1965:32;1955:60;;2011:1;2008;2001:12;2050:180;2109:6;2162:2;2150:9;2141:7;2137:23;2133:32;2130:52;;;2178:1;2175;2168:12;2130:52;-1:-1:-1;2201:23:1;;2050:180;-1:-1:-1;2050:180:1:o;2235:184::-;2305:6;2358:2;2346:9;2337:7;2333:23;2329:32;2326:52;;;2374:1;2371;2364:12;2326:52;-1:-1:-1;2397:16:1;;2235:184;-1:-1:-1;2235:184:1:o;3414:597::-;3526:4;3555:2;3584;3573:9;3566:21;3616:6;3610:13;3659:6;3654:2;3643:9;3639:18;3632:34;3684:1;3694:140;3708:6;3705:1;3702:13;3694:140;;;3803:14;;;3799:23;;3793:30;3769:17;;;3788:2;3765:26;3758:66;3723:10;;3694:140;;;3852:6;3849:1;3846:13;3843:91;;;3922:1;3917:2;3908:6;3897:9;3893:22;3889:31;3882:42;3843:91;-1:-1:-1;3995:2:1;3974:15;-1:-1:-1;;3970:29:1;3955:45;;;;4002:2;3951:54;;3414:597;-1:-1:-1;;;3414:597:1:o;6758:356::-;6960:2;6942:21;;;6979:18;;;6972:30;7038:34;7033:2;7018:18;;7011:62;7105:2;7090:18;;6758:356::o;8796:128::-;8836:3;8867:1;8863:6;8860:1;8857:13;8854:39;;;8873:18;;:::i;:::-;-1:-1:-1;8909:9:1;;8796:128::o;8929:217::-;8969:1;8995;8985:132;;9039:10;9034:3;9030:20;9027:1;9020:31;9074:4;9071:1;9064:15;9102:4;9099:1;9092:15;8985:132;-1:-1:-1;9131:9:1;;8929:217::o;9151:422::-;9240:1;9283:5;9240:1;9297:270;9318:7;9308:8;9305:21;9297:270;;;9377:4;9373:1;9369:6;9365:17;9359:4;9356:27;9353:53;;;9386:18;;:::i;:::-;9436:7;9426:8;9422:22;9419:55;;;9456:16;;;;9419:55;9535:22;;;;9495:15;;;;9297:270;;;9301:3;9151:422;;;;;:::o;9578:131::-;9638:5;9667:36;9694:8;9688:4;9763:5;9793:8;9783:80;;-1:-1:-1;9834:1:1;9848:5;;9783:80;9882:4;9872:76;;-1:-1:-1;9919:1:1;9933:5;;9872:76;9964:4;9982:1;9977:59;;;;10050:1;10045:130;;;;9957:218;;9977:59;10007:1;9998:10;;10021:5;;;10045:130;10082:3;10072:8;10069:17;10066:43;;;10089:18;;:::i;:::-;-1:-1:-1;;10145:1:1;10131:16;;10160:5;;9957:218;;10259:2;10249:8;10246:16;10240:3;10234:4;10231:13;10227:36;10221:2;10211:8;10208:16;10203:2;10197:4;10194:12;10190:35;10187:77;10184:159;;;-1:-1:-1;10296:19:1;;;10328:5;;10184:159;10375:34;10400:8;10394:4;10375:34;:::i;:::-;10445:6;10441:1;10437:6;10433:19;10424:7;10421:32;10418:58;;;10456:18;;:::i;:::-;10494:20;;9714:806;-1:-1:-1;;;9714:806:1:o;10525:168::-;10565:7;10631:1;10627;10623:6;10619:14;10616:1;10613:21;10608:1;10601:9;10594:17;10590:45;10587:71;;;10638:18;;:::i;:::-;-1:-1:-1;10678:9:1;;10525:168::o;10698:125::-;10738:4;10766:1;10763;10760:8;10757:34;;;10771:18;;:::i;:::-;-1:-1:-1;10808:9:1;;10698:125::o;10828:380::-;10907:1;10903:12;;;;10950;;;10971:61;;11025:4;11017:6;11013:17;11003:27;;10971:61;11078:2;11070:6;11067:14;11047:18;11044:38;11041:161;;;11124:10;11119:3;11115:20;11112:1;11105:31;11159:4;11156:1;11149:15;11187:4;11184:1;11177:15;11041:161;;10828:380;;;:::o;11213:127::-;11274:10;11269:3;11265:20;11262:1;11255:31;11305:4;11302:1;11295:15;11329:4;11326:1;11319:15;11345:131;-1:-1:-1;;;;;11420:31:1;;11410:42;;11400:70;;11466:1;11463;11456:12

Swarm Source

ipfs://8d372a51d8bc3ee14f9c17199801cd4fd6865f29d52879cde4adf63a42247db2
Loading...
Loading
Loading...
Loading
[ 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.