Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Source Code
Overview
Max Total Supply
100,000,000 MATCHA
Holders
94
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:
MatchaAIToken
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2024-10-15
*/
// SPDX-License-Identifier: MIT
/**
MATCHA AI - Predict the Future of Memecoins
Website: https://matchaai.io/
Telegram: https://t.me/matchaai_io
X : https://x.com/matchaai_io
**/
pragma solidity >=0.8.20;
abstract contract BaseContext {
function caller() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
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 approve(address spender, uint256 amount) external returns (bool);
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
);
}
library SafeCalc {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeCalc: addition overflow detected");
return c;
}
function subtract(uint256 a, uint256 b) internal pure returns (uint256) {
return subtract(a, b, "SafeCalc: subtraction overflow detected");
}
function subtract(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function multiply(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeCalc: multiplication overflow detected");
return c;
}
function divide(uint256 a, uint256 b) internal pure returns (uint256) {
return divide(a, b, "SafeCalc: division by zero detected");
}
function divide(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
contract Ownership is BaseContext {
address private _owner;
event OwnerUpdated(address indexed previousOwner, address indexed newOwner);
constructor() {
address msgSender = caller();
_owner = msgSender;
emit OwnerUpdated(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == caller(), "Ownership: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnerUpdated(_owner, address(0));
_owner = address(0);
}
}
interface IDEXFactory {
function createPair(
address tokenA,
address tokenB
) external returns (address pair);
}
interface IDEXRouter {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
)
external
payable
returns (uint amountToken, uint amountETH, uint liquidity);
}
contract MatchaAIToken is BaseContext, IERC20, Ownership {
using SafeCalc for uint256;
mapping(address => bool) private _excludedFromFees;
mapping(address => bool) private blockedAddresses;
mapping(address => uint256) private _accountBalances;
mapping(address => mapping(address => uint256)) private _tokenAllowances;
uint256 private _initialBuyFee = 19;
uint256 private _initialSellFee = 19;
uint256 private _finalBuyFee = 5;
uint256 private _finalSellFee = 5;
uint256 private _feeReductionBlock = 30;
uint256 private _swapActivationBlock = 35;
uint256 private _buyCounter = 0;
uint8 private constant DECIMALS = 9;
uint256 private constant SUPPLY_TOTAL = 100000000 * 10 ** DECIMALS;
string private constant TOKEN_NAME = unicode"Matcha AI";
string private constant TOKEN_SYMBOL = unicode"MATCHA";
uint256 public maxTransactionAmount = 2000000 * 10 ** DECIMALS;
uint256 public maxWalletSize = 2000000 * 10 ** DECIMALS;
uint256 public swapThresholdAmount = 500000 * 10 ** DECIMALS;
uint256 public maxSwapAmount = 2000000 * 10 ** DECIMALS;
address payable private _feeWallet;
uint256 launchBlock;
IDEXRouter private dexRouter;
address private dexPair;
bool private isSwapping = false;
bool private isSwapActivated = false;
bool private tradingEnabled = false;
event MaxTransactionAmountUpdated(uint _maxTransaction);
modifier lockTheSwap() {
isSwapping = true;
_;
isSwapping = false;
}
constructor() {
_feeWallet = payable(caller());
_accountBalances[caller()] = SUPPLY_TOTAL;
_excludedFromFees[owner()] = true;
_excludedFromFees[address(this)] = true;
_excludedFromFees[_feeWallet] = true;
emit Transfer(address(0), caller(), SUPPLY_TOTAL);
}
function name() public pure returns (string memory) {
return TOKEN_NAME;
}
function symbol() public pure returns (string memory) {
return TOKEN_SYMBOL;
}
function decimals() public pure returns (uint8) {
return DECIMALS;
}
function totalSupply() public pure override returns (uint256) {
return SUPPLY_TOTAL;
}
function balanceOf(address account) public view override returns (uint256) {
return _accountBalances[account];
}
function transfer(
address recipient,
uint256 value
) public override returns (bool) {
_transfer(caller(), recipient, value);
return true;
}
function allowance(
address owner,
address spender
) public view override returns (uint256) {
return _tokenAllowances[owner][spender];
}
function approve(
address spender,
uint256 value
) public override returns (bool) {
_approve(caller(), spender, value);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 value
) public override returns (bool) {
_transfer(sender, recipient, value);
_approve(
sender,
caller(),
_tokenAllowances[sender][caller()].subtract(
value,
"IERC20: transfer amount exceeds allowance"
)
);
return true;
}
function _approve(address owner, address spender, uint256 value) private {
require(owner != address(0), "IERC20: approve from zero address");
require(spender != address(0), "IERC20: approve to zero address");
_tokenAllowances[owner][spender] = value;
emit Approval(owner, spender, value);
}
function _transfer(address from, address to, uint256 value) private {
require(from != address(0), "IERC20: transfer from zero address");
require(to != address(0), "IERC20: transfer to zero address");
require(value > 0, "Transfer amount must be greater than zero");
uint256 feeAmount = 0;
if (from != owner() && to != owner()) {
require(!blockedAddresses[from] && !blockedAddresses[to]);
if (from == dexPair || to == dexPair) {
if (
from == dexPair &&
to != address(dexRouter) &&
!_excludedFromFees[to]
) {
require(
value <= maxTransactionAmount,
"Exceeds max transaction limit."
);
require(
balanceOf(to) + value <= maxWalletSize,
"Exceeds max wallet size."
);
feeAmount = value
.multiply(
(_buyCounter > _feeReductionBlock)
? _finalBuyFee
: _initialBuyFee
)
.divide(100);
_buyCounter++;
}
if (to == dexPair && from != address(this)) {
feeAmount = value
.multiply(
(_buyCounter > _feeReductionBlock)
? _finalSellFee
: _initialSellFee
)
.divide(100);
}
uint256 contractBalance = balanceOf(address(this));
if (
!isSwapping &&
to == dexPair &&
isSwapActivated &&
contractBalance > swapThresholdAmount &&
_buyCounter > _swapActivationBlock
) {
swapTokensForEth(
min(value, min(contractBalance, maxSwapAmount))
);
uint256 contractEthBalance = address(this).balance;
if (contractEthBalance > 0) {
sendEthToFee(address(this).balance);
}
}
} else {
feeAmount = 0;
}
}
_accountBalances[from] = _accountBalances[from].subtract(value);
_accountBalances[to] = _accountBalances[to].add(
value.subtract(feeAmount)
);
if (feeAmount > 0) {
_accountBalances[address(this)] = _accountBalances[address(this)]
.add(feeAmount);
emit Transfer(from, address(this), feeAmount);
}
emit Transfer(from, to, value.subtract(feeAmount));
}
function min(uint256 a, uint256 b) private pure returns (uint256) {
return (a > b) ? b : a;
}
function isContract(address account) private view returns (bool) {
return account.code.length > 0;
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = dexRouter.WETH();
_approve(address(this), address(dexRouter), tokenAmount);
dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function sendEthToFee(uint256 amount) private {
_feeWallet.transfer(amount);
}
function manualSwapTokensForEth() external {
require(caller() == _feeWallet, "Caller is not authorized");
uint256 tokenBalance = balanceOf(address(this));
uint256 ethBalance = address(this).balance;
if (tokenBalance > 0) {
swapTokensForEth(tokenBalance);
}
if (ethBalance > 0) {
sendEthToFee(ethBalance);
}
}
function removeLimits() external onlyOwner {
maxTransactionAmount = SUPPLY_TOTAL;
maxWalletSize = SUPPLY_TOTAL;
emit MaxTransactionAmountUpdated(SUPPLY_TOTAL);
}
function openTrading() external onlyOwner {
require(!tradingEnabled, "Trading already enabled");
dexRouter = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), address(dexRouter), SUPPLY_TOTAL);
dexPair = IDEXFactory(dexRouter.factory()).createPair(
address(this),
dexRouter.WETH()
);
dexRouter.addLiquidityETH{value: address(this).balance}(
address(this),
balanceOf(address(this)),
0,
0,
owner(),
block.timestamp
);
IERC20(dexPair).approve(address(dexRouter), type(uint).max);
isSwapActivated = true;
tradingEnabled = true;
launchBlock = block.number;
}
receive() external payable {}
}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":"_maxTransaction","type":"uint256"}],"name":"MaxTransactionAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerUpdated","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":"value","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":"manualSwapTokensForEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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":"swapThresholdAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"value","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":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040526013600555601360065560056007556005600855601e6009556023600a555f600b556009600a620000369190620002f6565b6200004590621e84806200030d565b600c55620000566009600a620002f6565b6200006590621e84806200030d565b600d55620000766009600a620002f6565b62000085906207a1206200030d565b600e55620000966009600a620002f6565b620000a590621e84806200030d565b600f556013805462ffffff60a01b19169055348015620000c3575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d76908290a350601080546001600160a01b03191633179055620001246009600a620002f6565b62000134906305f5e1006200030d565b335f8181526003602090815260408083209490945581546001600160a01b039081168352600191829052848320805460ff19908116841790915530845285842080548216841790556010549091168352938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001c06009600a620002f6565b620001d0906305f5e1006200030d565b60405190815260200160405180910390a362000327565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200023b57815f19048211156200021f576200021f620001e7565b808516156200022d57918102915b93841c939080029062000200565b509250929050565b5f826200025357506001620002f0565b816200026157505f620002f0565b81600181146200027a57600281146200028557620002a5565b6001915050620002f0565b60ff841115620002995762000299620001e7565b50506001821b620002f0565b5060208310610133831016604e8410600b8410161715620002ca575081810a620002f0565b620002d68383620001fb565b805f1904821115620002ec57620002ec620001e7565b0290505b92915050565b5f6200030660ff84168362000243565b9392505050565b8082028115828204841417620002f057620002f0620001e7565b6117bd80620003355f395ff3fe608060405260043610610108575f3560e01c80638f3fa86011610092578063c8c8ebe411610062578063c8c8ebe4146102db578063c9567bf9146102f0578063cce987d414610304578063d0aa7abe14610319578063dd62ed3e1461032e575f80fd5b80638f3fa8601461026557806395d89b411461027a578063a2b17412146102a8578063a9059cbb146102bc575f80fd5b8063313ce567116100d8578063313ce567146101c657806370a08231146101e1578063715018a614610215578063751039fc1461022b5780638da5cb5b1461023f575f80fd5b806306fdde0314610113578063095ea7b31461015657806318160ddd1461018557806323b872dd146101a7575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b506040805180820190915260098152684d617463686120414960b81b60208201525b60405161014d9190611358565b60405180910390f35b348015610161575f80fd5b506101756101703660046113ba565b610372565b604051901515815260200161014d565b348015610190575f80fd5b50610199610388565b60405190815260200161014d565b3480156101b2575f80fd5b506101756101c13660046113e4565b6103a8565b3480156101d1575f80fd5b506040516009815260200161014d565b3480156101ec575f80fd5b506101996101fb366004611422565b6001600160a01b03165f9081526003602052604090205490565b348015610220575f80fd5b5061022961040f565b005b348015610236575f80fd5b50610229610489565b34801561024a575f80fd5b505f546040516001600160a01b03909116815260200161014d565b348015610270575f80fd5b50610199600d5481565b348015610285575f80fd5b506040805180820190915260068152654d415443484160d01b6020820152610140565b3480156102b3575f80fd5b5061022961053a565b3480156102c7575f80fd5b506101756102d63660046113ba565b6105cf565b3480156102e6575f80fd5b50610199600c5481565b3480156102fb575f80fd5b506102296105db565b34801561030f575f80fd5b50610199600f5481565b348015610324575f80fd5b50610199600e5481565b348015610339575f80fd5b5061019961034836600461143d565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b5f61037e338484610986565b5060015b92915050565b5f6103956009600a611568565b6103a3906305f5e100611576565b905090565b5f6103b4848484610a9c565b610405843361040085604051806060016040528060298152602001611738602991396001600160a01b038a165f9081526004602090815260408083203384529091529020549190610ff9565b610986565b5060019392505050565b5f546001600160a01b031633146104415760405162461bcd60e51b81526004016104389061158d565b60405180910390fd5b5f80546040516001600160a01b03909116907f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d76908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104b25760405162461bcd60e51b81526004016104389061158d565b6104be6009600a611568565b6104cc906305f5e100611576565b600c556104db6009600a611568565b6104e9906305f5e100611576565b600d557f7c1cb3702d8e1fa6d24b12dd90670ab69c6d66d58233103d37da8b07d6b850ac6105196009600a611568565b610527906305f5e100611576565b60405190815260200160405180910390a1565b6010546001600160a01b0316336001600160a01b03161461059d5760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f72697a656400000000000000006044820152606401610438565b305f908152600360205260409020544781156105bc576105bc82611031565b80156105cb576105cb816111a1565b5050565b5f61037e338484610a9c565b5f546001600160a01b031633146106045760405162461bcd60e51b81526004016104389061158d565b601354600160b01b900460ff161561065e5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c65640000000000000000006044820152606401610438565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106a79030906106996009600a611568565b610400906305f5e100611576565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071b91906115cf565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079e91906115cf565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080c91906115cf565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d7194730610853816001600160a01b03165f9081526003602052604090205490565b5f806108665f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108cc573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108f191906115ea565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610946573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096a9190611615565b506013805461ffff60a81b191661010160a81b17905543601155565b6001600160a01b0383166109e65760405162461bcd60e51b815260206004820152602160248201527f4945524332303a20617070726f76652066726f6d207a65726f206164647265736044820152607360f81b6064820152608401610438565b6001600160a01b038216610a3c5760405162461bcd60e51b815260206004820152601f60248201527f4945524332303a20617070726f766520746f207a65726f2061646472657373006044820152606401610438565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610afd5760405162461bcd60e51b815260206004820152602260248201527f4945524332303a207472616e736665722066726f6d207a65726f206164647265604482015261737360f01b6064820152608401610438565b6001600160a01b038216610b535760405162461bcd60e51b815260206004820181905260248201527f4945524332303a207472616e7366657220746f207a65726f20616464726573736044820152606401610438565b5f8111610bb45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610438565b5f80546001600160a01b03858116911614801590610bdf57505f546001600160a01b03848116911614155b15610eb4576001600160a01b0384165f9081526002602052604090205460ff16158015610c2457506001600160a01b0383165f9081526002602052604090205460ff16155b610c2c575f80fd5b6013546001600160a01b0385811691161480610c5557506013546001600160a01b038481169116145b15610eb1576013546001600160a01b038581169116148015610c8557506012546001600160a01b03848116911614155b8015610ca957506001600160a01b0383165f9081526001602052604090205460ff16155b15610dbd57600c54821115610d005760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178207472616e73616374696f6e206c696d69742e00006044820152606401610438565b600d5482610d22856001600160a01b03165f9081526003602052604090205490565b610d2c9190611634565b1115610d7a5760405162461bcd60e51b815260206004820152601860248201527f45786365656473206d61782077616c6c65742073697a652e00000000000000006044820152606401610438565b610da66064610da0600954600b5411610d9557600554610d99565b6007545b85906111d8565b90611266565b600b80549192505f610db783611647565b91905055505b6013546001600160a01b038481169116148015610de357506001600160a01b0384163014155b15610e1057610e0d6064610da0600954600b5411610e0357600654610d99565b60085485906111d8565b90505b305f90815260036020526040902054601354600160a01b900460ff16158015610e4657506013546001600160a01b038581169116145b8015610e5b5750601354600160a81b900460ff165b8015610e685750600e5481115b8015610e775750600a54600b54115b15610eab57610e99610e9484610e8f84600f5461128a565b61128a565b611031565b478015610ea957610ea9476111a1565b505b50610eb4565b505f5b6001600160a01b0384165f90815260036020526040902054610ed6908361129e565b6001600160a01b0385165f90815260036020526040902055610f19610efb838361129e565b6001600160a01b0385165f90815260036020526040902054906112c2565b6001600160a01b0384165f908152600360205260409020558015610fa957305f90815260036020526040902054610f5090826112c2565b305f81815260036020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fa09085815260200190565b60405180910390a35b6001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610fe2858561129e565b60405190815260200160405180910390a350505050565b5f818484111561101c5760405162461bcd60e51b81526004016104389190611358565b505f611028848661165f565b95945050505050565b6013805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061107757611077611672565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906115cf565b8160018151811061110557611105611672565b6001600160a01b03928316602091820292909201015260125461112b9130911684610986565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906111639085905f90869030904290600401611686565b5f604051808303815f87803b15801561117a575f80fd5b505af115801561118c573d5f803e3d5ffd5b50506013805460ff60a01b1916905550505050565b6010546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156105cb573d5f803e3d5ffd5b5f825f036111e757505f610382565b5f6111f28385611576565b9050826111ff85836116f5565b1461125f5760405162461bcd60e51b815260206004820152602a60248201527f5361666543616c633a206d756c7469706c69636174696f6e206f766572666c6f6044820152691dc819195d1958dd195960b21b6064820152608401610438565b9392505050565b5f61125f83836040518060600160405280602381526020016117156023913961132c565b5f818311611298578261125f565b50919050565b5f61125f838360405180606001604052806027815260200161176160279139610ff9565b5f806112ce8385611634565b90508381101561125f5760405162461bcd60e51b8152602060048201526024808201527f5361666543616c633a206164646974696f6e206f766572666c6f77206465746560448201526318dd195960e21b6064820152608401610438565b5f818361134c5760405162461bcd60e51b81526004016104389190611358565b505f61102884866116f5565b5f6020808352835180828501525f5b8181101561138357858101830151858201604001528201611367565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113b7575f80fd5b50565b5f80604083850312156113cb575f80fd5b82356113d6816113a3565b946020939093013593505050565b5f805f606084860312156113f6575f80fd5b8335611401816113a3565b92506020840135611411816113a3565b929592945050506040919091013590565b5f60208284031215611432575f80fd5b813561125f816113a3565b5f806040838503121561144e575f80fd5b8235611459816113a3565b91506020830135611469816113a3565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156114c257815f19048211156114a8576114a8611474565b808516156114b557918102915b93841c939080029061148d565b509250929050565b5f826114d857506001610382565b816114e457505f610382565b81600181146114fa576002811461150457611520565b6001915050610382565b60ff84111561151557611515611474565b50506001821b610382565b5060208310610133831016604e8410600b8410161715611543575081810a610382565b61154d8383611488565b805f190482111561156057611560611474565b029392505050565b5f61125f60ff8416836114ca565b808202811582820484141761038257610382611474565b60208082526022908201527f4f776e6572736869703a2063616c6c6572206973206e6f7420746865206f776e60408201526132b960f11b606082015260800190565b5f602082840312156115df575f80fd5b815161125f816113a3565b5f805f606084860312156115fc575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611625575f80fd5b8151801515811461125f575f80fd5b8082018082111561038257610382611474565b5f6001820161165857611658611474565b5060010190565b8181038181111561038257610382611474565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156116d45784516001600160a01b0316835293830193918301916001016116af565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261170f57634e487b7160e01b5f52601260045260245ffd5b50049056fe5361666543616c633a206469766973696f6e206279207a65726f2064657465637465644945524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655361666543616c633a207375627472616374696f6e206f766572666c6f77206465746563746564a2646970667358221220be6a24904e0d4d07bc4231ca1d58c1a6caff0b9ccc1a2e598d377c37d2338b0764736f6c63430008140033
Deployed Bytecode
0x608060405260043610610108575f3560e01c80638f3fa86011610092578063c8c8ebe411610062578063c8c8ebe4146102db578063c9567bf9146102f0578063cce987d414610304578063d0aa7abe14610319578063dd62ed3e1461032e575f80fd5b80638f3fa8601461026557806395d89b411461027a578063a2b17412146102a8578063a9059cbb146102bc575f80fd5b8063313ce567116100d8578063313ce567146101c657806370a08231146101e1578063715018a614610215578063751039fc1461022b5780638da5cb5b1461023f575f80fd5b806306fdde0314610113578063095ea7b31461015657806318160ddd1461018557806323b872dd146101a7575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b506040805180820190915260098152684d617463686120414960b81b60208201525b60405161014d9190611358565b60405180910390f35b348015610161575f80fd5b506101756101703660046113ba565b610372565b604051901515815260200161014d565b348015610190575f80fd5b50610199610388565b60405190815260200161014d565b3480156101b2575f80fd5b506101756101c13660046113e4565b6103a8565b3480156101d1575f80fd5b506040516009815260200161014d565b3480156101ec575f80fd5b506101996101fb366004611422565b6001600160a01b03165f9081526003602052604090205490565b348015610220575f80fd5b5061022961040f565b005b348015610236575f80fd5b50610229610489565b34801561024a575f80fd5b505f546040516001600160a01b03909116815260200161014d565b348015610270575f80fd5b50610199600d5481565b348015610285575f80fd5b506040805180820190915260068152654d415443484160d01b6020820152610140565b3480156102b3575f80fd5b5061022961053a565b3480156102c7575f80fd5b506101756102d63660046113ba565b6105cf565b3480156102e6575f80fd5b50610199600c5481565b3480156102fb575f80fd5b506102296105db565b34801561030f575f80fd5b50610199600f5481565b348015610324575f80fd5b50610199600e5481565b348015610339575f80fd5b5061019961034836600461143d565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b5f61037e338484610986565b5060015b92915050565b5f6103956009600a611568565b6103a3906305f5e100611576565b905090565b5f6103b4848484610a9c565b610405843361040085604051806060016040528060298152602001611738602991396001600160a01b038a165f9081526004602090815260408083203384529091529020549190610ff9565b610986565b5060019392505050565b5f546001600160a01b031633146104415760405162461bcd60e51b81526004016104389061158d565b60405180910390fd5b5f80546040516001600160a01b03909116907f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d76908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104b25760405162461bcd60e51b81526004016104389061158d565b6104be6009600a611568565b6104cc906305f5e100611576565b600c556104db6009600a611568565b6104e9906305f5e100611576565b600d557f7c1cb3702d8e1fa6d24b12dd90670ab69c6d66d58233103d37da8b07d6b850ac6105196009600a611568565b610527906305f5e100611576565b60405190815260200160405180910390a1565b6010546001600160a01b0316336001600160a01b03161461059d5760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f72697a656400000000000000006044820152606401610438565b305f908152600360205260409020544781156105bc576105bc82611031565b80156105cb576105cb816111a1565b5050565b5f61037e338484610a9c565b5f546001600160a01b031633146106045760405162461bcd60e51b81526004016104389061158d565b601354600160b01b900460ff161561065e5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c65640000000000000000006044820152606401610438565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106a79030906106996009600a611568565b610400906305f5e100611576565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071b91906115cf565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079e91906115cf565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080c91906115cf565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d7194730610853816001600160a01b03165f9081526003602052604090205490565b5f806108665f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108cc573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108f191906115ea565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610946573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096a9190611615565b506013805461ffff60a81b191661010160a81b17905543601155565b6001600160a01b0383166109e65760405162461bcd60e51b815260206004820152602160248201527f4945524332303a20617070726f76652066726f6d207a65726f206164647265736044820152607360f81b6064820152608401610438565b6001600160a01b038216610a3c5760405162461bcd60e51b815260206004820152601f60248201527f4945524332303a20617070726f766520746f207a65726f2061646472657373006044820152606401610438565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610afd5760405162461bcd60e51b815260206004820152602260248201527f4945524332303a207472616e736665722066726f6d207a65726f206164647265604482015261737360f01b6064820152608401610438565b6001600160a01b038216610b535760405162461bcd60e51b815260206004820181905260248201527f4945524332303a207472616e7366657220746f207a65726f20616464726573736044820152606401610438565b5f8111610bb45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610438565b5f80546001600160a01b03858116911614801590610bdf57505f546001600160a01b03848116911614155b15610eb4576001600160a01b0384165f9081526002602052604090205460ff16158015610c2457506001600160a01b0383165f9081526002602052604090205460ff16155b610c2c575f80fd5b6013546001600160a01b0385811691161480610c5557506013546001600160a01b038481169116145b15610eb1576013546001600160a01b038581169116148015610c8557506012546001600160a01b03848116911614155b8015610ca957506001600160a01b0383165f9081526001602052604090205460ff16155b15610dbd57600c54821115610d005760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178207472616e73616374696f6e206c696d69742e00006044820152606401610438565b600d5482610d22856001600160a01b03165f9081526003602052604090205490565b610d2c9190611634565b1115610d7a5760405162461bcd60e51b815260206004820152601860248201527f45786365656473206d61782077616c6c65742073697a652e00000000000000006044820152606401610438565b610da66064610da0600954600b5411610d9557600554610d99565b6007545b85906111d8565b90611266565b600b80549192505f610db783611647565b91905055505b6013546001600160a01b038481169116148015610de357506001600160a01b0384163014155b15610e1057610e0d6064610da0600954600b5411610e0357600654610d99565b60085485906111d8565b90505b305f90815260036020526040902054601354600160a01b900460ff16158015610e4657506013546001600160a01b038581169116145b8015610e5b5750601354600160a81b900460ff165b8015610e685750600e5481115b8015610e775750600a54600b54115b15610eab57610e99610e9484610e8f84600f5461128a565b61128a565b611031565b478015610ea957610ea9476111a1565b505b50610eb4565b505f5b6001600160a01b0384165f90815260036020526040902054610ed6908361129e565b6001600160a01b0385165f90815260036020526040902055610f19610efb838361129e565b6001600160a01b0385165f90815260036020526040902054906112c2565b6001600160a01b0384165f908152600360205260409020558015610fa957305f90815260036020526040902054610f5090826112c2565b305f81815260036020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fa09085815260200190565b60405180910390a35b6001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610fe2858561129e565b60405190815260200160405180910390a350505050565b5f818484111561101c5760405162461bcd60e51b81526004016104389190611358565b505f611028848661165f565b95945050505050565b6013805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061107757611077611672565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906115cf565b8160018151811061110557611105611672565b6001600160a01b03928316602091820292909201015260125461112b9130911684610986565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906111639085905f90869030904290600401611686565b5f604051808303815f87803b15801561117a575f80fd5b505af115801561118c573d5f803e3d5ffd5b50506013805460ff60a01b1916905550505050565b6010546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156105cb573d5f803e3d5ffd5b5f825f036111e757505f610382565b5f6111f28385611576565b9050826111ff85836116f5565b1461125f5760405162461bcd60e51b815260206004820152602a60248201527f5361666543616c633a206d756c7469706c69636174696f6e206f766572666c6f6044820152691dc819195d1958dd195960b21b6064820152608401610438565b9392505050565b5f61125f83836040518060600160405280602381526020016117156023913961132c565b5f818311611298578261125f565b50919050565b5f61125f838360405180606001604052806027815260200161176160279139610ff9565b5f806112ce8385611634565b90508381101561125f5760405162461bcd60e51b8152602060048201526024808201527f5361666543616c633a206164646974696f6e206f766572666c6f77206465746560448201526318dd195960e21b6064820152608401610438565b5f818361134c5760405162461bcd60e51b81526004016104389190611358565b505f61102884866116f5565b5f6020808352835180828501525f5b8181101561138357858101830151858201604001528201611367565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113b7575f80fd5b50565b5f80604083850312156113cb575f80fd5b82356113d6816113a3565b946020939093013593505050565b5f805f606084860312156113f6575f80fd5b8335611401816113a3565b92506020840135611411816113a3565b929592945050506040919091013590565b5f60208284031215611432575f80fd5b813561125f816113a3565b5f806040838503121561144e575f80fd5b8235611459816113a3565b91506020830135611469816113a3565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156114c257815f19048211156114a8576114a8611474565b808516156114b557918102915b93841c939080029061148d565b509250929050565b5f826114d857506001610382565b816114e457505f610382565b81600181146114fa576002811461150457611520565b6001915050610382565b60ff84111561151557611515611474565b50506001821b610382565b5060208310610133831016604e8410600b8410161715611543575081810a610382565b61154d8383611488565b805f190482111561156057611560611474565b029392505050565b5f61125f60ff8416836114ca565b808202811582820484141761038257610382611474565b60208082526022908201527f4f776e6572736869703a2063616c6c6572206973206e6f7420746865206f776e60408201526132b960f11b606082015260800190565b5f602082840312156115df575f80fd5b815161125f816113a3565b5f805f606084860312156115fc575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611625575f80fd5b8151801515811461125f575f80fd5b8082018082111561038257610382611474565b5f6001820161165857611658611474565b5060010190565b8181038181111561038257610382611474565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156116d45784516001600160a01b0316835293830193918301916001016116af565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261170f57634e487b7160e01b5f52601260045260245ffd5b50049056fe5361666543616c633a206469766973696f6e206279207a65726f2064657465637465644945524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655361666543616c633a207375627472616374696f6e206f766572666c6f77206465746563746564a2646970667358221220be6a24904e0d4d07bc4231ca1d58c1a6caff0b9ccc1a2e598d377c37d2338b0764736f6c63430008140033
Deployed Bytecode Sourcemap
4022:9079:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5927:88;;;;;;;;;;-1:-1:-1;5997:10:0;;;;;;;;;;;;-1:-1:-1;;;5997:10:0;;;;5927:88;;;;;;;:::i;:::-;;;;;;;;6830:180;;;;;;;;;;-1:-1:-1;6830:180:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6830:180:0;1023:187:1;6213:100:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;6213:100:0;1215:177:1;7018:446:0;;;;;;;;;;-1:-1:-1;7018:446:0;;;;;:::i;:::-;;:::i;6123:82::-;;;;;;;;;;-1:-1:-1;6123:82:0;;4706:1;2000:36:1;;1988:2;1973:18;6123:82:0;1858:184:1;6321:126:0;;;;;;;;;;-1:-1:-1;6321:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;6414:25:0;6387:7;6414:25;;;:16;:25;;;;;;;6321:126;3075:140;;;;;;;;;;;;;:::i;:::-;;12069:193;;;;;;;;;;;;;:::i;2863:79::-;;;;;;;;;;-1:-1:-1;2901:7:0;2928:6;2863:79;;-1:-1:-1;;;;;2928:6:0;;;2445:51:1;;2433:2;2418:18;2863:79:0;2299:203:1;4979:55:0;;;;;;;;;;;;;;;;6023:92;;;;;;;;;;-1:-1:-1;6095:12:0;;;;;;;;;;;;-1:-1:-1;;;6095:12:0;;;;6023:92;;11657:404;;;;;;;;;;;;;:::i;6455:186::-;;;;;;;;;;-1:-1:-1;6455:186:0;;;;;:::i;:::-;;:::i;4910:62::-;;;;;;;;;;;;;;;;12270:791;;;;;;;;;;;;;:::i;5108:55::-;;;;;;;;;;;;;;;;5041:60;;;;;;;;;;;;;;;;6649:173;;;;;;;;;;-1:-1:-1;6649:173:0;;;;;:::i;:::-;-1:-1:-1;;;;;6782:23:0;;;6755:7;6782:23;;;:16;:23;;;;;;;;:32;;;;;;;;;;;;;6649:173;6830:180;6929:4;6946:34;464:10;6965:7;6974:5;6946:8;:34::i;:::-;-1:-1:-1;6998:4:0;6830:180;;;;;:::o;6213:100::-;6266:7;4766:14;4706:1;4766:2;:14;:::i;:::-;4754:26;;:9;:26;:::i;:::-;6286:19;;6213:100;:::o;7018:446::-;7149:4;7166:35;7176:6;7184:9;7195:5;7166:9;:35::i;:::-;7212:222;7235:6;464:10;7279:144;7341:5;7279:144;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7279:24:0;;;;;;:16;:24;;;;;;;;464:10;7279:34;;;;;;;;;;:43;:144::i;:::-;7212:8;:222::i;:::-;-1:-1:-1;7452:4:0;7018:446;;;;;:::o;3075:140::-;2990:6;;-1:-1:-1;;;;;2990:6:0;464:10;2990:18;2982:65;;;;-1:-1:-1;;;2982:65:0;;;;;;;:::i;:::-;;;;;;;;;3174:1:::1;3158:6:::0;;3145:32:::1;::::0;-1:-1:-1;;;;;3158:6:0;;::::1;::::0;3145:32:::1;::::0;3174:1;;3145:32:::1;3205:1;3188:19:::0;;-1:-1:-1;;;;;;3188:19:0::1;::::0;;3075:140::o;12069:193::-;2990:6;;-1:-1:-1;;;;;2990:6:0;464:10;2990:18;2982:65;;;;-1:-1:-1;;;2982:65:0;;;;;;;:::i;:::-;4766:14:::1;4706:1;4766:2;:14;:::i;:::-;4754:26;::::0;:9:::1;:26;:::i;:::-;12123:20;:35:::0;4766:14:::1;4706:1;4766:2;:14;:::i;:::-;4754:26;::::0;:9:::1;:26;:::i;:::-;12169:13;:28:::0;12213:41:::1;4766:14;4706:1;4766:2;:14;:::i;:::-;4754:26;::::0;:9:::1;:26;:::i;:::-;12213:41;::::0;1361:25:1;;;1349:2;1334:18;12213:41:0::1;;;;;;;12069:193::o:0;11657:404::-;11731:10;;-1:-1:-1;;;;;11731:10:0;464;-1:-1:-1;;;;;11719:22:0;;11711:59;;;;-1:-1:-1;;;11711:59:0;;5193:2:1;11711:59:0;;;5175:21:1;5232:2;5212:18;;;5205:30;5271:26;5251:18;;;5244:54;5315:18;;11711:59:0;4991:348:1;11711:59:0;11822:4;11781:20;6414:25;;;:16;:25;;;;;;11860:21;11898:16;;11894:79;;11931:30;11948:12;11931:16;:30::i;:::-;11987:14;;11983:71;;12018:24;12031:10;12018:12;:24::i;:::-;11700:361;;11657:404::o;6455:186::-;6557:4;6574:37;464:10;6594:9;6605:5;6574:9;:37::i;12270:791::-;2990:6;;-1:-1:-1;;;;;2990:6:0;464:10;2990:18;2982:65;;;;-1:-1:-1;;;2982:65:0;;;;;;;:::i;:::-;12332:14:::1;::::0;-1:-1:-1;;;12332:14:0;::::1;;;12331:15;12323:51;;;::::0;-1:-1:-1;;;12323:51:0;;5546:2:1;12323:51:0::1;::::0;::::1;5528:21:1::0;5585:2;5565:18;;;5558:30;5624:25;5604:18;;;5597:53;5667:18;;12323:51:0::1;5344:347:1::0;12323:51:0::1;12385:9;:66:::0;;-1:-1:-1;;;;;;12385:66:0::1;12408:42;12385:66:::0;;::::1;::::0;;;12462:57:::1;::::0;12479:4:::1;::::0;4766:14:::1;4706:1;4766:2;:14;:::i;:::-;4754:26;::::0;:9:::1;:26;:::i;12462:57::-;12552:9;;;;;;;;;-1:-1:-1::0;;;;;12552:9:0::1;-1:-1:-1::0;;;;;12552:17:0::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12540:43:0::1;;12606:4;12626:9;;;;;;;;;-1:-1:-1::0;;;;;12626:9:0::1;-1:-1:-1::0;;;;;12626:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12540:113;::::0;-1:-1:-1;;;;;;12540:113:0::1;::::0;;;;;;-1:-1:-1;;;;;6182:15:1;;;12540:113:0::1;::::0;::::1;6164:34:1::0;6234:15;;6214:18;;;6207:43;6099:18;;12540:113:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12530:7;:123:::0;;-1:-1:-1;;;;;12530:123:0;;::::1;-1:-1:-1::0;;;;;;12530:123:0;;::::1;;::::0;;12664:9:::1;::::0;::::1;:25;12697:21;12742:4;12762:24;12742:4:::0;-1:-1:-1;;;;;6414:25:0;6387:7;6414:25;;;:16;:25;;;;;;;6321:126;12762:24:::1;12801:1;12817::::0;12833:7:::1;2901::::0;2928:6;-1:-1:-1;;;;;2928:6:0;;2863:79;12833:7:::1;12664:217;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12664:217:0;;;-1:-1:-1;;;;;6620:15:1;;;12664:217:0::1;::::0;::::1;6602:34:1::0;6652:18;;;6645:34;;;;6695:18;;;6688:34;;;;6738:18;;;6731:34;6802:15;;;6781:19;;;6774:44;12855:15:0::1;6834:19:1::0;;;6827:35;6536:19;;12664:217:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12899:7:0::1;::::0;12924:9:::1;::::0;12892:59:::1;::::0;-1:-1:-1;;;12892:59:0;;-1:-1:-1;;;;;12924:9:0;;::::1;12892:59;::::0;::::1;7358:51:1::0;-1:-1:-1;;7425:18:1;;;7418:34;12899:7:0;::::1;::::0;-1:-1:-1;12892:23:0::1;::::0;7331:18:1;;12892:59:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12962:15:0::1;:22:::0;;-1:-1:-1;;;;12995:21:0;-1:-1:-1;;;12995:21:0;;;13041:12:::1;13027:11;:26:::0;12270:791::o;7472:331::-;-1:-1:-1;;;;;7564:19:0;;7556:65;;;;-1:-1:-1;;;7556:65:0;;7947:2:1;7556:65:0;;;7929:21:1;7986:2;7966:18;;;7959:30;8025:34;8005:18;;;7998:62;-1:-1:-1;;;8076:18:1;;;8069:31;8117:19;;7556:65:0;7745:397:1;7556:65:0;-1:-1:-1;;;;;7640:21:0;;7632:65;;;;-1:-1:-1;;;7632:65:0;;8349:2:1;7632:65:0;;;8331:21:1;8388:2;8368:18;;;8361:30;8427:33;8407:18;;;8400:61;8478:18;;7632:65:0;8147:355:1;7632:65:0;-1:-1:-1;;;;;7708:23:0;;;;;;;:16;:23;;;;;;;;:32;;;;;;;;;;;;;:40;;;7764:31;;1361:25:1;;;7764:31:0;;1334:18:1;7764:31:0;;;;;;;7472:331;;;:::o;7811:3028::-;-1:-1:-1;;;;;7898:18:0;;7890:65;;;;-1:-1:-1;;;7890:65:0;;8709:2:1;7890:65:0;;;8691:21:1;8748:2;8728:18;;;8721:30;8787:34;8767:18;;;8760:62;-1:-1:-1;;;8838:18:1;;;8831:32;8880:19;;7890:65:0;8507:398:1;7890:65:0;-1:-1:-1;;;;;7974:16:0;;7966:61;;;;-1:-1:-1;;;7966:61:0;;9112:2:1;7966:61:0;;;9094:21:1;;;9131:18;;;9124:30;9190:34;9170:18;;;9163:62;9242:18;;7966:61:0;8910:356:1;7966:61:0;8054:1;8046:5;:9;8038:63;;;;-1:-1:-1;;;8038:63:0;;9473:2:1;8038:63:0;;;9455:21:1;9512:2;9492:18;;;9485:30;9551:34;9531:18;;;9524:62;-1:-1:-1;;;9602:18:1;;;9595:39;9651:19;;8038:63:0;9271:405:1;8038:63:0;8114:17;2928:6;;-1:-1:-1;;;;;8152:15:0;;;2928:6;;8152:15;;;;:32;;-1:-1:-1;2901:7:0;2928:6;-1:-1:-1;;;;;8171:13:0;;;2928:6;;8171:13;;8152:32;8148:2220;;;-1:-1:-1;;;;;8210:22:0;;;;;;:16;:22;;;;;;;;8209:23;:48;;;;-1:-1:-1;;;;;;8237:20:0;;;;;;:16;:20;;;;;;;;8236:21;8209:48;8201:57;;;;;;8287:7;;-1:-1:-1;;;;;8279:15:0;;;8287:7;;8279:15;;:32;;-1:-1:-1;8304:7:0;;-1:-1:-1;;;;;8298:13:0;;;8304:7;;8298:13;8279:32;8275:2082;;;8366:7;;-1:-1:-1;;;;;8358:15:0;;;8366:7;;8358:15;:64;;;;-1:-1:-1;8412:9:0;;-1:-1:-1;;;;;8398:24:0;;;8412:9;;8398:24;;8358:64;:111;;;;-1:-1:-1;;;;;;8448:21:0;;;;;;:17;:21;;;;;;;;8447:22;8358:111;8332:857;;;8555:20;;8546:5;:29;;8512:145;;;;-1:-1:-1;;;8512:145:0;;9883:2:1;8512:145:0;;;9865:21:1;9922:2;9902:18;;;9895:30;9961:32;9941:18;;;9934:60;10011:18;;8512:145:0;9681:354:1;8512:145:0;8739:13;;8730:5;8714:13;8724:2;-1:-1:-1;;;;;6414:25:0;6387:7;6414:25;;;:16;:25;;;;;;;6321:126;8714:13;:21;;;;:::i;:::-;:38;;8680:148;;;;-1:-1:-1;;;8680:148:0;;10372:2:1;8680:148:0;;;10354:21:1;10411:2;10391:18;;;10384:30;10450:26;10430:18;;;10423:54;10494:18;;8680:148:0;10170:348:1;8680:148:0;8865:268;9129:3;8865:230;8951:18;;8937:11;;:32;8936:132;;9054:14;;8936:132;;;9006:12;;8936:132;8865:5;;:40;:230::i;:::-;:263;;:268::i;:::-;9156:11;:13;;8853:280;;-1:-1:-1;9156:11:0;:13;;;:::i;:::-;;;;;;8332:857;9219:7;;-1:-1:-1;;;;;9213:13:0;;;9219:7;;9213:13;:38;;;;-1:-1:-1;;;;;;9230:21:0;;9246:4;9230:21;;9213:38;9209:369;;;9288:270;9554:3;9288:232;9374:18;;9360:11;;:32;9359:134;;9478:15;;9359:134;;;9429:13;;9288:5;;:40;:232::i;:270::-;9276:282;;9209:369;9642:4;9598:23;6414:25;;;:16;:25;;;;;;9694:10;;-1:-1:-1;;;9694:10:0;;;;9693:11;:49;;;;-1:-1:-1;9735:7:0;;-1:-1:-1;;;;;9729:13:0;;;9735:7;;9729:13;9693:49;:89;;;;-1:-1:-1;9767:15:0;;-1:-1:-1;;;9767:15:0;;;;9693:89;:151;;;;;9825:19;;9807:15;:37;9693:151;:210;;;;;9883:20;;9869:11;;:34;9693:210;9667:621;;;9946:113;9989:47;9993:5;10000:35;10004:15;10021:13;;10000:3;:35::i;:::-;9989:3;:47::i;:::-;9946:16;:113::i;:::-;10111:21;10159:22;;10155:114;;10210:35;10223:21;10210:12;:35::i;:::-;9923:365;9667:621;8313:1990;8275:2082;;;-1:-1:-1;10340:1:0;8275:2082;-1:-1:-1;;;;;10405:22:0;;;;;;:16;:22;;;;;;:38;;10437:5;10405:31;:38::i;:::-;-1:-1:-1;;;;;10380:22:0;;;;;;:16;:22;;;;;:63;10477:75;10516:25;:5;10531:9;10516:14;:25::i;:::-;-1:-1:-1;;;;;10477:20:0;;;;;;:16;:20;;;;;;;:24;:75::i;:::-;-1:-1:-1;;;;;10454:20:0;;;;;;:16;:20;;;;;:98;10569:13;;10565:204;;10658:4;10633:31;;;;:16;:31;;;;;;:64;;10687:9;10633:53;:64::i;:::-;10624:4;10599:31;;;;:16;:31;;;;;;;:98;;;;10717:40;;-1:-1:-1;;;;;10717:40:0;;;;;;;10747:9;1361:25:1;;1349:2;1334:18;;1215:177;10717:40:0;;;;;;;;10565:204;-1:-1:-1;;;;;10786:45:0;;;;;;;10805:25;:5;10820:9;10805:14;:25::i;:::-;10786:45;;1361:25:1;;;1349:2;1334:18;10786:45:0;;;;;;;7879:2960;7811:3028;;;:::o;1667:229::-;1792:7;1828:12;1820:6;;;;1812:29;;;;-1:-1:-1;;;1812:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1852:9:0;1864:5;1868:1;1864;:5;:::i;:::-;1852:17;1667:229;-1:-1:-1;;;;;1667:229:0:o;11084:465::-;5527:10;:17;;-1:-1:-1;;;;5527:17:0;-1:-1:-1;;;5527:17:0;;;11186:16:::1;::::0;;11200:1:::1;11186:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11186:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11186:16:0::1;11162:40;;11231:4;11213;11218:1;11213:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11213:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11257:9:::1;::::0;:16:::1;::::0;;-1:-1:-1;;;11257:16:0;;;;:9;;;::::1;::::0;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;11213:7;;11257:16;;;;;:9;:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11247:4;11252:1;11247:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11247:26:0;;::::1;:7;::::0;;::::1;::::0;;;;;:26;11316:9:::1;::::0;11284:56:::1;::::0;11301:4:::1;::::0;11316:9:::1;11328:11:::0;11284:8:::1;:56::i;:::-;11351:9;::::0;:190:::1;::::0;-1:-1:-1;;;11351:190:0;;-1:-1:-1;;;;;11351:9:0;;::::1;::::0;:60:::1;::::0;:190:::1;::::0;11426:11;;11351:9:::1;::::0;11468:4;;11495::::1;::::0;11515:15:::1;::::0;11351:190:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5567:10:0;:18;;-1:-1:-1;;;;5567:18:0;;;-1:-1:-1;;;;11084:465:0:o;11557:92::-;11614:10;;:27;;-1:-1:-1;;;;;11614:10:0;;;;:27;;;;;11634:6;;11614:10;:27;:10;:27;11634:6;11614:10;:27;;;;;;;;;;;;;;;;;;;1904:260;1967:7;1991:1;1996;1991:6;1987:47;;-1:-1:-1;2021:1:0;2014:8;;1987:47;2044:9;2056:5;2060:1;2056;:5;:::i;:::-;2044:17;-1:-1:-1;2089:1:0;2080:5;2084:1;2044:17;2080:5;:::i;:::-;:10;2072:65;;;;-1:-1:-1;;;2072:65:0;;12469:2:1;2072:65:0;;;12451:21:1;12508:2;12488:18;;;12481:30;12547:34;12527:18;;;12520:62;-1:-1:-1;;;12598:18:1;;;12591:40;12648:19;;2072:65:0;12267:406:1;2072:65:0;2155:1;1904:260;-1:-1:-1;;;1904:260:0:o;2172:147::-;2233:7;2260:51;2267:1;2270;2260:51;;;;;;;;;;;;;;;;;:6;:51::i;10847:107::-;10904:7;10936:1;10932;:5;10931:15;;10945:1;10931:15;;;-1:-1:-1;10941:1:0;10847:107;-1:-1:-1;10847:107:0:o;1504:155::-;1567:7;1594:57;1603:1;1606;1594:57;;;;;;;;;;;;;;;;;:8;:57::i;1308:188::-;1366:7;;1398:5;1402:1;1398;:5;:::i;:::-;1386:17;;1427:1;1422;:6;;1414:55;;;;-1:-1:-1;;;1414:55:0;;12880:2:1;1414:55:0;;;12862:21:1;12919:2;12899:18;;;12892:30;12958:34;12938:18;;;12931:62;-1:-1:-1;;;13009:18:1;;;13002:34;13053:19;;1414:55:0;12678:400:1;2327:226:0;2450:7;2485:12;2478:5;2470:28;;;;-1:-1:-1;;;2470:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2509:9:0;2521:5;2525:1;2521;: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:398::-;4790:2;4772:21;;;4829:2;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;-1:-1:-1;;;4934:2:1;4919:18;;4912:32;4976:3;4961:19;;4588:398::o;5696:251::-;5766:6;5819:2;5807:9;5798:7;5794:23;5790:32;5787:52;;;5835:1;5832;5825:12;5787:52;5867:9;5861:16;5886:31;5911:5;5886:31;:::i;6873:306::-;6961:6;6969;6977;7030:2;7018:9;7009:7;7005:23;7001:32;6998:52;;;7046:1;7043;7036:12;6998:52;7075:9;7069:16;7059:26;;7125:2;7114:9;7110:18;7104:25;7094:35;;7169:2;7158:9;7154:18;7148:25;7138:35;;6873:306;;;;;:::o;7463:277::-;7530:6;7583:2;7571:9;7562:7;7558:23;7554:32;7551:52;;;7599:1;7596;7589:12;7551:52;7631:9;7625:16;7684:5;7677:13;7670:21;7663:5;7660:32;7650:60;;7706:1;7703;7696:12;10040:125;10105:9;;;10126:10;;;10123:36;;;10139:18;;:::i;10523:135::-;10562:3;10583:17;;;10580:43;;10603:18;;:::i;:::-;-1:-1:-1;10650:1:1;10639:13;;10523:135::o;10663:128::-;10730:9;;;10751:11;;;10748:37;;;10765:18;;:::i;10928:127::-;10989:10;10984:3;10980:20;10977:1;10970:31;11020:4;11017:1;11010:15;11044:4;11041:1;11034:15;11060:980;11322:4;11370:3;11359:9;11355:19;11401:6;11390:9;11383:25;11427:2;11465:6;11460:2;11449:9;11445:18;11438:34;11508:3;11503:2;11492:9;11488:18;11481:31;11532:6;11567;11561:13;11598:6;11590;11583:22;11636:3;11625:9;11621:19;11614:26;;11675:2;11667:6;11663:15;11649:29;;11696:1;11706:195;11720:6;11717:1;11714:13;11706:195;;;11785:13;;-1:-1:-1;;;;;11781:39:1;11769:52;;11876:15;;;;11841:12;;;;11817:1;11735:9;11706:195;;;-1:-1:-1;;;;;;;11957:32:1;;;;11952:2;11937:18;;11930:60;-1:-1:-1;;;12021:3:1;12006:19;11999:35;11918:3;11060:980;-1:-1:-1;;;11060:980:1:o;12045:217::-;12085:1;12111;12101:132;;12155:10;12150:3;12146:20;12143:1;12136:31;12190:4;12187:1;12180:15;12218:4;12215:1;12208:15;12101:132;-1:-1:-1;12247:9:1;;12045:217::o
Swarm Source
ipfs://be6a24904e0d4d07bc4231ca1d58c1a6caff0b9ccc1a2e598d377c37d2338b07
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)