ERC-20
Source Code
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
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
UnlimitedDAO
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/**
*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
- No Contract Security Audit Submitted- Submit Audit Here
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"}]Contract Creation Code
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.
Add Token to MetaMask (Web3)