ERC-20
Overview
Max Total Supply
42,000,000,000,000,000 LUIGI
Holders
32
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Luigi
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-25 */ // ~~~~~~~~~~~~~~~~~~~~~~~~ // Luigi Inu – $LUIGI // LuigiCoin.vip // ~~~~~~~~~~~~~~~~~~~~~~~~ // SPDX-License-Identifier: MIT pragma solidity = 0.8.19; abstract contract Context { constructor() { } function _msgSender() internal view returns (address payable) { return payable(msg.sender); } function _msgData() internal view returns (bytes memory) { this; return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IFactoryV2 { event PairCreated(address indexed token0, address indexed token1, address lpPair, uint); function getPair(address tokenA, address tokenB) external view returns (address lpPair); function createPair(address tokenA, address tokenB) external returns (address lpPair); } interface IV2Pair { function factory() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function sync() external; } interface IRouter01 { 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); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function swapExactETHForTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable returns (uint[] memory amounts); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IRouter02 is IRouter01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); } interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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); } contract Luigi is Context, Ownable, IERC20 { function totalSupply() external pure override returns (uint256) { if (_totalSupply == 0) { revert(); } return _totalSupply; } function decimals() external pure override returns (uint8) { if (_totalSupply == 0) { revert(); } return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner(); } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function balanceOf(address account) public view override returns (uint256) { return balance[account]; } mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _noFee; mapping (address => bool) private liquidityAdd; mapping (address => bool) private isLpPair; mapping (address => uint256) private balance; uint256 constant public _totalSupply = 42_000_000_000_000_000 * 10**9; uint256 constant public swapThreshold = _totalSupply / 1_000; uint256 constant public buyfee = 40; uint256 constant public sellfee = 40; uint256 constant public transferfee = 0; uint256 constant public fee_denominator = 1_000; bool private canSwapFees = false; address payable private marketingAddress = payable(0x2163E12Aa46034Df2D73fBAdc29A952b704EA4f9); IRouter02 public swapRouter; string constant private _name = "Luigi Inu"; string constant private _symbol = "LUIGI"; uint8 constant private _decimals = 9; address constant private DEAD = 0x000000000000000000000000000000000000dEaD; address public lpPair; bool public isTradingEnabled = false; bool private inSwap; modifier inSwapFlag { inSwap = true; _; inSwap = false; } event _enableTrading(); event _toggleCanSwapFees(bool enabled); constructor () { _noFee[msg.sender] = true; swapRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); liquidityAdd[msg.sender] = true; balance[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); lpPair = IFactoryV2(swapRouter.factory()).createPair(swapRouter.WETH(), address(this)); isLpPair[lpPair] = true; _approve(msg.sender, address(swapRouter), type(uint256).max); _approve(address(this), address(swapRouter), type(uint256).max); } receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function approve(address spender, uint256 amount) external override returns (bool) { _approve(msg.sender, spender, amount); return true; } function _approve(address sender, address spender, uint256 amount) internal { require(sender != address(0), "ERC20: Zero Address"); require(spender != address(0), "ERC20: Zero Address"); _allowances[sender][spender] = amount; } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if (_allowances[sender][msg.sender] != type(uint256).max) { _allowances[sender][msg.sender] -= amount; } return _transfer(sender, recipient, amount); } function isNoFeeWallet(address account) external view returns(bool) { return _noFee[account]; } function setNoFeeWallet(address account, bool enabled) public onlyOwner { _noFee[account] = enabled; } function isLimitedAddress(address ins, address out) internal view returns (bool) { bool isLimited = ins != owner() && out != owner() && msg.sender != owner() && !liquidityAdd[ins] && !liquidityAdd[out] && out != DEAD && out != address(0) && out != address(this); return isLimited; } function is_buy(address ins, address out) internal view returns (bool) { bool _is_buy = !isLpPair[out] && isLpPair[ins]; return _is_buy; } function is_sell(address ins, address out) internal view returns (bool) { bool _is_sell = isLpPair[out] && !isLpPair[ins]; return _is_sell; } function canSwap() internal view returns (bool) { bool canswap = canSwapFees; return canswap; } function toggleCanSwapFees(bool yesno) external onlyOwner { require(canSwapFees != yesno,"Bool is the same"); canSwapFees = yesno; emit _toggleCanSwapFees(yesno); } function _transfer(address from, address to, uint256 amount) internal returns (bool) { bool takeFee = true; require(to != address(0), "ERC20: transfer to the zero address"); require(from != address(0), "ERC20: transfer from the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (isLimitedAddress(from,to)) { require(isTradingEnabled,"Trading is not enabled"); } if(is_sell(from, to) && !inSwap && canSwap()) { uint256 contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance >= swapThreshold) { internalSwap(contractTokenBalance); } } if (_noFee[from] || _noFee[to]){ takeFee = false; } balance[from] -= amount; uint256 amountAfterFee = (takeFee) ? takeTaxes(from, is_buy(from, to), is_sell(from, to), amount) : amount; balance[to] += amountAfterFee; emit Transfer(from, to, amountAfterFee); return true; } function takeTaxes(address from, bool isbuy, bool issell, uint256 amount) internal returns (uint256) { uint256 fee; if (isbuy) fee = buyfee; else if (issell) fee = sellfee; else fee = transferfee; if (fee == 0) return amount; uint256 feeAmount = amount * fee / fee_denominator; if (feeAmount > 0) { balance[address(this)] += feeAmount; emit Transfer(from, address(this), feeAmount); } return amount - feeAmount; } function internalSwap(uint256 contractTokenBalance) internal inSwapFlag { address[] memory path = new address[](2); path[0] = address(this); path[1] = swapRouter.WETH(); if (_allowances[address(this)][address(swapRouter)] != type(uint256).max) { _allowances[address(this)][address(swapRouter)] = type(uint256).max; } try swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( contractTokenBalance, 0, path, address(this), block.timestamp ) {} catch { return; } bool success; if(address(this).balance > 0) {(success,) = marketingAddress.call{value: address(this).balance, gas: 35000}("");} } function enableTrading() external onlyOwner { require(!isTradingEnabled, "Trading already enabled"); isTradingEnabled = true; emit _enableTrading(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"_enableTrading","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"_toggleCanSwapFees","type":"event"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"buyfee","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":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fee_denominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isNoFeeWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setNoFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapRouter","outputs":[{"internalType":"contract IRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"yesno","type":"bool"}],"name":"toggleCanSwapFees","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600680546001600160a81b031916742163e12aa46034df2d73fbadc29a952b704ea4f9001790556008805460ff60a01b191690553480156200004557600080fd5b506200005133620002d4565b336000818152600260209081526040808320805460ff199081166001908117909255600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556003845282852080549091169091179055600582528083206a22bdd88fed9efc6a0000009081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000145573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016b9190620003f0565b6001600160a01b031663c9c65396600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f39190620003f0565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000240573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002669190620003f0565b600880546001600160a01b0319166001600160a01b039283169081179091556000908152600460205260409020805460ff19166001179055600754620002b29133911660001962000324565b600754620002ce9030906001600160a01b031660001962000324565b62000422565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620003765760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064015b60405180910390fd5b6001600160a01b038216620003c45760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016200036d565b6001600160a01b0392831660009081526001602090815260408083209490951682529290925291902055565b6000602082840312156200040357600080fd5b81516001600160a01b03811681146200041b57600080fd5b9392505050565b61143780620004326000396000f3fe6080604052600436106101855760003560e01c806354de7bee116100d157806395d89b411161008a578063dc9d75b011610064578063dc9d75b014610487578063dd62ed3e1461049d578063e9451f5f146102a5578063f2fde38b146104e357600080fd5b806395d89b4114610419578063a9059cbb14610447578063c31c9c071461046757600080fd5b806354de7bee1461038657806370a082311461039b578063715018a6146103d1578063893d20e8146103e65780638a8c523c146104045780638da5cb5b146103e657600080fd5b806318160ddd1161013e578063278898621161011857806327889862146102da578063313ce567146103135780633eaaf86b1461032f578063452ed4f11461034e57600080fd5b806318160ddd146102875780631dc36945146102a557806323b872dd146102ba57600080fd5b80630445b66714610191578063064a59d0146101b957806306fdde03146101ea578063095ea7b3146102255780630faba55414610245578063111a60b01461026757600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610503565b6040519081526020015b60405180910390f35b3480156101c557600080fd5b506008546101da90600160a01b900460ff1681565b60405190151581526020016101b0565b3480156101f657600080fd5b506040805180820190915260098152684c7569676920496e7560b81b60208201525b6040516101b09190611121565b34801561023157600080fd5b506101da610240366004611184565b61051d565b34801561025157600080fd5b506102656102603660046111c5565b610534565b005b34801561027357600080fd5b506102656102823660046111fa565b610592565b34801561029357600080fd5b506a22bdd88fed9efc6a0000006101a6565b3480156102b157600080fd5b506101a6602881565b3480156102c657600080fd5b506101da6102d536600461121c565b610650565b3480156102e657600080fd5b506101da6102f536600461125d565b6001600160a01b031660009081526002602052604090205460ff1690565b34801561031f57600080fd5b50604051600981526020016101b0565b34801561033b57600080fd5b506101a66a22bdd88fed9efc6a00000081565b34801561035a57600080fd5b5060085461036e906001600160a01b031681565b6040516001600160a01b0390911681526020016101b0565b34801561039257600080fd5b506101a6600081565b3480156103a757600080fd5b506101a66103b636600461125d565b6001600160a01b031660009081526005602052604090205490565b3480156103dd57600080fd5b506102656106c8565b3480156103f257600080fd5b506000546001600160a01b031661036e565b34801561041057600080fd5b506102656106fe565b34801561042557600080fd5b506040805180820190915260058152644c5549474960d81b6020820152610218565b34801561045357600080fd5b506101da610462366004611184565b6107c0565b34801561047357600080fd5b5060075461036e906001600160a01b031681565b34801561049357600080fd5b506101a66103e881565b3480156104a957600080fd5b506101a66104b836600461127a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156104ef57600080fd5b506102656104fe36600461125d565b6107d7565b61051a6103e86a22bdd88fed9efc6a0000006112c9565b81565b600061052a338484610872565b5060015b92915050565b6000546001600160a01b031633146105675760405162461bcd60e51b815260040161055e906112eb565b60405180910390fd5b6001600160a01b03919091166000908152600260205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146105bc5760405162461bcd60e51b815260040161055e906112eb565b60065481151560ff9091161515036106095760405162461bcd60e51b815260206004820152601060248201526f426f6f6c206973207468652073616d6560801b604482015260640161055e565b6006805460ff19168215159081179091556040519081527f4686eea8d0ea8d72497b77f908906325d7bbafd9f1d6753522573258958656e89060200160405180910390a150565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019146106b5576001600160a01b0384166000908152600160209081526040808320338452909152812080548492906106af908490611320565b90915550505b6106c0848484610936565b949350505050565b6000546001600160a01b031633146106f25760405162461bcd60e51b815260040161055e906112eb565b6106fc6000610c5c565b565b6000546001600160a01b031633146107285760405162461bcd60e51b815260040161055e906112eb565b600854600160a01b900460ff16156107825760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c6564000000000000000000604482015260640161055e565b6008805460ff60a01b1916600160a01b1790556040517fa0ac5e19ca3a09af9a3a13c5c51f911c89eefd4b9eb548f4766b991b14ad686890600090a1565b60006107cd338484610936565b5060019392505050565b6000546001600160a01b031633146108015760405162461bcd60e51b815260040161055e906112eb565b6001600160a01b0381166108665760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161055e565b61086f81610c5c565b50565b6001600160a01b0383166108be5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161055e565b6001600160a01b03821661090a5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161055e565b6001600160a01b0392831660009081526001602090815260408083209490951682529290925291902055565b600060016001600160a01b03841661099c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161055e565b6001600160a01b038516610a005760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161055e565b60008311610a625760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161055e565b610a6c8585610cac565b15610ac357600854600160a01b900460ff16610ac35760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b604482015260640161055e565b610acd8585610d98565b8015610ae35750600854600160a81b900460ff16155b8015610af1575060065460ff165b15610b2e5730600090815260056020526040902054610b1d6103e86a22bdd88fed9efc6a0000006112c9565b8110610b2c57610b2c81610ddf565b505b6001600160a01b03851660009081526002602052604090205460ff1680610b6d57506001600160a01b03841660009081526002602052604090205460ff165b15610b76575060005b6001600160a01b03851660009081526005602052604081208054859290610b9e908490611320565b909155506000905081610bb15783610bcf565b610bcf86610bbf888861100b565b610bc98989610d98565b87611052565b6001600160a01b038616600090815260056020526040812080549293508392909190610bfc908490611333565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c4891815260200190565b60405180910390a350600195945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080610cc16000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610cf057506000546001600160a01b03848116911614155b8015610d0757506000546001600160a01b03163314155b8015610d2c57506001600160a01b03841660009081526003602052604090205460ff16155b8015610d5157506001600160a01b03831660009081526003602052604090205460ff16155b8015610d6857506001600160a01b03831661dead14155b8015610d7c57506001600160a01b03831615155b80156106c057506001600160a01b038316301415949350505050565b6001600160a01b038116600090815260046020526040812054819060ff1680156106c057505050506001600160a01b031660009081526004602052604090205460ff161590565b6008805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e2757610e27611346565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea4919061135c565b81600181518110610eb757610eb7611346565b6001600160a01b03928316602091820292909201810191909152306000908152600182526040808220600754909416825292909152205460001914610f21573060009081526001602090815260408083206007546001600160a01b03168452909152902060001990555b60075460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f5a908590600090869030904290600401611379565b600060405180830381600087803b158015610f7457600080fd5b505af1925050508015610f85575060015b610f8f5750610ffb565b60004715610ff8576006546040516101009091046001600160a01b0316906188b89047906000818181858888f193505050503d8060008114610fed576040519150601f19603f3d011682016040523d82523d6000602084013e610ff2565b606091505b50909150505b50505b506008805460ff60a81b19169055565b6001600160a01b038116600090815260046020526040812054819060ff161580156106c057505050506001600160a01b031660009081526004602052604090205460ff1690565b600080841561106357506028611075565b831561107157506028611075565b5060005b8060000361108657829150506106c0565b60006103e861109583866113ea565b61109f91906112c9565b9050801561110c5730600090815260056020526040812080548392906110c6908490611333565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6111168185611320565b979650505050505050565b600060208083528351808285015260005b8181101561114e57858101830151858201604001528201611132565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461086f57600080fd5b6000806040838503121561119757600080fd5b82356111a28161116f565b946020939093013593505050565b803580151581146111c057600080fd5b919050565b600080604083850312156111d857600080fd5b82356111e38161116f565b91506111f1602084016111b0565b90509250929050565b60006020828403121561120c57600080fd5b611215826111b0565b9392505050565b60008060006060848603121561123157600080fd5b833561123c8161116f565b9250602084013561124c8161116f565b929592945050506040919091013590565b60006020828403121561126f57600080fd5b81356112158161116f565b6000806040838503121561128d57600080fd5b82356112988161116f565b915060208301356112a88161116f565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000826112e657634e487b7160e01b600052601260045260246000fd5b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8181038181111561052e5761052e6112b3565b8082018082111561052e5761052e6112b3565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561136e57600080fd5b81516112158161116f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113c95784516001600160a01b0316835293830193918301916001016113a4565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761052e5761052e6112b356fea26469706673582212206f8915a56994461575690234141eb9fbe72b1bf5fb33a765d8cbca4fa0df011e64736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101855760003560e01c806354de7bee116100d157806395d89b411161008a578063dc9d75b011610064578063dc9d75b014610487578063dd62ed3e1461049d578063e9451f5f146102a5578063f2fde38b146104e357600080fd5b806395d89b4114610419578063a9059cbb14610447578063c31c9c071461046757600080fd5b806354de7bee1461038657806370a082311461039b578063715018a6146103d1578063893d20e8146103e65780638a8c523c146104045780638da5cb5b146103e657600080fd5b806318160ddd1161013e578063278898621161011857806327889862146102da578063313ce567146103135780633eaaf86b1461032f578063452ed4f11461034e57600080fd5b806318160ddd146102875780631dc36945146102a557806323b872dd146102ba57600080fd5b80630445b66714610191578063064a59d0146101b957806306fdde03146101ea578063095ea7b3146102255780630faba55414610245578063111a60b01461026757600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610503565b6040519081526020015b60405180910390f35b3480156101c557600080fd5b506008546101da90600160a01b900460ff1681565b60405190151581526020016101b0565b3480156101f657600080fd5b506040805180820190915260098152684c7569676920496e7560b81b60208201525b6040516101b09190611121565b34801561023157600080fd5b506101da610240366004611184565b61051d565b34801561025157600080fd5b506102656102603660046111c5565b610534565b005b34801561027357600080fd5b506102656102823660046111fa565b610592565b34801561029357600080fd5b506a22bdd88fed9efc6a0000006101a6565b3480156102b157600080fd5b506101a6602881565b3480156102c657600080fd5b506101da6102d536600461121c565b610650565b3480156102e657600080fd5b506101da6102f536600461125d565b6001600160a01b031660009081526002602052604090205460ff1690565b34801561031f57600080fd5b50604051600981526020016101b0565b34801561033b57600080fd5b506101a66a22bdd88fed9efc6a00000081565b34801561035a57600080fd5b5060085461036e906001600160a01b031681565b6040516001600160a01b0390911681526020016101b0565b34801561039257600080fd5b506101a6600081565b3480156103a757600080fd5b506101a66103b636600461125d565b6001600160a01b031660009081526005602052604090205490565b3480156103dd57600080fd5b506102656106c8565b3480156103f257600080fd5b506000546001600160a01b031661036e565b34801561041057600080fd5b506102656106fe565b34801561042557600080fd5b506040805180820190915260058152644c5549474960d81b6020820152610218565b34801561045357600080fd5b506101da610462366004611184565b6107c0565b34801561047357600080fd5b5060075461036e906001600160a01b031681565b34801561049357600080fd5b506101a66103e881565b3480156104a957600080fd5b506101a66104b836600461127a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156104ef57600080fd5b506102656104fe36600461125d565b6107d7565b61051a6103e86a22bdd88fed9efc6a0000006112c9565b81565b600061052a338484610872565b5060015b92915050565b6000546001600160a01b031633146105675760405162461bcd60e51b815260040161055e906112eb565b60405180910390fd5b6001600160a01b03919091166000908152600260205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146105bc5760405162461bcd60e51b815260040161055e906112eb565b60065481151560ff9091161515036106095760405162461bcd60e51b815260206004820152601060248201526f426f6f6c206973207468652073616d6560801b604482015260640161055e565b6006805460ff19168215159081179091556040519081527f4686eea8d0ea8d72497b77f908906325d7bbafd9f1d6753522573258958656e89060200160405180910390a150565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019146106b5576001600160a01b0384166000908152600160209081526040808320338452909152812080548492906106af908490611320565b90915550505b6106c0848484610936565b949350505050565b6000546001600160a01b031633146106f25760405162461bcd60e51b815260040161055e906112eb565b6106fc6000610c5c565b565b6000546001600160a01b031633146107285760405162461bcd60e51b815260040161055e906112eb565b600854600160a01b900460ff16156107825760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c6564000000000000000000604482015260640161055e565b6008805460ff60a01b1916600160a01b1790556040517fa0ac5e19ca3a09af9a3a13c5c51f911c89eefd4b9eb548f4766b991b14ad686890600090a1565b60006107cd338484610936565b5060019392505050565b6000546001600160a01b031633146108015760405162461bcd60e51b815260040161055e906112eb565b6001600160a01b0381166108665760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161055e565b61086f81610c5c565b50565b6001600160a01b0383166108be5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161055e565b6001600160a01b03821661090a5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161055e565b6001600160a01b0392831660009081526001602090815260408083209490951682529290925291902055565b600060016001600160a01b03841661099c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161055e565b6001600160a01b038516610a005760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161055e565b60008311610a625760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161055e565b610a6c8585610cac565b15610ac357600854600160a01b900460ff16610ac35760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b604482015260640161055e565b610acd8585610d98565b8015610ae35750600854600160a81b900460ff16155b8015610af1575060065460ff165b15610b2e5730600090815260056020526040902054610b1d6103e86a22bdd88fed9efc6a0000006112c9565b8110610b2c57610b2c81610ddf565b505b6001600160a01b03851660009081526002602052604090205460ff1680610b6d57506001600160a01b03841660009081526002602052604090205460ff165b15610b76575060005b6001600160a01b03851660009081526005602052604081208054859290610b9e908490611320565b909155506000905081610bb15783610bcf565b610bcf86610bbf888861100b565b610bc98989610d98565b87611052565b6001600160a01b038616600090815260056020526040812080549293508392909190610bfc908490611333565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c4891815260200190565b60405180910390a350600195945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080610cc16000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610cf057506000546001600160a01b03848116911614155b8015610d0757506000546001600160a01b03163314155b8015610d2c57506001600160a01b03841660009081526003602052604090205460ff16155b8015610d5157506001600160a01b03831660009081526003602052604090205460ff16155b8015610d6857506001600160a01b03831661dead14155b8015610d7c57506001600160a01b03831615155b80156106c057506001600160a01b038316301415949350505050565b6001600160a01b038116600090815260046020526040812054819060ff1680156106c057505050506001600160a01b031660009081526004602052604090205460ff161590565b6008805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e2757610e27611346565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea4919061135c565b81600181518110610eb757610eb7611346565b6001600160a01b03928316602091820292909201810191909152306000908152600182526040808220600754909416825292909152205460001914610f21573060009081526001602090815260408083206007546001600160a01b03168452909152902060001990555b60075460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f5a908590600090869030904290600401611379565b600060405180830381600087803b158015610f7457600080fd5b505af1925050508015610f85575060015b610f8f5750610ffb565b60004715610ff8576006546040516101009091046001600160a01b0316906188b89047906000818181858888f193505050503d8060008114610fed576040519150601f19603f3d011682016040523d82523d6000602084013e610ff2565b606091505b50909150505b50505b506008805460ff60a81b19169055565b6001600160a01b038116600090815260046020526040812054819060ff161580156106c057505050506001600160a01b031660009081526004602052604090205460ff1690565b600080841561106357506028611075565b831561107157506028611075565b5060005b8060000361108657829150506106c0565b60006103e861109583866113ea565b61109f91906112c9565b9050801561110c5730600090815260056020526040812080548392906110c6908490611333565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6111168185611320565b979650505050505050565b600060208083528351808285015260005b8181101561114e57858101830151858201604001528201611132565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461086f57600080fd5b6000806040838503121561119757600080fd5b82356111a28161116f565b946020939093013593505050565b803580151581146111c057600080fd5b919050565b600080604083850312156111d857600080fd5b82356111e38161116f565b91506111f1602084016111b0565b90509250929050565b60006020828403121561120c57600080fd5b611215826111b0565b9392505050565b60008060006060848603121561123157600080fd5b833561123c8161116f565b9250602084013561124c8161116f565b929592945050506040919091013590565b60006020828403121561126f57600080fd5b81356112158161116f565b6000806040838503121561128d57600080fd5b82356112988161116f565b915060208301356112a88161116f565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000826112e657634e487b7160e01b600052601260045260246000fd5b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8181038181111561052e5761052e6112b3565b8082018082111561052e5761052e6112b3565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561136e57600080fd5b81516112158161116f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113c95784516001600160a01b0316835293830193918301916001016113a4565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761052e5761052e6112b356fea26469706673582212206f8915a56994461575690234141eb9fbe72b1bf5fb33a765d8cbca4fa0df011e64736f6c63430008130033
Deployed Bytecode Sourcemap
4873:7497:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6059:60;;;;;;;;;;;;;:::i;:::-;;;160:25:1;;;148:2;133:18;6059:60:0;;;;;;;;6737:36;;;;;;;;;;-1:-1:-1;6737:36:0;;;;-1:-1:-1;;;6737:36:0;;;;;;;;;361:14:1;;354:22;336:41;;324:2;309:18;6737:36:0;196:187:1;5269:80:0;;;;;;;;;;-1:-1:-1;5341:5:0;;;;;;;;;;;;-1:-1:-1;;;5341:5:0;;;;5269:80;;;;;;;:::i;7778:161::-;;;;;;;;;;-1:-1:-1;7778:161:0;;;;;:::i;:::-;;:::i;8647:116::-;;;;;;;;;;-1:-1:-1;8647:116:0;;;;;:::i;:::-;;:::i;:::-;;9574:196;;;;;;;;;;-1:-1:-1;9574:196:0;;;;;:::i;:::-;;:::i;4925:125::-;;;;;;;;;;-1:-1:-1;6022:30:0;4925:125;;6126:35;;;;;;;;;;;;6159:2;6126:35;;8216:306;;;;;;;;;;-1:-1:-1;8216:306:0;;;;;:::i;:::-;;:::i;8530:109::-;;;;;;;;;;-1:-1:-1;8530:109:0;;;;;:::i;:::-;-1:-1:-1;;;;;8616:15:0;8592:4;8616:15;;;:6;:15;;;;;;;;;8530:109;5056:117;;;;;;;;;;-1:-1:-1;5056:117:0;;6620:1;2922:36:1;;2910:2;2895:18;5056:117:0;2780:184:1;5983:69:0;;;;;;;;;;;;6022:30;5983:69;;6709:21;;;;;;;;;;-1:-1:-1;6709:21:0;;;;-1:-1:-1;;;;;6709:21:0;;;;;;-1:-1:-1;;;;;3133:32:1;;;3115:51;;3103:2;3088:18;6709:21:0;2969:203:1;6211:39:0;;;;;;;;;;;;6249:1;6211:39;;5580:117;;;;;;;;;;-1:-1:-1;5580:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;5673:16:0;5646:7;5673:16;;;:7;:16;;;;;;;5580:117;912:94;;;;;;;;;;;;;:::i;5355:80::-;;;;;;;;;;-1:-1:-1;5407:7:0;762:6;-1:-1:-1;;;;;762:6:0;5355:80;;12179:182;;;;;;;;;;;;;:::i;5179:84::-;;;;;;;;;;-1:-1:-1;5253:7:0;;;;;;;;;;;;-1:-1:-1;;;5253:7:0;;;;5179:84;;7605:165;;;;;;;;;;-1:-1:-1;7605:165:0;;;;;:::i;:::-;;:::i;6453:27::-;;;;;;;;;;-1:-1:-1;6453:27:0;;;;-1:-1:-1;;;;;6453:27:0;;;6257:47;;;;;;;;;;;;6299:5;6257:47;;5441:133;;;;;;;;;;-1:-1:-1;5441:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5543:19:0;;;5525:7;5543:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5441:133;1014:192;;;;;;;;;;-1:-1:-1;1014:192:0;;;;;:::i;:::-;;:::i;6059:60::-;6099:20;6114:5;6022:30;6099:20;:::i;:::-;6059:60;:::o;7778:161::-;7855:4;7872:37;7881:10;7893:7;7902:6;7872:8;:37::i;:::-;-1:-1:-1;7927:4:0;7778:161;;;;;:::o;8647:116::-;735:7;762:6;-1:-1:-1;;;;;762:6:0;318:10;824:23;816:68;;;;-1:-1:-1;;;816:68:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;8730:15:0;;;::::1;;::::0;;;:6:::1;:15;::::0;;;;:25;;-1:-1:-1;;8730:25:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8647:116::o;9574:196::-;735:7;762:6;-1:-1:-1;;;;;762:6:0;318:10;824:23;816:68;;;;-1:-1:-1;;;816:68:0;;;;;;;:::i;:::-;9651:11:::1;::::0;:20;::::1;;:11;::::0;;::::1;:20;;::::0;9643:48:::1;;;::::0;-1:-1:-1;;;9643:48:0;;4712:2:1;9643:48:0::1;::::0;::::1;4694:21:1::0;4751:2;4731:18;;;4724:30;-1:-1:-1;;;4770:18:1;;;4763:46;4826:18;;9643:48:0::1;4510:340:1::0;9643:48:0::1;9702:11;:19:::0;;-1:-1:-1;;9702:19:0::1;::::0;::::1;;::::0;;::::1;::::0;;;9737:25:::1;::::0;336:41:1;;;9737:25:0::1;::::0;324:2:1;309:18;9737:25:0::1;;;;;;;9574:196:::0;:::o;8216:306::-;-1:-1:-1;;;;;8337:19:0;;8316:4;8337:19;;;:11;:19;;;;;;;;8357:10;8337:31;;;;;;;;-1:-1:-1;;8337:52:0;8333:126;;-1:-1:-1;;;;;8406:19:0;;;;;;:11;:19;;;;;;;;8426:10;8406:31;;;;;;;:41;;8441:6;;8406:19;:41;;8441:6;;8406:41;:::i;:::-;;;;-1:-1:-1;;8333:126:0;8478:36;8488:6;8496:9;8507:6;8478:9;:36::i;:::-;8471:43;8216:306;-1:-1:-1;;;;8216:306:0:o;912:94::-;735:7;762:6;-1:-1:-1;;;;;762:6:0;318:10;824:23;816:68;;;;-1:-1:-1;;;816:68:0;;;;;;;:::i;:::-;977:21:::1;995:1;977:9;:21::i;:::-;912:94::o:0;12179:182::-;735:7;762:6;-1:-1:-1;;;;;762:6:0;318:10;824:23;816:68;;;;-1:-1:-1;;;816:68:0;;;;;;;:::i;:::-;12243:16:::1;::::0;-1:-1:-1;;;12243:16:0;::::1;;;12242:17;12234:53;;;::::0;-1:-1:-1;;;12234:53:0;;5190:2:1;12234:53:0::1;::::0;::::1;5172:21:1::0;5229:2;5209:18;;;5202:30;5268:25;5248:18;;;5241:53;5311:18;;12234:53:0::1;4988:347:1::0;12234:53:0::1;12298:16;:23:::0;;-1:-1:-1;;;;12298:23:0::1;-1:-1:-1::0;;;12298:23:0::1;::::0;;12337:16:::1;::::0;::::1;::::0;12298:23;;12337:16:::1;12179:182::o:0;7605:165::-;7683:4;7700:40;7710:10;7722:9;7733:6;7700:9;:40::i;:::-;-1:-1:-1;7758:4:0;;7605:165;-1:-1:-1;;;7605:165:0:o;1014:192::-;735:7;762:6;-1:-1:-1;;;;;762:6:0;318:10;824:23;816:68;;;;-1:-1:-1;;;816:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1103:22:0;::::1;1095:73;;;::::0;-1:-1:-1;;;1095:73:0;;5542:2:1;1095:73:0::1;::::0;::::1;5524:21:1::0;5581:2;5561:18;;;5554:30;5620:34;5600:18;;;5593:62;-1:-1:-1;;;5671:18:1;;;5664:36;5717:19;;1095:73:0::1;5340:402:1::0;1095:73:0::1;1179:19;1189:8;1179:9;:19::i;:::-;1014:192:::0;:::o;7947:261::-;-1:-1:-1;;;;;8042:20:0;;8034:52;;;;-1:-1:-1;;;8034:52:0;;5949:2:1;8034:52:0;;;5931:21:1;5988:2;5968:18;;;5961:30;-1:-1:-1;;;6007:18:1;;;6000:49;6066:18;;8034:52:0;5747:343:1;8034:52:0;-1:-1:-1;;;;;8105:21:0;;8097:53;;;;-1:-1:-1;;;8097:53:0;;5949:2:1;8097:53:0;;;5931:21:1;5988:2;5968:18;;;5961:30;-1:-1:-1;;;6007:18:1;;;6000:49;6066:18;;8097:53:0;5747:343:1;8097:53:0;-1:-1:-1;;;;;8163:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;7947:261::o;9778:1045::-;9858:4;9890;-1:-1:-1;;;;;9913:16:0;;9905:64;;;;-1:-1:-1;;;9905:64:0;;6297:2:1;9905:64:0;;;6279:21:1;6336:2;6316:18;;;6309:30;6375:34;6355:18;;;6348:62;-1:-1:-1;;;6426:18:1;;;6419:33;6469:19;;9905:64:0;6095:399:1;9905:64:0;-1:-1:-1;;;;;9988:18:0;;9980:68;;;;-1:-1:-1;;;9980:68:0;;6701:2:1;9980:68:0;;;6683:21:1;6740:2;6720:18;;;6713:30;6779:34;6759:18;;;6752:62;-1:-1:-1;;;6830:18:1;;;6823:35;6875:19;;9980:68:0;6499:401:1;9980:68:0;10076:1;10067:6;:10;10059:64;;;;-1:-1:-1;;;10059:64:0;;7107:2:1;10059:64:0;;;7089:21:1;7146:2;7126:18;;;7119:30;7185:34;7165:18;;;7158:62;-1:-1:-1;;;7236:18:1;;;7229:39;7285:19;;10059:64:0;6905:405:1;10059:64:0;10140:25;10157:4;10162:2;10140:16;:25::i;:::-;10136:108;;;10190:16;;-1:-1:-1;;;10190:16:0;;;;10182:50;;;;-1:-1:-1;;;10182:50:0;;7517:2:1;10182:50:0;;;7499:21:1;7556:2;7536:18;;;7529:30;-1:-1:-1;;;7575:18:1;;;7568:52;7637:18;;10182:50:0;7315:346:1;10182:50:0;10259:17;10267:4;10273:2;10259:7;:17::i;:::-;:29;;;;-1:-1:-1;10282:6:0;;-1:-1:-1;;;10282:6:0;;;;10281:7;10259:29;:42;;;;-1:-1:-1;9522:11:0;;;;10292:9;10256:224;;;10367:4;10318:28;5673:16;;;:7;:16;;;;;;6099:20;6114:5;6022:30;6099:20;:::i;:::-;10391;:37;10388:81;;10432:34;10445:20;10432:12;:34::i;:::-;10303:177;10256:224;-1:-1:-1;;;;;10496:12:0;;;;;;:6;:12;;;;;;;;;:26;;-1:-1:-1;;;;;;10512:10:0;;;;;;:6;:10;;;;;;;;10496:26;10492:73;;;-1:-1:-1;10548:5:0;10492:73;-1:-1:-1;;;;;10577:13:0;;;;;;:7;:13;;;;;:23;;10594:6;;10577:13;:23;;10594:6;;10577:23;:::i;:::-;;;;-1:-1:-1;10602:22:0;;-1:-1:-1;10628:7:0;10627:81;;10702:6;10627:81;;;10639:60;10649:4;10655:16;10662:4;10668:2;10655:6;:16::i;:::-;10673:17;10681:4;10687:2;10673:7;:17::i;:::-;10692:6;10639:9;:60::i;:::-;-1:-1:-1;;;;;10719:11:0;;;;;;:7;:11;;;;;:29;;10602:106;;-1:-1:-1;10602:106:0;;10719:11;;;:29;;10602:106;;10719:29;:::i;:::-;;;;;;;;10770:2;-1:-1:-1;;;;;10755:34:0;10764:4;-1:-1:-1;;;;;10755:34:0;;10774:14;10755:34;;;;160:25:1;;148:2;133:18;;14:177;10755:34:0;;;;;;;;-1:-1:-1;10809:4:0;;9778:1045;-1:-1:-1;;;;;9778:1045:0:o;1214:173::-;1270:16;1289:6;;-1:-1:-1;;;;;1306:17:0;;;-1:-1:-1;;;;;;1306:17:0;;;;;;1339:40;;1289:6;;;;;;;1339:40;;1270:16;1339:40;1259:128;1214:173;:::o;8771:326::-;8846:4;8865:14;8889:7;735;762:6;-1:-1:-1;;;;;762:6:0;;689:87;8889:7;-1:-1:-1;;;;;8882:14:0;:3;-1:-1:-1;;;;;8882:14:0;;;:41;;;;-1:-1:-1;735:7:0;762:6;-1:-1:-1;;;;;8909:14:0;;;762:6;;8909:14;;8882:41;:66;;;;-1:-1:-1;735:7:0;762:6;-1:-1:-1;;;;;762:6:0;8927:10;:21;;8882:66;:97;;;;-1:-1:-1;;;;;;8962:17:0;;;;;;:12;:17;;;;;;;;8961:18;8882:97;:120;;;;-1:-1:-1;;;;;;8985:17:0;;;;;;:12;:17;;;;;;;;8984:18;8882:120;:135;;;;-1:-1:-1;;;;;;9006:11:0;;6660:42;9006:11;;8882:135;:156;;;;-1:-1:-1;;;;;;9021:17:0;;;;8882:156;:180;;;;-1:-1:-1;;;;;;9042:20:0;;9057:4;9042:20;;8865:197;8771:326;-1:-1:-1;;;;8771:326:0:o;9274:165::-;-1:-1:-1;;;;;9374:13:0;;9340:4;9374:13;;;:8;:13;;;;;;9340:4;;9374:13;;:31;;;;-1:-1:-1;;;;;;;;;9392:13:0;;;;;:8;:13;;;;;;;;9391:14;;9274:165::o;11369:802::-;6839:6;:13;;-1:-1:-1;;;;6839:13:0;-1:-1:-1;;;6839:13:0;;;11486:16:::1;::::0;;11500:1:::1;11486:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11486:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11486:16:0::1;11462:40;;11531:4;11513;11518:1;11513:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11513:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11557:10:::1;::::0;:17:::1;::::0;;-1:-1:-1;;;11557:17:0;;;;:10;;;::::1;::::0;:15:::1;::::0;:17:::1;::::0;;::::1;::::0;11513:7;;11557:17;;;;;:10;:17:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11547:4;11552:1;11547:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11547:27:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:27;;;;11611:4:::1;11591:26;::::0;;;:11:::1;:26:::0;;;;;;11626:10:::1;::::0;;;::::1;11591:47:::0;;;;;;;;-1:-1:-1;;11591:68:0::1;11587:168;;11696:4;11676:26;::::0;;;:11:::1;:26;::::0;;;;;;;11711:10:::1;::::0;-1:-1:-1;;;;;11711:10:0::1;11676:47:::0;;;;;;;-1:-1:-1;;11676:67:0;;11587:168:::1;11771:10;::::0;:200:::1;::::0;-1:-1:-1;;;11771:200:0;;-1:-1:-1;;;;;11771:10:0;;::::1;::::0;:61:::1;::::0;:200:::1;::::0;11847:20;;11771:10:::1;::::0;11898:4;;11925::::1;::::0;11945:15:::1;::::0;11771:200:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;11767:247;;11996:7;;;11767:247;12024:12;12052:21;:25:::0;12049:113:::1;;12093:16;::::0;:67:::1;::::0;:16:::1;::::0;;::::1;-1:-1:-1::0;;;;;12093:16:0::1;::::0;12150:5:::1;::::0;12122:21:::1;::::0;12093:67:::1;::::0;;;12122:21;12093:16;12150:5;12093:67:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;12080:80:0;;-1:-1:-1;;12049:113:0::1;11441:730;;6863:1;-1:-1:-1::0;6875:6:0;:14;;-1:-1:-1;;;;6875:14:0;;;11369:802::o;9105:161::-;-1:-1:-1;;;;;9203:13:0;;9170:4;9203:13;;;:8;:13;;;;;;9170:4;;9203:13;;9202:14;:31;;;;-1:-1:-1;;;;;;;;;9220:13:0;;;;;:8;:13;;;;;;;;;9105:161::o;10831:530::-;10923:7;10943:11;10969:5;10965:84;;;-1:-1:-1;6159:2:0;10965:84;;;11001:6;10997:52;;;-1:-1:-1;6202:2:0;10997:52;;;-1:-1:-1;6249:1:0;10997:52;11065:3;11072:1;11065:8;11061:28;;11083:6;11076:13;;;;;11061:28;11100:17;6299:5;11120:12;11129:3;11120:6;:12;:::i;:::-;:30;;;;:::i;:::-;11100:50;-1:-1:-1;11165:13:0;;11161:157;;11213:4;11197:22;;;;:7;:22;;;;;:35;;11223:9;;11197:22;:35;;11223:9;;11197:35;:::i;:::-;;;;-1:-1:-1;;11252:40:0;;160:25:1;;;11275:4:0;;-1:-1:-1;;;;;11252:40:0;;;;;148:2:1;133:18;11252:40:0;;;;;;;11161:157;11335:18;11344:9;11335:6;:18;:::i;:::-;11328:25;10831:530;-1:-1:-1;;;;;;;10831:530:0:o;388:548:1:-;500:4;529:2;558;547:9;540:21;590:6;584:13;633:6;628:2;617:9;613:18;606:34;658:1;668:140;682:6;679:1;676:13;668:140;;;777:14;;;773:23;;767:30;743:17;;;762:2;739:26;732:66;697:10;;668:140;;;672:3;857:1;852:2;843:6;832:9;828:22;824:31;817:42;927:2;920;916:7;911:2;903:6;899:15;895:29;884:9;880:45;876:54;868:62;;;;388:548;;;;:::o;941:131::-;-1:-1:-1;;;;;1016:31:1;;1006:42;;996:70;;1062:1;1059;1052:12;1077:315;1145:6;1153;1206:2;1194:9;1185:7;1181:23;1177:32;1174:52;;;1222:1;1219;1212:12;1174:52;1261:9;1248:23;1280:31;1305:5;1280:31;:::i;:::-;1330:5;1382:2;1367:18;;;;1354:32;;-1:-1:-1;;;1077:315:1:o;1397:160::-;1462:20;;1518:13;;1511:21;1501:32;;1491:60;;1547:1;1544;1537:12;1491:60;1397:160;;;:::o;1562:315::-;1627:6;1635;1688:2;1676:9;1667:7;1663:23;1659:32;1656:52;;;1704:1;1701;1694:12;1656:52;1743:9;1730:23;1762:31;1787:5;1762:31;:::i;:::-;1812:5;-1:-1:-1;1836:35:1;1867:2;1852:18;;1836:35;:::i;:::-;1826:45;;1562:315;;;;;:::o;1882:180::-;1938:6;1991:2;1979:9;1970:7;1966:23;1962:32;1959:52;;;2007:1;2004;1997:12;1959:52;2030:26;2046:9;2030:26;:::i;:::-;2020:36;1882:180;-1:-1:-1;;;1882:180:1:o;2067:456::-;2144:6;2152;2160;2213:2;2201:9;2192:7;2188:23;2184:32;2181:52;;;2229:1;2226;2219:12;2181:52;2268:9;2255:23;2287:31;2312:5;2287:31;:::i;:::-;2337:5;-1:-1:-1;2394:2:1;2379:18;;2366:32;2407:33;2366:32;2407:33;:::i;:::-;2067:456;;2459:7;;-1:-1:-1;;;2513:2:1;2498:18;;;;2485:32;;2067:456::o;2528:247::-;2587:6;2640:2;2628:9;2619:7;2615:23;2611:32;2608:52;;;2656:1;2653;2646:12;2608:52;2695:9;2682:23;2714:31;2739:5;2714:31;:::i;3402:388::-;3470:6;3478;3531:2;3519:9;3510:7;3506:23;3502:32;3499:52;;;3547:1;3544;3537:12;3499:52;3586:9;3573:23;3605:31;3630:5;3605:31;:::i;:::-;3655:5;-1:-1:-1;3712:2:1;3697:18;;3684:32;3725:33;3684:32;3725:33;:::i;:::-;3777:7;3767:17;;;3402:388;;;;;:::o;3795:127::-;3856:10;3851:3;3847:20;3844:1;3837:31;3887:4;3884:1;3877:15;3911:4;3908:1;3901:15;3927:217;3967:1;3993;3983:132;;4037:10;4032:3;4028:20;4025:1;4018:31;4072:4;4069:1;4062:15;4100:4;4097:1;4090:15;3983:132;-1:-1:-1;4129:9:1;;3927:217::o;4149:356::-;4351:2;4333:21;;;4370:18;;;4363:30;4429:34;4424:2;4409:18;;4402:62;4496:2;4481:18;;4149:356::o;4855:128::-;4922:9;;;4943:11;;;4940:37;;;4957:18;;:::i;7666:125::-;7731:9;;;7752:10;;;7749:36;;;7765:18;;:::i;7928:127::-;7989:10;7984:3;7980:20;7977:1;7970:31;8020:4;8017:1;8010:15;8044:4;8041:1;8034:15;8060:251;8130:6;8183:2;8171:9;8162:7;8158:23;8154:32;8151:52;;;8199:1;8196;8189:12;8151:52;8231:9;8225:16;8250:31;8275:5;8250:31;:::i;8316:980::-;8578:4;8626:3;8615:9;8611:19;8657:6;8646:9;8639:25;8683:2;8721:6;8716:2;8705:9;8701:18;8694:34;8764:3;8759:2;8748:9;8744:18;8737:31;8788:6;8823;8817:13;8854:6;8846;8839:22;8892:3;8881:9;8877:19;8870:26;;8931:2;8923:6;8919:15;8905:29;;8952:1;8962:195;8976:6;8973:1;8970:13;8962:195;;;9041:13;;-1:-1:-1;;;;;9037:39:1;9025:52;;9132:15;;;;9097:12;;;;9073:1;8991:9;8962:195;;;-1:-1:-1;;;;;;;9213:32:1;;;;9208:2;9193:18;;9186:60;-1:-1:-1;;;9277:3:1;9262:19;9255:35;9174:3;8316:980;-1:-1:-1;;;8316:980:1:o;9511:168::-;9584:9;;;9615;;9632:15;;;9626:22;;9612:37;9602:71;;9653:18;;:::i
Swarm Source
ipfs://6f8915a56994461575690234141eb9fbe72b1bf5fb33a765d8cbca4fa0df011e
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.