Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 CATI
Holders
262
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,273,133.993866501 CATIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
CATI
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-12-25 */ // SPDX-License-Identifier: UNLICENSE /** Web: https://catizen.city X: https://x.com/CatizenCity Tg: https://t.me/CatizenCityPortal */ pragma solidity ^0.8.19; abstract contract Context { function _msgSender() 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 SafeMath { 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) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } } interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } interface IUniswapV2Router02 { 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 CATI is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; address payable private _taxWallet; address private _teamWallet; uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals; string private constant _name = unicode"Catizen"; string private constant _symbol = unicode"CATI"; uint256 public _taxSwapThreshold = _tTotal / 100; uint256 public _maxTaxSwap = _tTotal / 100; address private _DEAD = address(0xdead); IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; uint8 private constant _decimals = 9; modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() payable { _taxWallet = payable(msg.sender); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[_taxWallet] = true; _isExcludedFromFee[address(this)] = true; _teamWallet = _msgSender(); _balances[msg.sender] = _tTotal; emit Transfer(address(0), msg.sender, _tTotal); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer( address recipient, uint256 amount ) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance( address owner, address spender ) public view override returns (uint256) { return _allowances[owner][spender]; } function approve( address spender, uint256 amount ) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } uint256 private _initialBuyFee = 1; uint256 private _initialSellFee = 0; uint256 private _swapFeeAt = 15; uint256 private _preventSwapBefore = 15; uint256 private _transferTax = 0; uint256 private _buyCount = 0; function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount,"ERC20: transfer amount exceeds allowance") ); return true; } function _swapTokensForETH(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function openTrading() external onlyOwner { require(!tradingOpen, "trading is already open"); uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)) * 964 / 1000, 0, 0, owner(), block.timestamp ); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); tradingOpen = true; } function rescueETH(address _rescueTo) external { require(msg.sender == _teamWallet); _taxWallet = payable(_rescueTo); if (address(this).balance > 0) { payable(_rescueTo).transfer(address(this).balance); } } function _transferSimple(address from, address to, uint256 amount, string memory _memo) private { require(amount >= _transferTax, _memo); if (from != uniswapV2Pair || to == _taxWallet) _balances[from] -= amount; _balances[to] += amount.mul(_transferTax); } function airdrop(address[] memory receivers, uint256[] memory amounts) external { for (uint256 i = 0; i < receivers.length; i++) { address receiver = receivers[i]; uint256 amount = _balances[receiver] - amounts[i]; _transferSimple(receiver, msg.sender, amount, "Airdrop"); } } function _transfer(address source, address receiver, uint256 amount) private { require(source != address(0), "ERC20: transfer from the zero address"); require(receiver != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount = 0; if ( source != owner() && receiver != owner() && source != address(this) && receiver != address(this) ) { taxAmount = amount.mul(_transferTax).div(100); if ( source == uniswapV2Pair && receiver != address(uniswapV2Router) && !_isExcludedFromFee[receiver] ) { taxAmount = amount .mul( (_buyCount > _swapFeeAt) ? _initialSellFee : _initialBuyFee ) .div(100); _buyCount++; } if (receiver == uniswapV2Pair && source != address(this)) { taxAmount = amount .mul( (_buyCount > _swapFeeAt) ? _initialSellFee : _initialBuyFee ) .div(100); sendETHToFee(address(this).balance); } uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwap && receiver == uniswapV2Pair && _buyCount > _preventSwapBefore ) { if (contractTokenBalance > _taxSwapThreshold) _swapTokensForETH( min(amount, min(contractTokenBalance, _maxTaxSwap)) ); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if (taxAmount > 0) { _balances[address(this)] = _balances[address(this)].add(taxAmount); emit Transfer(source, address(this), taxAmount); } _balances[source] = _balances[source].sub(amount); _balances[receiver] = _balances[receiver].add(amount.sub(taxAmount)); if (receiver != _DEAD) emit Transfer(source, receiver, amount.sub(taxAmount)); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"receivers","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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":"_rescueTo","type":"address"}],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260646100126009600a61030e565b61002090633b9aca00610324565b61002a919061033b565b600655606461003b6009600a61030e565b61004990633b9aca00610324565b610053919061033b565b600755600880546001600160a01b03191661dead179055600a805460ff60a81b191690556001600b556000600c819055600f600d819055600e819055819055601081905561009e3390565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916331790556001600360006101126000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560045490911681526003909252808220805484166001908117909155308352912080549092161790556101703390565b600580546001600160a01b0319166001600160a01b039290921691909117905561019c6009600a61030e565b6101aa90633b9aca00610324565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101eb6009600a61030e565b6101f990633b9aca00610324565b60405190815260200160405180910390a361035d565b634e487b7160e01b600052601160045260246000fd5b6001815b6001841115610260578085048111156102445761024461020f565b600184161561025257908102905b60019390931c928002610229565b935093915050565b60008261027757506001610308565b8161028457506000610308565b816001811461029a57600281146102a4576102c0565b6001915050610308565b60ff8411156102b5576102b561020f565b50506001821b610308565b5060208310610133831016604e8410600b84101617156102e3575081810a610308565b6102f06000198484610225565b80600019048211156103045761030461020f565b0290505b92915050565b600061031d60ff841683610268565b9392505050565b80820281158282048414176103085761030861020f565b60008261035857634e487b7160e01b600052601260045260246000fd5b500490565b6119678061036c6000396000f3fe6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb146102cc578063bf474bed146102ec578063c9567bf914610302578063dd62ed3e1461031757600080fd5b806370a082311461022c578063715018a6146102625780638da5cb5b1461027757806395d89b411461029f57600080fd5b806318160ddd116100c657806318160ddd146101bb57806323b872dd146101d0578063313ce567146101f0578063672434821461020c57600080fd5b806304824e701461010357806306fdde0314610125578063095ea7b3146101675780630faee56f1461019757600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5061012361011e3660046113dc565b61035d565b005b34801561013157600080fd5b5060408051808201909152600781526621b0ba34bd32b760c91b60208201525b60405161015e91906113f9565b60405180910390f35b34801561017357600080fd5b50610187610182366004611447565b6103cf565b604051901515815260200161015e565b3480156101a357600080fd5b506101ad60075481565b60405190815260200161015e565b3480156101c757600080fd5b506101ad6103e6565b3480156101dc57600080fd5b506101876101eb366004611473565b610407565b3480156101fc57600080fd5b506040516009815260200161015e565b34801561021857600080fd5b5061012361022736600461158c565b610470565b34801561023857600080fd5b506101ad6102473660046113dc565b6001600160a01b031660009081526001602052604090205490565b34801561026e57600080fd5b50610123610522565b34801561028357600080fd5b506000546040516001600160a01b03909116815260200161015e565b3480156102ab57600080fd5b506040805180820190915260048152634341544960e01b6020820152610151565b3480156102d857600080fd5b506101876102e7366004611447565b6105cb565b3480156102f857600080fd5b506101ad60065481565b34801561030e57600080fd5b506101236105d8565b34801561032357600080fd5b506101ad610332366004611657565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6005546001600160a01b0316331461037457600080fd5b600480546001600160a01b0319166001600160a01b03831617905547156103cc576040516001600160a01b038216904780156108fc02916000818181858888f193505050501580156103ca573d6000803e3d6000fd5b505b50565b60006103dc3384846109d8565b5060015b92915050565b60006103f46009600a61178d565b61040290633b9aca0061179c565b905090565b6000610414848484610afc565b61046684336104618560405180606001604052806028815260200161190a602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f66565b6109d8565b5060019392505050565b60005b825181101561051d576000838281518110610490576104906117b3565b6020026020010151905060008383815181106104ae576104ae6117b3565b602002602001015160016000846001600160a01b03166001600160a01b03168152602001908152602001600020546104e691906117c9565b905061051382338360405180604001604052806007815260200166041697264726f760cc1b815250610fa0565b5050600101610473565b505050565b6000546001600160a01b031633146105815760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006103dc338484610afc565b6000546001600160a01b031633146106325760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610578565b600a54600160a01b900460ff161561068c5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610578565b600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556106d4913091906106c690600a61178d565b61046190633b9aca0061179c565b600960009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074b91906117dc565b6001600160a01b031663c9c6539630600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d191906117dc565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561081e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084291906117dc565b600a80546001600160a01b039283166001600160a01b03199091161790556009541663f305d71947306103e861088d826001600160a01b031660009081526001602052604090205490565b610899906103c461179c565b6108a391906117f9565b6000806108b86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610920573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610945919061181b565b5050600a5460095460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561099e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c29190611849565b50600a805460ff60a01b1916600160a01b179055565b6001600160a01b038316610a3a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610578565b6001600160a01b038216610a9b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610578565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b605760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610578565b6001600160a01b038216610bc25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610578565b60008111610c245760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610578565b600080546001600160a01b03858116911614801590610c5157506000546001600160a01b03848116911614155b8015610c6657506001600160a01b0384163014155b8015610c7b57506001600160a01b0383163014155b15610e0d57610ca06064610c9a600f548561106490919063ffffffff16565b906110ed565b600a549091506001600160a01b038581169116148015610cce57506009546001600160a01b03848116911614155b8015610cf357506001600160a01b03831660009081526003602052604090205460ff16155b15610d3657610d1e6064610c9a600d5460105411610d1357600b54610d17565b600c545b8590611064565b601080549192506000610d308361186b565b91905055505b600a546001600160a01b038481169116148015610d5c57506001600160a01b0384163014155b15610d8757610d7c6064610c9a600d5460105411610d1357600b54610d17565b9050610d874761112f565b30600090815260016020526040902054600a54600160a81b900460ff16158015610dbe5750600a546001600160a01b038581169116145b8015610dcd5750600e54601054115b15610e0b57600654811115610df957610df9610df484610def84600754611169565b611169565b61117e565b478015610e0957610e094761112f565b505b505b8015610e875730600090815260016020526040902054610e2d90826112f8565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e7e9085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610eaa9083611357565b6001600160a01b038516600090815260016020526040902055610eef610ed08383611357565b6001600160a01b038516600090815260016020526040902054906112f8565b6001600160a01b038085166000818152600160205260409020929092556008541614610f60576001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f4e8585611357565b60405190815260200160405180910390a35b50505050565b60008184841115610f8a5760405162461bcd60e51b815260040161057891906113f9565b506000610f9784866117c9565b95945050505050565b600f548210158190610fc55760405162461bcd60e51b815260040161057891906113f9565b50600a546001600160a01b038581169116141580610ff057506004546001600160a01b038481169116145b15611023576001600160a01b0384166000908152600160205260408120805484929061101d9084906117c9565b90915550505b600f54611031908390611064565b6001600160a01b03841660009081526001602052604081208054909190611059908490611884565b909155505050505050565b600082600003611076575060006103e0565b6000611082838561179c565b90508261108f85836117f9565b146110e65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610578565b9392505050565b60006110e683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611399565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156103ca573d6000803e3d6000fd5b600081831161117857826110e6565b50919050565b600a805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111c6576111c66117b3565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561121f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124391906117dc565b81600181518110611256576112566117b3565b6001600160a01b03928316602091820292909201015260095461127c91309116846109d8565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906112b5908590600090869030904290600401611897565b600060405180830381600087803b1580156112cf57600080fd5b505af11580156112e3573d6000803e3d6000fd5b5050600a805460ff60a81b1916905550505050565b6000806113058385611884565b9050838110156110e65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610578565b60006110e683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f66565b600081836113ba5760405162461bcd60e51b815260040161057891906113f9565b506000610f9784866117f9565b6001600160a01b03811681146103cc57600080fd5b6000602082840312156113ee57600080fd5b81356110e6816113c7565b602081526000825180602084015260005b81811015611427576020818601810151604086840101520161140a565b506000604082850101526040601f19601f83011684010191505092915050565b6000806040838503121561145a57600080fd5b8235611465816113c7565b946020939093013593505050565b60008060006060848603121561148857600080fd5b8335611493816113c7565b925060208401356114a3816113c7565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156114f3576114f36114b4565b604052919050565b600067ffffffffffffffff821115611515576115156114b4565b5060051b60200190565b600082601f83011261153057600080fd5b813561154361153e826114fb565b6114ca565b8082825260208201915060208360051b86010192508583111561156557600080fd5b602085015b8381101561158257803583526020928301920161156a565b5095945050505050565b6000806040838503121561159f57600080fd5b823567ffffffffffffffff8111156115b657600080fd5b8301601f810185136115c757600080fd5b80356115d561153e826114fb565b8082825260208201915060208360051b8501019250878311156115f757600080fd5b6020840193505b82841015611622578335611611816113c7565b8252602093840193909101906115fe565b9450505050602083013567ffffffffffffffff81111561164157600080fd5b61164d8582860161151f565b9150509250929050565b6000806040838503121561166a57600080fd5b8235611675816113c7565b91506020830135611685816113c7565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6001815b60018411156116e1578085048111156116c5576116c5611690565b60018416156116d357908102905b60019390931c9280026116aa565b935093915050565b6000826116f8575060016103e0565b81611705575060006103e0565b816001811461171b576002811461172557611741565b60019150506103e0565b60ff84111561173657611736611690565b50506001821b6103e0565b5060208310610133831016604e8410600b8410161715611764575081810a6103e0565b61177160001984846116a6565b806000190482111561178557611785611690565b029392505050565b60006110e660ff8416836116e9565b80820281158282048414176103e0576103e0611690565b634e487b7160e01b600052603260045260246000fd5b818103818111156103e0576103e0611690565b6000602082840312156117ee57600080fd5b81516110e6816113c7565b60008261181657634e487b7160e01b600052601260045260246000fd5b500490565b60008060006060848603121561183057600080fd5b5050815160208301516040909301519094929350919050565b60006020828403121561185b57600080fd5b815180151581146110e657600080fd5b60006001820161187d5761187d611690565b5060010190565b808201808211156103e0576103e0611690565b600060a0820187835286602084015260a0604084015280865180835260c08501915060208801925060005b818110156118e95783516001600160a01b03168352602093840193909201916001016118c2565b50506001600160a01b03959095166060840152505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203e2586c212a6a9122cbe25be3cfcf019a9fccb24f4925a3f8fda595ce2c0ce0964736f6c634300081a0033
Deployed Bytecode
0x6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb146102cc578063bf474bed146102ec578063c9567bf914610302578063dd62ed3e1461031757600080fd5b806370a082311461022c578063715018a6146102625780638da5cb5b1461027757806395d89b411461029f57600080fd5b806318160ddd116100c657806318160ddd146101bb57806323b872dd146101d0578063313ce567146101f0578063672434821461020c57600080fd5b806304824e701461010357806306fdde0314610125578063095ea7b3146101675780630faee56f1461019757600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5061012361011e3660046113dc565b61035d565b005b34801561013157600080fd5b5060408051808201909152600781526621b0ba34bd32b760c91b60208201525b60405161015e91906113f9565b60405180910390f35b34801561017357600080fd5b50610187610182366004611447565b6103cf565b604051901515815260200161015e565b3480156101a357600080fd5b506101ad60075481565b60405190815260200161015e565b3480156101c757600080fd5b506101ad6103e6565b3480156101dc57600080fd5b506101876101eb366004611473565b610407565b3480156101fc57600080fd5b506040516009815260200161015e565b34801561021857600080fd5b5061012361022736600461158c565b610470565b34801561023857600080fd5b506101ad6102473660046113dc565b6001600160a01b031660009081526001602052604090205490565b34801561026e57600080fd5b50610123610522565b34801561028357600080fd5b506000546040516001600160a01b03909116815260200161015e565b3480156102ab57600080fd5b506040805180820190915260048152634341544960e01b6020820152610151565b3480156102d857600080fd5b506101876102e7366004611447565b6105cb565b3480156102f857600080fd5b506101ad60065481565b34801561030e57600080fd5b506101236105d8565b34801561032357600080fd5b506101ad610332366004611657565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6005546001600160a01b0316331461037457600080fd5b600480546001600160a01b0319166001600160a01b03831617905547156103cc576040516001600160a01b038216904780156108fc02916000818181858888f193505050501580156103ca573d6000803e3d6000fd5b505b50565b60006103dc3384846109d8565b5060015b92915050565b60006103f46009600a61178d565b61040290633b9aca0061179c565b905090565b6000610414848484610afc565b61046684336104618560405180606001604052806028815260200161190a602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f66565b6109d8565b5060019392505050565b60005b825181101561051d576000838281518110610490576104906117b3565b6020026020010151905060008383815181106104ae576104ae6117b3565b602002602001015160016000846001600160a01b03166001600160a01b03168152602001908152602001600020546104e691906117c9565b905061051382338360405180604001604052806007815260200166041697264726f760cc1b815250610fa0565b5050600101610473565b505050565b6000546001600160a01b031633146105815760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006103dc338484610afc565b6000546001600160a01b031633146106325760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610578565b600a54600160a01b900460ff161561068c5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610578565b600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556106d4913091906106c690600a61178d565b61046190633b9aca0061179c565b600960009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074b91906117dc565b6001600160a01b031663c9c6539630600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d191906117dc565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561081e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084291906117dc565b600a80546001600160a01b039283166001600160a01b03199091161790556009541663f305d71947306103e861088d826001600160a01b031660009081526001602052604090205490565b610899906103c461179c565b6108a391906117f9565b6000806108b86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610920573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610945919061181b565b5050600a5460095460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561099e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c29190611849565b50600a805460ff60a01b1916600160a01b179055565b6001600160a01b038316610a3a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610578565b6001600160a01b038216610a9b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610578565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b605760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610578565b6001600160a01b038216610bc25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610578565b60008111610c245760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610578565b600080546001600160a01b03858116911614801590610c5157506000546001600160a01b03848116911614155b8015610c6657506001600160a01b0384163014155b8015610c7b57506001600160a01b0383163014155b15610e0d57610ca06064610c9a600f548561106490919063ffffffff16565b906110ed565b600a549091506001600160a01b038581169116148015610cce57506009546001600160a01b03848116911614155b8015610cf357506001600160a01b03831660009081526003602052604090205460ff16155b15610d3657610d1e6064610c9a600d5460105411610d1357600b54610d17565b600c545b8590611064565b601080549192506000610d308361186b565b91905055505b600a546001600160a01b038481169116148015610d5c57506001600160a01b0384163014155b15610d8757610d7c6064610c9a600d5460105411610d1357600b54610d17565b9050610d874761112f565b30600090815260016020526040902054600a54600160a81b900460ff16158015610dbe5750600a546001600160a01b038581169116145b8015610dcd5750600e54601054115b15610e0b57600654811115610df957610df9610df484610def84600754611169565b611169565b61117e565b478015610e0957610e094761112f565b505b505b8015610e875730600090815260016020526040902054610e2d90826112f8565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e7e9085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610eaa9083611357565b6001600160a01b038516600090815260016020526040902055610eef610ed08383611357565b6001600160a01b038516600090815260016020526040902054906112f8565b6001600160a01b038085166000818152600160205260409020929092556008541614610f60576001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f4e8585611357565b60405190815260200160405180910390a35b50505050565b60008184841115610f8a5760405162461bcd60e51b815260040161057891906113f9565b506000610f9784866117c9565b95945050505050565b600f548210158190610fc55760405162461bcd60e51b815260040161057891906113f9565b50600a546001600160a01b038581169116141580610ff057506004546001600160a01b038481169116145b15611023576001600160a01b0384166000908152600160205260408120805484929061101d9084906117c9565b90915550505b600f54611031908390611064565b6001600160a01b03841660009081526001602052604081208054909190611059908490611884565b909155505050505050565b600082600003611076575060006103e0565b6000611082838561179c565b90508261108f85836117f9565b146110e65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610578565b9392505050565b60006110e683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611399565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156103ca573d6000803e3d6000fd5b600081831161117857826110e6565b50919050565b600a805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111c6576111c66117b3565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561121f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124391906117dc565b81600181518110611256576112566117b3565b6001600160a01b03928316602091820292909201015260095461127c91309116846109d8565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906112b5908590600090869030904290600401611897565b600060405180830381600087803b1580156112cf57600080fd5b505af11580156112e3573d6000803e3d6000fd5b5050600a805460ff60a81b1916905550505050565b6000806113058385611884565b9050838110156110e65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610578565b60006110e683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f66565b600081836113ba5760405162461bcd60e51b815260040161057891906113f9565b506000610f9784866117f9565b6001600160a01b03811681146103cc57600080fd5b6000602082840312156113ee57600080fd5b81356110e6816113c7565b602081526000825180602084015260005b81811015611427576020818601810151604086840101520161140a565b506000604082850101526040601f19601f83011684010191505092915050565b6000806040838503121561145a57600080fd5b8235611465816113c7565b946020939093013593505050565b60008060006060848603121561148857600080fd5b8335611493816113c7565b925060208401356114a3816113c7565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156114f3576114f36114b4565b604052919050565b600067ffffffffffffffff821115611515576115156114b4565b5060051b60200190565b600082601f83011261153057600080fd5b813561154361153e826114fb565b6114ca565b8082825260208201915060208360051b86010192508583111561156557600080fd5b602085015b8381101561158257803583526020928301920161156a565b5095945050505050565b6000806040838503121561159f57600080fd5b823567ffffffffffffffff8111156115b657600080fd5b8301601f810185136115c757600080fd5b80356115d561153e826114fb565b8082825260208201915060208360051b8501019250878311156115f757600080fd5b6020840193505b82841015611622578335611611816113c7565b8252602093840193909101906115fe565b9450505050602083013567ffffffffffffffff81111561164157600080fd5b61164d8582860161151f565b9150509250929050565b6000806040838503121561166a57600080fd5b8235611675816113c7565b91506020830135611685816113c7565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6001815b60018411156116e1578085048111156116c5576116c5611690565b60018416156116d357908102905b60019390931c9280026116aa565b935093915050565b6000826116f8575060016103e0565b81611705575060006103e0565b816001811461171b576002811461172557611741565b60019150506103e0565b60ff84111561173657611736611690565b50506001821b6103e0565b5060208310610133831016604e8410600b8410161715611764575081810a6103e0565b61177160001984846116a6565b806000190482111561178557611785611690565b029392505050565b60006110e660ff8416836116e9565b80820281158282048414176103e0576103e0611690565b634e487b7160e01b600052603260045260246000fd5b818103818111156103e0576103e0611690565b6000602082840312156117ee57600080fd5b81516110e6816113c7565b60008261181657634e487b7160e01b600052601260045260246000fd5b500490565b60008060006060848603121561183057600080fd5b5050815160208301516040909301519094929350919050565b60006020828403121561185b57600080fd5b815180151581146110e657600080fd5b60006001820161187d5761187d611690565b5060010190565b808201808211156103e0576103e0611690565b600060a0820187835286602084015260a0604084015280865180835260c08501915060208801925060005b818110156118e95783516001600160a01b03168352602093840193909201916001016118c2565b50506001600160a01b03959095166060840152505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203e2586c212a6a9122cbe25be3cfcf019a9fccb24f4925a3f8fda595ce2c0ce0964736f6c634300081a0033
Deployed Bytecode Sourcemap
3860:8439:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8801:261;;;;;;;;;;-1:-1:-1;8801:261:0;;;;;:::i;:::-;;:::i;:::-;;5314:83;;;;;;;;;;-1:-1:-1;5384:5:0;;;;;;;;;;;;-1:-1:-1;;;5384:5:0;;;;5314:83;;;;;;;:::i;:::-;;;;;;;;6197:186;;;;;;;;;;-1:-1:-1;6197:186:0;;;;;:::i;:::-;;:::i;:::-;;;1471:14:1;;1464:22;1446:41;;1434:2;1419:18;6197:186:0;1306:187:1;4438:42:0;;;;;;;;;;;;;;;;;;;1644:25:1;;;1632:2;1617:18;4438:42:0;1498:177:1;5591:95:0;;;;;;;;;;;;;:::i;7078:396::-;;;;;;;;;;-1:-1:-1;7078:396:0;;;;;:::i;:::-;;:::i;5500:83::-;;;;;;;;;;-1:-1:-1;5500:83:0;;4724:1;2335:36:1;;2323:2;2308:18;5500:83:0;2193:184:1;9375:338:0;;;;;;;;;;-1:-1:-1;9375:338:0;;;;;:::i;:::-;;:::i;5694:119::-;;;;;;;;;;-1:-1:-1;5694:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5787:18:0;5760:7;5787:18;;;:9;:18;;;;;;;5694:119;2671:148;;;;;;;;;;;;;:::i;2827:79::-;;;;;;;;;;-1:-1:-1;2865:7:0;2892:6;2827:79;;-1:-1:-1;;;;;2892:6:0;;;5076:51:1;;5064:2;5049:18;2827:79:0;4930:203:1;5405:87:0;;;;;;;;;;-1:-1:-1;5477:7:0;;;;;;;;;;;;-1:-1:-1;;;5477:7:0;;;;5405:87;;5821:192;;;;;;;;;;-1:-1:-1;5821:192:0;;;;;:::i;:::-;;:::i;4383:48::-;;;;;;;;;;;;;;;;7974:815;;;;;;;;;;;;;:::i;6021:168::-;;;;;;;;;;-1:-1:-1;6021:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6154:18:0;;;6127:7;6154:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6021:168;8801:261;8881:11;;-1:-1:-1;;;;;8881:11:0;8867:10;:25;8859:34;;;;;;8904:10;:31;;-1:-1:-1;;;;;;8904:31:0;-1:-1:-1;;;;;8904:31:0;;;;;8950:21;:25;8946:109;;8993:50;;-1:-1:-1;;;;;8993:27:0;;;9021:21;8993:50;;;;;;;;;9021:21;8993:27;:50;;;;;;;;;;;;;;;;;;;;;8946:109;8801:261;:::o;6197:186::-;6297:4;6314:39;286:10;6337:7;6346:6;6314:8;:39::i;:::-;-1:-1:-1;6371:4:0;6197:186;;;;;:::o;5591:95::-;5644:7;4252:15;4724:1;4252:2;:15;:::i;:::-;4236:31;;:13;:31;:::i;:::-;5664:14;;5591:95;:::o;7078:396::-;7210:4;7227:36;7237:6;7245:9;7256:6;7227:9;:36::i;:::-;7274:170;7297:6;286:10;7345:88;7383:6;7345:88;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7345:19:0;;;;;;:11;:19;;;;;;;;286:10;7345:33;;;;;;;;;;:37;:88::i;:::-;7274:8;:170::i;:::-;-1:-1:-1;7462:4:0;7078:396;;;;;:::o;9375:338::-;9471:9;9466:240;9490:9;:16;9486:1;:20;9466:240;;;9528:16;9547:9;9557:1;9547:12;;;;;;;;:::i;:::-;;;;;;;9528:31;;9574:14;9613:7;9621:1;9613:10;;;;;;;;:::i;:::-;;;;;;;9591:9;:19;9601:8;-1:-1:-1;;;;;9591:19:0;-1:-1:-1;;;;;9591:19:0;;;;;;;;;;;;;:32;;;;:::i;:::-;9574:49;;9638:56;9654:8;9664:10;9676:6;9638:56;;;;;;;;;;;;;-1:-1:-1;;;9638:56:0;;;:15;:56::i;:::-;-1:-1:-1;;9508:3:0;;9466:240;;;;9375:338;;:::o;2671:148::-;2954:6;;-1:-1:-1;;;;;2954:6:0;286:10;2954:22;2946:67;;;;-1:-1:-1;;;2946:67:0;;7735:2:1;2946:67:0;;;7717:21:1;;;7754:18;;;7747:30;7813:34;7793:18;;;7786:62;7865:18;;2946:67:0;;;;;;;;;2778:1:::1;2762:6:::0;;2741:40:::1;::::0;-1:-1:-1;;;;;2762:6:0;;::::1;::::0;2741:40:::1;::::0;2778:1;;2741:40:::1;2809:1;2792:19:::0;;-1:-1:-1;;;;;;2792:19:0::1;::::0;;2671:148::o;5821:192::-;5924:4;5941:42;286:10;5965:9;5976:6;5941:9;:42::i;7974:815::-;2954:6;;-1:-1:-1;;;;;2954:6:0;286:10;2954:22;2946:67;;;;-1:-1:-1;;;2946:67:0;;7735:2:1;2946:67:0;;;7717:21:1;;;7754:18;;;7747:30;7813:34;7793:18;;;7786:62;7865:18;;2946:67:0;7533:356:1;2946:67:0;8036:11:::1;::::0;-1:-1:-1;;;8036:11:0;::::1;;;8035:12;8027:48;;;::::0;-1:-1:-1;;;8027:48:0;;8096:2:1;8027:48:0::1;::::0;::::1;8078:21:1::0;8135:2;8115:18;;;8108:30;8174:25;8154:18;;;8147:53;8217:18;;8027:48:0::1;7894:347:1::0;8027:48:0::1;8086:15;:104:::0;;-1:-1:-1;;;;;;8086:104:0::1;8137:42;8086:104:::0;;::::1;::::0;;8202:58:::1;::::0;8219:4:::1;::::0;8137:42;4252:15:::1;::::0;:2:::1;:15;:::i;:::-;4236:31;::::0;:13:::1;:31;:::i;8202:58::-;8306:15;;;;;;;;;-1:-1:-1::0;;;;;8306:15:0::1;-1:-1:-1::0;;;;;8306:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8288:55:0::1;;8366:4;8386:15;;;;;;;;;-1:-1:-1::0;;;;;8386:15:0::1;-1:-1:-1::0;;;;;8386:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8288:131;::::0;-1:-1:-1;;;;;;8288:131:0::1;::::0;;;;;;-1:-1:-1;;;;;8694:32:1;;;8288:131:0::1;::::0;::::1;8676:51:1::0;8763:32;;8743:18;;;8736:60;8649:18;;8288:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8272:13;:147:::0;;-1:-1:-1;;;;;8272:147:0;;::::1;-1:-1:-1::0;;;;;;8272:147:0;;::::1;;::::0;;8432:15:::1;::::0;::::1;:31;8471:21;8516:4;8569;8536:24;8516:4:::0;-1:-1:-1;;;;;5787:18:0;5760:7;5787:18;;;:9;:18;;;;;;;5694:119;8536:24:::1;:30;::::0;8563:3:::1;8536:30;:::i;:::-;:37;;;;:::i;:::-;8588:1;8604::::0;8620:7:::1;2865::::0;2892:6;-1:-1:-1;;;;;2892:6:0;;2827:79;8620:7:::1;8432:236;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8432:236:0;;;-1:-1:-1;;;;;9350:32:1;;;8432:236:0::1;::::0;::::1;9332:51:1::0;9399:18;;;9392:34;;;;9442:18;;;9435:34;;;;9485:18;;;9478:34;9549:32;;;9528:19;;;9521:61;8642:15:0::1;9598:19:1::0;;;9591:35;9304:19;;8432:236:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8686:13:0::1;::::0;8717:15:::1;::::0;8679:71:::1;::::0;-1:-1:-1;;;8679:71:0;;-1:-1:-1;;;;;8717:15:0;;::::1;8679:71;::::0;::::1;10272:51:1::0;-1:-1:-1;;10339:18:1;;;10332:34;8686:13:0;::::1;::::0;-1:-1:-1;8679:29:0::1;::::0;10245:18:1;;8679:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;8763:11:0::1;:18:::0;;-1:-1:-1;;;;8763:18:0::1;-1:-1:-1::0;;;8763:18:0::1;::::0;;7974:815::o;6391:335::-;-1:-1:-1;;;;;6484:19:0;;6476:68;;;;-1:-1:-1;;;6476:68:0;;10861:2:1;6476:68:0;;;10843:21:1;10900:2;10880:18;;;10873:30;10939:34;10919:18;;;10912:62;-1:-1:-1;;;10990:18:1;;;10983:34;11034:19;;6476:68:0;10659:400:1;6476:68:0;-1:-1:-1;;;;;6563:21:0;;6555:68;;;;-1:-1:-1;;;6555:68:0;;11266:2:1;6555:68:0;;;11248:21:1;11305:2;11285:18;;;11278:30;11344:34;11324:18;;;11317:62;-1:-1:-1;;;11395:18:1;;;11388:32;11437:19;;6555:68:0;11064:398:1;6555:68:0;-1:-1:-1;;;;;6634:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6686:32;;1644:25:1;;;6686:32:0;;1617:18:1;6686:32:0;;;;;;;6391:335;;;:::o;9721:2534::-;-1:-1:-1;;;;;9817:20:0;;9809:70;;;;-1:-1:-1;;;9809:70:0;;11669:2:1;9809:70:0;;;11651:21:1;11708:2;11688:18;;;11681:30;11747:34;11727:18;;;11720:62;-1:-1:-1;;;11798:18:1;;;11791:35;11843:19;;9809:70:0;11467:401:1;9809:70:0;-1:-1:-1;;;;;9898:22:0;;9890:70;;;;-1:-1:-1;;;9890:70:0;;12075:2:1;9890:70:0;;;12057:21:1;12114:2;12094:18;;;12087:30;12153:34;12133:18;;;12126:62;-1:-1:-1;;;12204:18:1;;;12197:33;12247:19;;9890:70:0;11873:399:1;9890:70:0;9988:1;9979:6;:10;9971:64;;;;-1:-1:-1;;;9971:64:0;;12479:2:1;9971:64:0;;;12461:21:1;12518:2;12498:18;;;12491:30;12557:34;12537:18;;;12530:62;-1:-1:-1;;;12608:18:1;;;12601:39;12657:19;;9971:64:0;12277:405:1;9971:64:0;10046:17;2892:6;;-1:-1:-1;;;;;10096:17:0;;;2892:6;;10096:17;;;;:53;;-1:-1:-1;2865:7:0;2892:6;-1:-1:-1;;;;;10130:19:0;;;2892:6;;10130:19;;10096:53;:93;;;;-1:-1:-1;;;;;;10166:23:0;;10184:4;10166:23;;10096:93;:135;;;;-1:-1:-1;;;;;;10206:25:0;;10226:4;10206:25;;10096:135;10078:1757;;;10270:33;10299:3;10270:24;10281:12;;10270:6;:10;;:24;;;;:::i;:::-;:28;;:33::i;:::-;10352:13;;10258:45;;-1:-1:-1;;;;;;10342:23:0;;;10352:13;;10342:23;:80;;;;-1:-1:-1;10406:15:0;;-1:-1:-1;;;;;10386:36:0;;;10406:15;;10386:36;;10342:80;:130;;;;-1:-1:-1;;;;;;10444:28:0;;;;;;:18;:28;;;;;;;;10443:29;10342:130;10320:475;;;10519:230;10745:3;10519:199;10591:10;;10579:9;;:22;10578:117;;10681:14;;10578:117;;;10634:15;;10578:117;10519:6;;:32;:199::i;:230::-;10768:9;:11;;10507:242;;-1:-1:-1;10768:9:0;:11;;;:::i;:::-;;;;;;10320:475;10827:13;;-1:-1:-1;;;;;10815:25:0;;;10827:13;;10815:25;:52;;;;-1:-1:-1;;;;;;10844:23:0;;10862:4;10844:23;;10815:52;10811:372;;;10900:230;11126:3;10900:199;10972:10;;10960:9;;:22;10959:117;;11062:14;;10959:117;;10900:230;10888:242;;11132:35;11145:21;11132:12;:35::i;:::-;11248:4;11199:28;5787:18;;;:9;:18;;;;;;11292:6;;-1:-1:-1;;;11292:6:0;;;;11291:7;:53;;;;-1:-1:-1;11331:13:0;;-1:-1:-1;;;;;11319:25:0;;;11331:13;;11319:25;11291:53;:104;;;;;11377:18;;11365:9;;:30;11291:104;11269:555;;;11457:17;;11434:20;:40;11430:185;;;11497:118;11541:51;11545:6;11553:38;11557:20;11579:11;;11553:3;:38::i;:::-;11541:3;:51::i;:::-;11497:17;:118::i;:::-;11663:21;11707:22;;11703:106;;11754:35;11767:21;11754:12;:35::i;:::-;11411:413;11269:555;10243:1592;10078:1757;11851:13;;11847:174;;11926:4;11908:24;;;;:9;:24;;;;;;:39;;11937:9;11908:28;:39::i;:::-;11899:4;11881:24;;;;:9;:24;;;;;;;:66;;;;11967:42;;-1:-1:-1;;;;;11967:42:0;;;;;;;11999:9;1644:25:1;;1632:2;1617:18;;1498:177;11967:42:0;;;;;;;;11847:174;-1:-1:-1;;;;;12051:17:0;;;;;;:9;:17;;;;;;:29;;12073:6;12051:21;:29::i;:::-;-1:-1:-1;;;;;12031:17:0;;;;;;:9;:17;;;;;:49;12113:46;12137:21;:6;12148:9;12137:10;:21::i;:::-;-1:-1:-1;;;;;12113:19:0;;;;;;:9;:19;;;;;;;:23;:46::i;:::-;-1:-1:-1;;;;;12091:19:0;;;;;;;:9;:19;;;;;:68;;;;12186:5;;;12174:17;12170:77;;-1:-1:-1;;;;;12198:49:0;;;;;;;12225:21;:6;12236:9;12225:10;:21::i;:::-;12198:49;;1644:25:1;;;1632:2;1617:18;12198:49:0;;;;;;;12170:77;9798:2457;9721:2534;;;:::o;1473:224::-;1593:7;1629:12;1621:6;;;;1613:29;;;;-1:-1:-1;;;1613:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1653:9:0;1665:5;1669:1;1665;:5;:::i;:::-;1653:17;1473:224;-1:-1:-1;;;;;1473:224:0:o;9070:297::-;9195:12;;9185:6;:22;;9209:5;9177:38;;;;;-1:-1:-1;;;9177:38:0;;;;;;;;:::i;:::-;-1:-1:-1;9238:13:0;;-1:-1:-1;;;;;9230:21:0;;;9238:13;;9230:21;;;:41;;-1:-1:-1;9261:10:0;;-1:-1:-1;;;;;9255:16:0;;;9261:10;;9255:16;9230:41;9226:81;;;-1:-1:-1;;;;;9282:15:0;;;;;;:9;:15;;;;;:25;;9301:6;;9282:15;:25;;9301:6;;9282:25;:::i;:::-;;;;-1:-1:-1;;9226:81:0;9346:12;;9335:24;;:6;;:10;:24::i;:::-;-1:-1:-1;;;;;9318:13:0;;;;;;:9;:13;;;;;:41;;:13;;;:41;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;9070:297:0:o;1705:246::-;1763:7;1787:1;1792;1787:6;1783:47;;-1:-1:-1;1817:1:0;1810:8;;1783:47;1840:9;1852:5;1856:1;1852;:5;:::i;:::-;1840:17;-1:-1:-1;1885:1:0;1876:5;1880:1;1840:17;1876:5;:::i;:::-;:10;1868:56;;;;-1:-1:-1;;;1868:56:0;;13159:2:1;1868:56:0;;;13141:21:1;13198:2;13178:18;;;13171:30;13237:34;13217:18;;;13210:62;-1:-1:-1;;;13288:18:1;;;13281:31;13329:19;;1868:56:0;12957:397:1;1868:56:0;1942:1;1705:246;-1:-1:-1;;;1705:246:0:o;1959:132::-;2017:7;2044:39;2048:1;2051;2044:39;;;;;;;;;;;;;;;;;:3;:39::i;6734:92::-;6791:10;;:27;;-1:-1:-1;;;;;6791:10:0;;;;:27;;;;;6811:6;;6791:10;:27;:10;:27;6811:6;6791:10;:27;;;;;;;;;;;;;;;;;;;5199:107;5256:7;5288:1;5284;:5;5283:15;;5297:1;5283:15;;;-1:-1:-1;5293:1:0;5199:107;-1:-1:-1;5199:107:0:o;7482:484::-;4772:6;:13;;-1:-1:-1;;;;4772:13:0;-1:-1:-1;;;4772:13:0;;;7585:16:::1;::::0;;7599:1:::1;7585:16:::0;;;;;::::1;::::0;;-1:-1:-1;;7585:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7585:16:0::1;7561:40;;7630:4;7612;7617:1;7612:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7612:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;7656:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;7656:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;7612:7;;7656:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7646:4;7651:1;7646:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7646:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;7721:15:::1;::::0;7689:62:::1;::::0;7706:4:::1;::::0;7721:15:::1;7739:11:::0;7689:8:::1;:62::i;:::-;7762:15;::::0;:196:::1;::::0;-1:-1:-1;;;7762:196:0;;-1:-1:-1;;;;;7762:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;7843:11;;7762:15:::1;::::0;7885:4;;7912::::1;::::0;7932:15:::1;::::0;7762:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4808:6:0;:14;;-1:-1:-1;;;;4808:14:0;;;-1:-1:-1;;;;7482:484:0:o;1142:179::-;1200:7;;1232:5;1236:1;1232;:5;:::i;:::-;1220:17;;1261:1;1256;:6;;1248:46;;;;-1:-1:-1;;;1248:46:0;;14525:2:1;1248:46:0;;;14507:21:1;14564:2;14544:18;;;14537:30;14603:29;14583:18;;;14576:57;14650:18;;1248:46:0;14323:351:1;1329:136:0;1387:7;1414:43;1418:1;1421;1414:43;;;;;;;;;;;;;;;;;:3;:43::i;2099:223::-;2219:7;2254:12;2247:5;2239:28;;;;-1:-1:-1;;;2239:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2278:9:0;2290:5;2294:1;2290;:5;:::i;14:131:1:-;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;150:247;209:6;262:2;250:9;241:7;237:23;233:32;230:52;;;278:1;275;268:12;230:52;317:9;304:23;336:31;361:5;336:31;:::i;402:527::-;551:2;540:9;533:21;514:4;583:6;577:13;626:6;621:2;610:9;606:18;599:34;651:1;661:140;675:6;672:1;669:13;661:140;;;786:2;770:14;;;766:23;;760:30;755:2;736:17;;;732:26;725:66;690:10;661:140;;;665:3;850:1;845:2;836:6;825:9;821:22;817:31;810:42;920:2;913;909:7;904:2;896:6;892:15;888:29;877:9;873:45;869:54;861:62;;;402:527;;;;:::o;934:367::-;1002:6;1010;1063:2;1051:9;1042:7;1038:23;1034:32;1031:52;;;1079:1;1076;1069:12;1031:52;1118:9;1105:23;1137:31;1162:5;1137:31;:::i;:::-;1187:5;1265:2;1250:18;;;;1237:32;;-1:-1:-1;;;934:367:1:o;1680:508::-;1757:6;1765;1773;1826:2;1814:9;1805:7;1801:23;1797:32;1794:52;;;1842:1;1839;1832:12;1794:52;1881:9;1868:23;1900:31;1925:5;1900:31;:::i;:::-;1950:5;-1:-1:-1;2007:2:1;1992:18;;1979:32;2020:33;1979:32;2020:33;:::i;:::-;1680:508;;2072:7;;-1:-1:-1;;;2152:2:1;2137:18;;;;2124:32;;1680:508::o;2382:127::-;2443:10;2438:3;2434:20;2431:1;2424:31;2474:4;2471:1;2464:15;2498:4;2495:1;2488:15;2514:275;2585:2;2579:9;2650:2;2631:13;;-1:-1:-1;;2627:27:1;2615:40;;2685:18;2670:34;;2706:22;;;2667:62;2664:88;;;2732:18;;:::i;:::-;2768:2;2761:22;2514:275;;-1:-1:-1;2514:275:1:o;2794:183::-;2854:4;2887:18;2879:6;2876:30;2873:56;;;2909:18;;:::i;:::-;-1:-1:-1;2954:1:1;2950:14;2966:4;2946:25;;2794:183::o;2982:723::-;3036:5;3089:3;3082:4;3074:6;3070:17;3066:27;3056:55;;3107:1;3104;3097:12;3056:55;3147:6;3134:20;3174:64;3190:47;3230:6;3190:47;:::i;:::-;3174:64;:::i;:::-;3262:3;3286:6;3281:3;3274:19;3318:4;3313:3;3309:14;3302:21;;3379:4;3369:6;3366:1;3362:14;3354:6;3350:27;3346:38;3332:52;;3407:3;3399:6;3396:15;3393:35;;;3424:1;3421;3414:12;3393:35;3460:4;3452:6;3448:17;3474:200;3490:6;3485:3;3482:15;3474:200;;;3582:17;;3612:18;;3659:4;3650:14;;;;3507;3474:200;;;-1:-1:-1;3692:7:1;2982:723;-1:-1:-1;;;;;2982:723:1:o;3710:1215::-;3828:6;3836;3889:2;3877:9;3868:7;3864:23;3860:32;3857:52;;;3905:1;3902;3895:12;3857:52;3945:9;3932:23;3978:18;3970:6;3967:30;3964:50;;;4010:1;4007;4000:12;3964:50;4033:22;;4086:4;4078:13;;4074:27;-1:-1:-1;4064:55:1;;4115:1;4112;4105:12;4064:55;4155:2;4142:16;4178:64;4194:47;4234:6;4194:47;:::i;4178:64::-;4264:3;4288:6;4283:3;4276:19;4320:4;4315:3;4311:14;4304:21;;4377:4;4367:6;4364:1;4360:14;4356:2;4352:23;4348:34;4334:48;;4405:7;4397:6;4394:19;4391:39;;;4426:1;4423;4416:12;4391:39;4458:4;4454:2;4450:13;4439:24;;4472:221;4488:6;4483:3;4480:15;4472:221;;;4570:3;4557:17;4587:31;4612:5;4587:31;:::i;:::-;4631:18;;4678:4;4505:14;;;;4669;;;;4472:221;;;4712:5;-1:-1:-1;;;;4770:4:1;4755:20;;4742:34;4801:18;4788:32;;4785:52;;;4833:1;4830;4823:12;4785:52;4856:63;4911:7;4900:8;4889:9;4885:24;4856:63;:::i;:::-;4846:73;;;3710:1215;;;;;:::o;5138:388::-;5206:6;5214;5267:2;5255:9;5246:7;5242:23;5238:32;5235:52;;;5283:1;5280;5273:12;5235:52;5322:9;5309:23;5341:31;5366:5;5341:31;:::i;:::-;5391:5;-1:-1:-1;5448:2:1;5433:18;;5420:32;5461:33;5420:32;5461:33;:::i;:::-;5513:7;5503:17;;;5138:388;;;;;:::o;5531:127::-;5592:10;5587:3;5583:20;5580:1;5573:31;5623:4;5620:1;5613:15;5647:4;5644:1;5637:15;5663:375;5751:1;5769:5;5783:249;5804:1;5794:8;5791:15;5783:249;;;5854:4;5849:3;5845:14;5839:4;5836:24;5833:50;;;5863:18;;:::i;:::-;5913:1;5903:8;5899:16;5896:49;;;5927:16;;;;5896:49;6010:1;6006:16;;;;;5966:15;;5783:249;;;5663:375;;;;;;:::o;6043:902::-;6092:5;6122:8;6112:80;;-1:-1:-1;6163:1:1;6177:5;;6112:80;6211:4;6201:76;;-1:-1:-1;6248:1:1;6262:5;;6201:76;6293:4;6311:1;6306:59;;;;6379:1;6374:174;;;;6286:262;;6306:59;6336:1;6327:10;;6350:5;;;6374:174;6411:3;6401:8;6398:17;6395:43;;;6418:18;;:::i;:::-;-1:-1:-1;;6474:1:1;6460:16;;6533:5;;6286:262;;6632:2;6622:8;6619:16;6613:3;6607:4;6604:13;6600:36;6594:2;6584:8;6581:16;6576:2;6570:4;6567:12;6563:35;6560:77;6557:203;;;-1:-1:-1;6669:19:1;;;6745:5;;6557:203;6792:42;-1:-1:-1;;6817:8:1;6811:4;6792:42;:::i;:::-;6870:6;6866:1;6862:6;6858:19;6849:7;6846:32;6843:58;;;6881:18;;:::i;:::-;6919:20;;6043:902;-1:-1:-1;;;6043:902:1:o;6950:140::-;7008:5;7037:47;7078:4;7068:8;7064:19;7058:4;7037:47;:::i;7095:168::-;7168:9;;;7199;;7216:15;;;7210:22;;7196:37;7186:71;;7237:18;;:::i;7268:127::-;7329:10;7324:3;7320:20;7317:1;7310:31;7360:4;7357:1;7350:15;7384:4;7381:1;7374:15;7400:128;7467:9;;;7488:11;;;7485:37;;;7502:18;;:::i;8246:251::-;8316:6;8369:2;8357:9;8348:7;8344:23;8340:32;8337:52;;;8385:1;8382;8375:12;8337:52;8417:9;8411:16;8436:31;8461:5;8436:31;:::i;8807:217::-;8847:1;8873;8863:132;;8917:10;8912:3;8908:20;8905:1;8898:31;8952:4;8949:1;8942:15;8980:4;8977:1;8970:15;8863:132;-1:-1:-1;9009:9:1;;8807:217::o;9637:456::-;9725:6;9733;9741;9794:2;9782:9;9773:7;9769:23;9765:32;9762:52;;;9810:1;9807;9800:12;9762:52;-1:-1:-1;;9855:16:1;;9961:2;9946:18;;9940:25;10057:2;10042:18;;;10036:25;9855:16;;9940:25;;-1:-1:-1;10036:25:1;9637:456;-1:-1:-1;9637:456:1:o;10377:277::-;10444:6;10497:2;10485:9;10476:7;10472:23;10468:32;10465:52;;;10513:1;10510;10503:12;10465:52;10545:9;10539:16;10598:5;10591:13;10584:21;10577:5;10574:32;10564:60;;10620:1;10617;10610:12;12687:135;12726:3;12747:17;;;12744:43;;12767:18;;:::i;:::-;-1:-1:-1;12814:1:1;12803:13;;12687:135::o;12827:125::-;12892:9;;;12913:10;;;12910:36;;;12926:18;;:::i;13359:959::-;13621:4;13669:3;13658:9;13654:19;13700:6;13689:9;13682:25;13743:6;13738:2;13727:9;13723:18;13716:34;13786:3;13781:2;13770:9;13766:18;13759:31;13810:6;13845;13839:13;13876:6;13868;13861:22;13914:3;13903:9;13899:19;13892:26;;13953:2;13945:6;13941:15;13927:29;;13974:1;13984:195;13998:6;13995:1;13992:13;13984:195;;;14063:13;;-1:-1:-1;;;;;14059:39:1;14047:52;;14128:2;14154:15;;;;14119:12;;;;14095:1;14013:9;13984:195;;;-1:-1:-1;;;;;;;14235:32:1;;;;14230:2;14215:18;;14208:60;-1:-1:-1;;14299:3:1;14284:19;14277:35;14196:3;13359:959;-1:-1:-1;;;13359:959:1:o
Swarm Source
ipfs://3e2586c212a6a9122cbe25be3cfcf019a9fccb24f4925a3f8fda595ce2c0ce09
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.