ERC-20
Overview
Max Total Supply
1,000,000,000 DODO
Holders
44
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
7,758,902.557407593 DODOValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DODO
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-01-12 */ // SPDX-License-Identifier: Unlicensed /** When you're so friendly that you become extinct... Dodos, the original social butterflies! Website: https://www.dodobird.live Telegram: https://t.me/dodocoin_erc Twitter: https://twitter.com/dodocoin_erc */ pragma solidity = 0.8.19; //--- Interface for ERC20 ---// 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); } interface IFactoryV2 { event PairCreated(address indexed token0, address indexed token1, address _pairAddress, uint); function getPair(address tokenA, address tokenB) external view returns (address _pairAddress); function createPair(address tokenA, address tokenB) external returns (address _pairAddress); } 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); } //--- Context ---// 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; } } //--- Ownable ---// 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); } } //--- Contract ---// contract DODO is Context, Ownable, IERC20 { string constant private _name = "Dodo Bird"; string constant private _symbol = "DODO"; uint8 constant private _decimals = 9; uint256 constant public _totalSupply = 10 ** 9 * 10**9; uint256 _buyfee = 210; uint256 _sellfee = 210; address _pairAddress; IRouter02 _uniswapRouter; bool _isTradingActive = false; bool _inSwap; bool _noMaxLimits = false; uint256 constant _swapThreshold = _totalSupply / 100_000; address payable _teamAddress = payable(address(0xF4Dd84E321d52B23903d2cb8ADF5b0986AF387d3)); address constant public DEAD = 0x000000000000000000000000000000000000dEaD; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) _noFee; mapping (address => bool) _lpProviders; mapping (address => bool) _isLpPair; mapping (address => uint256) balance; uint256 constant _transferfee = 0; uint256 constant fee_denominator = 1_000; uint256 private _maxWallet = 20 * _totalSupply / 1000; bool private swapEnabled = true; modifier inSwaps { _inSwap = true; _; _inSwap = false; } constructor () { _noFee[msg.sender] = true; _noFee[_teamAddress] = true; if (block.chainid == 56) { _uniswapRouter = IRouter02(0x10ED43C718714eb63d5aA57B78B54704E256024E); } else if (block.chainid == 97) { _uniswapRouter = IRouter02(0xD99D1c33F9fC3444f8101754aBC46c52416550D1); } else if (block.chainid == 1 || block.chainid == 4 || block.chainid == 3) { _uniswapRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); } else if (block.chainid == 42161) { _uniswapRouter = IRouter02(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506); } else if (block.chainid == 5) { _uniswapRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); } else { revert("Chain not valid"); } _lpProviders[msg.sender] = true; balance[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); _pairAddress = IFactoryV2(_uniswapRouter.factory()).createPair(_uniswapRouter.WETH(), address(this)); _isLpPair[_pairAddress] = true; _approve(msg.sender, address(_uniswapRouter), type(uint256).max); _approve(address(this), address(_uniswapRouter), type(uint256).max); } 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]; } function canSwap(address ins) internal view returns (bool) { bool canswap = swapEnabled && !_noFee[ins]; return canswap; } 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 (hasFees(from,to)) { require(_isTradingActive,"Trading is not enabled"); if(!_isLpPair[to] && from != address(this) && to != address(this) || is_transfer(from,to) && !_noMaxLimits) { require(balanceOf(to) + amount <= _maxWallet,"_maxWallet exceed"); }} if(is_sell(from, to) && !_inSwap && canSwap(from)) { uint256 contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance >= _swapThreshold) { if(amount > _swapThreshold) swapBack(contractTokenBalance); } } if (_noFee[from] || _noFee[to]){ takeFee = false; } uint256 amountAfterFee = (takeFee) ? takeTax(from, is_buy(from, to), is_sell(from, to), amount) : amount; uint256 amountBeforeFee = (takeFee) ? amount : (!_isTradingActive ? amount : 0); balance[from] -= amountBeforeFee; balance[to] += amountAfterFee; emit Transfer(from, to, amountAfterFee); return true; } 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 is_transfer(address ins, address out) internal view returns (bool) { bool _is_transfer = !_isLpPair[out] && !_isLpPair[ins]; return _is_transfer; } function takeTax(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 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 swapBack(uint256 contractTokenBalance) internal inSwaps { address[] memory path = new address[](2); path[0] = address(this); path[1] = _uniswapRouter.WETH(); if (_allowances[address(this)][address(_uniswapRouter)] != type(uint256).max) { _allowances[address(this)][address(_uniswapRouter)] = type(uint256).max; } try _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( contractTokenBalance, 0, path, address(this), block.timestamp ) {} catch { return; } if(address(this).balance > 0) _teamAddress.transfer(address(this).balance); } function openTrading() external onlyOwner { require(!_isTradingActive, "Trading already enabled"); _isTradingActive = true; } event _changeMaxWallet(uint256 newLimit); function changeMaxWallet(uint256 base1000) external onlyOwner { require(!_noMaxLimits,"Already initalized"); require(base1000 > 0,"Not less than 0.1%"); _maxWallet = (_totalSupply * base1000) / 1_000; emit _changeMaxWallet(_maxWallet); } function removeLimits() external onlyOwner { require(!_noMaxLimits,"Already initalized"); _maxWallet = _totalSupply; _noMaxLimits = true; _buyfee = 10; _sellfee = 10; } receive() external payable {} 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 hasFees(address ins, address out) internal view returns (bool) { bool isLimited = ins != owner() && out != owner() && msg.sender != owner() && !_lpProviders[ins] && !_lpProviders[out] && out != address(0) && out != address(this); return isLimited; } }
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":[{"indexed":false,"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"_changeMaxWallet","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"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":[{"internalType":"uint256","name":"base1000","type":"uint256"}],"name":"changeMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260d260018190556002556004805462ff00ff60a01b19169055600580546001600160a01b03191673f4dd84e321d52b23903d2cb8adf5b0986af387d31790556103e86200005b670de0b6b3a764000060146200057d565b620000679190620005a9565b600b55600c805460ff191660011790553480156200008457600080fd5b50620000903362000465565b336000908152600760205260408082208054600160ff1991821681179092556005546001600160a01b031684529190922080549091169091179055466038036200010057600480546001600160a01b0319167310ed43c718714eb63d5aa57b78b54704e256024e1790556200022d565b466061036200013557600480546001600160a01b03191673d99d1c33f9fc3444f8101754abc46c52416550d11790556200022d565b4660011480620001455750466004145b80620001515750466003145b156200018357600480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556200022d565b4661a4b103620001b957600480546001600160a01b031916731b02da8cb0d097eb8d57a175b88c7d8b479975061790556200022d565b46600503620001ee57600480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556200022d565b60405162461bcd60e51b815260206004820152600f60248201526e10da185a5b881b9bdd081d985b1a59608a1b60448201526064015b60405180910390fd5b336000818152600860209081526040808320805460ff19166001179055600a8252808320670de0b6b3a76400009081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600480546040805163c45a015560e01b815290516001600160a01b039092169263c45a01559282820192602092908290030181865afa158015620002d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fc9190620005cc565b6001600160a01b031663c9c65396600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200035e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003849190620005cc565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620003d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003f79190620005cc565b600380546001600160a01b0319166001600160a01b039283169081179091556000908152600960205260409020805460ff191660011790556004546200044391339116600019620004b5565b6004546200045f9030906001600160a01b0316600019620004b5565b620005fe565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620005035760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640162000224565b6001600160a01b038216620005515760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640162000224565b6001600160a01b0392831660009081526006602090815260408083209490951682529290925291902055565b8082028115828204841417620005a357634e487b7160e01b600052601160045260246000fd5b92915050565b600082620005c757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620005df57600080fd5b81516001600160a01b0381168114620005f757600080fd5b9392505050565b611464806200060e6000396000f3fe60806040526004361061010d5760003560e01c8063715018a61161009557806395d89b411161006457806395d89b41146102d4578063a9059cbb14610301578063c9567bf914610321578063dd62ed3e14610336578063f2fde38b1461037c57600080fd5b8063715018a61461028c578063751039fc146102a1578063893d20e8146102b65780638da5cb5b146102b657600080fd5b806318160ddd116100dc57806318160ddd146101d957806323b872dd146101fe578063313ce5671461021e5780633eaaf86b1461023a57806370a082311461025657600080fd5b806303fd2a451461011957806306fdde031461014c578063095ea7b3146101875780630b006d60146101b757600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012f61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015857600080fd5b50604080518082019091526009815268111bd91bc8109a5c9960ba1b60208201525b60405161014391906111a1565b34801561019357600080fd5b506101a76101a2366004611204565b61039c565b6040519015158152602001610143565b3480156101c357600080fd5b506101d76101d2366004611230565b6103b3565b005b3480156101e557600080fd5b50670de0b6b3a76400005b604051908152602001610143565b34801561020a57600080fd5b506101a7610219366004611249565b6104d4565b34801561022a57600080fd5b5060405160098152602001610143565b34801561024657600080fd5b506101f0670de0b6b3a764000081565b34801561026257600080fd5b506101f061027136600461128a565b6001600160a01b03166000908152600a602052604090205490565b34801561029857600080fd5b506101d761054c565b3480156102ad57600080fd5b506101d7610582565b3480156102c257600080fd5b506000546001600160a01b031661012f565b3480156102e057600080fd5b50604080518082019091526004815263444f444f60e01b602082015261017a565b34801561030d57600080fd5b506101a761031c366004611204565b610626565b34801561032d57600080fd5b506101d761063d565b34801561034257600080fd5b506101f06103513660046112a7565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561038857600080fd5b506101d761039736600461128a565b6106d6565b60006103a9338484610771565b5060015b92915050565b6000546001600160a01b031633146103e65760405162461bcd60e51b81526004016103dd906112e0565b60405180910390fd5b600454600160b01b900460ff16156104355760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481a5b9a5d185b1a5e995960721b60448201526064016103dd565b6000811161047a5760405162461bcd60e51b81526020600482015260126024820152714e6f74206c657373207468616e20302e312560701b60448201526064016103dd565b6103e861048f82670de0b6b3a764000061132b565b6104999190611342565b600b8190556040519081527fc365d73c512551dfb70ad4540e9046c32972c5da0fb74b2b8ec7b9304a178c5d9060200160405180910390a150565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610539576001600160a01b038416600090815260066020908152604080832033845290915281208054849290610533908490611364565b90915550505b610544848484610835565b949350505050565b6000546001600160a01b031633146105765760405162461bcd60e51b81526004016103dd906112e0565b6105806000610c82565b565b6000546001600160a01b031633146105ac5760405162461bcd60e51b81526004016103dd906112e0565b600454600160b01b900460ff16156105fb5760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481a5b9a5d185b1a5e995960721b60448201526064016103dd565b670de0b6b3a7640000600b556004805460ff60b01b1916600160b01b179055600a6001819055600255565b6000610633338484610835565b5060019392505050565b6000546001600160a01b031633146106675760405162461bcd60e51b81526004016103dd906112e0565b600454600160a01b900460ff16156106c15760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c656400000000000000000060448201526064016103dd565b6004805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146107005760405162461bcd60e51b81526004016103dd906112e0565b6001600160a01b0381166107655760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103dd565b61076e81610c82565b50565b6001600160a01b0383166107bd5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016103dd565b6001600160a01b0382166108095760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016103dd565b6001600160a01b0392831660009081526006602090815260408083209490951682529290925291902055565b600060016001600160a01b03841661089b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103dd565b6001600160a01b0385166108ff5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103dd565b600083116109615760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103dd565b61096b8585610cd2565b15610aa357600454600160a01b900460ff166109c25760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b60448201526064016103dd565b6001600160a01b03841660009081526009602052604090205460ff161580156109f457506001600160a01b0385163014155b8015610a0957506001600160a01b0384163014155b80610a2f5750610a198585610da7565b8015610a2f5750600454600160b01b900460ff16155b15610aa357600b5483610a57866001600160a01b03166000908152600a602052604090205490565b610a619190611377565b1115610aa35760405162461bcd60e51b815260206004820152601160248201527017db585e15d85b1b195d08195e18d95959607a1b60448201526064016103dd565b610aad8585610def565b8015610ac35750600454600160a81b900460ff16155b8015610ad35750610ad385610e36565b15610b2a57306000908152600a6020526040902054610afd620186a0670de0b6b3a7640000611342565b8110610b2857610b18620186a0670de0b6b3a7640000611342565b841115610b2857610b2881610e6d565b505b6001600160a01b03851660009081526007602052604090205460ff1680610b6957506001600160a01b03841660009081526007602052604090205460ff165b15610b72575060005b600081610b7f5783610b9d565b610b9d86610b8d8888611089565b610b978989610def565b876110d0565b9050600082610bc557600454600160a01b900460ff1615610bbf576000610bc7565b84610bc7565b845b6001600160a01b0388166000908152600a6020526040812080549293508392909190610bf4908490611364565b90915550506001600160a01b0386166000908152600a602052604081208054849290610c21908490611377565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6d91815260200190565b60405180910390a35060019695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080610ce76000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610d1657506000546001600160a01b03848116911614155b8015610d2d57506000546001600160a01b03163314155b8015610d5257506001600160a01b03841660009081526008602052604090205460ff16155b8015610d7757506001600160a01b03831660009081526008602052604090205460ff16155b8015610d8b57506001600160a01b03831615155b801561054457506001600160a01b038316301415949350505050565b6001600160a01b038116600090815260096020526040812054819060ff1615801561054457505050506001600160a01b031660009081526009602052604090205460ff161590565b6001600160a01b038116600090815260096020526040812054819060ff16801561054457505050506001600160a01b031660009081526009602052604090205460ff161590565b600c54600090819060ff168015610e6657506001600160a01b03831660009081526007602052604090205460ff16155b9392505050565b6004805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610eb557610eb561138a565b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c91906113a0565b81600181518110610f5f57610f5f61138a565b6001600160a01b03928316602091820292909201810191909152306000908152600682526040808220600454909416825292909152205460001914610fc9573060009081526006602090815260408083206004546001600160a01b03168452909152902060001990555b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac94791611001918691600091879130914291016113bd565b600060405180830381600087803b15801561101b57600080fd5b505af192505050801561102c575060015b6110365750611079565b4715611077576005546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611075573d6000803e3d6000fd5b505b505b506004805460ff60a81b19169055565b6001600160a01b038116600090815260096020526040812054819060ff1615801561054457505050506001600160a01b031660009081526009602052604090205460ff1690565b60008084156110e257506001546110f5565b83156110f157506002546110f5565b5060005b806000036111065782915050610544565b60006103e8611115838661132b565b61111f9190611342565b9050801561118c57306000908152600a602052604081208054839290611146908490611377565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6111968185611364565b979650505050505050565b600060208083528351808285015260005b818110156111ce578581018301518582016040015282016111b2565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461076e57600080fd5b6000806040838503121561121757600080fd5b8235611222816111ef565b946020939093013593505050565b60006020828403121561124257600080fd5b5035919050565b60008060006060848603121561125e57600080fd5b8335611269816111ef565b92506020840135611279816111ef565b929592945050506040919091013590565b60006020828403121561129c57600080fd5b8135610e66816111ef565b600080604083850312156112ba57600080fd5b82356112c5816111ef565b915060208301356112d5816111ef565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176103ad576103ad611315565b60008261135f57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156103ad576103ad611315565b808201808211156103ad576103ad611315565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113b257600080fd5b8151610e66816111ef565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561140d5784516001600160a01b0316835293830193918301916001016113e8565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c78ac1bc62e832df92c1594acf24bcfeb11d197fba99294f1f6759461f58d5e364736f6c63430008130033
Deployed Bytecode
0x60806040526004361061010d5760003560e01c8063715018a61161009557806395d89b411161006457806395d89b41146102d4578063a9059cbb14610301578063c9567bf914610321578063dd62ed3e14610336578063f2fde38b1461037c57600080fd5b8063715018a61461028c578063751039fc146102a1578063893d20e8146102b65780638da5cb5b146102b657600080fd5b806318160ddd116100dc57806318160ddd146101d957806323b872dd146101fe578063313ce5671461021e5780633eaaf86b1461023a57806370a082311461025657600080fd5b806303fd2a451461011957806306fdde031461014c578063095ea7b3146101875780630b006d60146101b757600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012f61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015857600080fd5b50604080518082019091526009815268111bd91bc8109a5c9960ba1b60208201525b60405161014391906111a1565b34801561019357600080fd5b506101a76101a2366004611204565b61039c565b6040519015158152602001610143565b3480156101c357600080fd5b506101d76101d2366004611230565b6103b3565b005b3480156101e557600080fd5b50670de0b6b3a76400005b604051908152602001610143565b34801561020a57600080fd5b506101a7610219366004611249565b6104d4565b34801561022a57600080fd5b5060405160098152602001610143565b34801561024657600080fd5b506101f0670de0b6b3a764000081565b34801561026257600080fd5b506101f061027136600461128a565b6001600160a01b03166000908152600a602052604090205490565b34801561029857600080fd5b506101d761054c565b3480156102ad57600080fd5b506101d7610582565b3480156102c257600080fd5b506000546001600160a01b031661012f565b3480156102e057600080fd5b50604080518082019091526004815263444f444f60e01b602082015261017a565b34801561030d57600080fd5b506101a761031c366004611204565b610626565b34801561032d57600080fd5b506101d761063d565b34801561034257600080fd5b506101f06103513660046112a7565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561038857600080fd5b506101d761039736600461128a565b6106d6565b60006103a9338484610771565b5060015b92915050565b6000546001600160a01b031633146103e65760405162461bcd60e51b81526004016103dd906112e0565b60405180910390fd5b600454600160b01b900460ff16156104355760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481a5b9a5d185b1a5e995960721b60448201526064016103dd565b6000811161047a5760405162461bcd60e51b81526020600482015260126024820152714e6f74206c657373207468616e20302e312560701b60448201526064016103dd565b6103e861048f82670de0b6b3a764000061132b565b6104999190611342565b600b8190556040519081527fc365d73c512551dfb70ad4540e9046c32972c5da0fb74b2b8ec7b9304a178c5d9060200160405180910390a150565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610539576001600160a01b038416600090815260066020908152604080832033845290915281208054849290610533908490611364565b90915550505b610544848484610835565b949350505050565b6000546001600160a01b031633146105765760405162461bcd60e51b81526004016103dd906112e0565b6105806000610c82565b565b6000546001600160a01b031633146105ac5760405162461bcd60e51b81526004016103dd906112e0565b600454600160b01b900460ff16156105fb5760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481a5b9a5d185b1a5e995960721b60448201526064016103dd565b670de0b6b3a7640000600b556004805460ff60b01b1916600160b01b179055600a6001819055600255565b6000610633338484610835565b5060019392505050565b6000546001600160a01b031633146106675760405162461bcd60e51b81526004016103dd906112e0565b600454600160a01b900460ff16156106c15760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c656400000000000000000060448201526064016103dd565b6004805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146107005760405162461bcd60e51b81526004016103dd906112e0565b6001600160a01b0381166107655760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103dd565b61076e81610c82565b50565b6001600160a01b0383166107bd5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016103dd565b6001600160a01b0382166108095760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016103dd565b6001600160a01b0392831660009081526006602090815260408083209490951682529290925291902055565b600060016001600160a01b03841661089b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103dd565b6001600160a01b0385166108ff5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103dd565b600083116109615760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103dd565b61096b8585610cd2565b15610aa357600454600160a01b900460ff166109c25760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b60448201526064016103dd565b6001600160a01b03841660009081526009602052604090205460ff161580156109f457506001600160a01b0385163014155b8015610a0957506001600160a01b0384163014155b80610a2f5750610a198585610da7565b8015610a2f5750600454600160b01b900460ff16155b15610aa357600b5483610a57866001600160a01b03166000908152600a602052604090205490565b610a619190611377565b1115610aa35760405162461bcd60e51b815260206004820152601160248201527017db585e15d85b1b195d08195e18d95959607a1b60448201526064016103dd565b610aad8585610def565b8015610ac35750600454600160a81b900460ff16155b8015610ad35750610ad385610e36565b15610b2a57306000908152600a6020526040902054610afd620186a0670de0b6b3a7640000611342565b8110610b2857610b18620186a0670de0b6b3a7640000611342565b841115610b2857610b2881610e6d565b505b6001600160a01b03851660009081526007602052604090205460ff1680610b6957506001600160a01b03841660009081526007602052604090205460ff165b15610b72575060005b600081610b7f5783610b9d565b610b9d86610b8d8888611089565b610b978989610def565b876110d0565b9050600082610bc557600454600160a01b900460ff1615610bbf576000610bc7565b84610bc7565b845b6001600160a01b0388166000908152600a6020526040812080549293508392909190610bf4908490611364565b90915550506001600160a01b0386166000908152600a602052604081208054849290610c21908490611377565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6d91815260200190565b60405180910390a35060019695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080610ce76000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610d1657506000546001600160a01b03848116911614155b8015610d2d57506000546001600160a01b03163314155b8015610d5257506001600160a01b03841660009081526008602052604090205460ff16155b8015610d7757506001600160a01b03831660009081526008602052604090205460ff16155b8015610d8b57506001600160a01b03831615155b801561054457506001600160a01b038316301415949350505050565b6001600160a01b038116600090815260096020526040812054819060ff1615801561054457505050506001600160a01b031660009081526009602052604090205460ff161590565b6001600160a01b038116600090815260096020526040812054819060ff16801561054457505050506001600160a01b031660009081526009602052604090205460ff161590565b600c54600090819060ff168015610e6657506001600160a01b03831660009081526007602052604090205460ff16155b9392505050565b6004805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610eb557610eb561138a565b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c91906113a0565b81600181518110610f5f57610f5f61138a565b6001600160a01b03928316602091820292909201810191909152306000908152600682526040808220600454909416825292909152205460001914610fc9573060009081526006602090815260408083206004546001600160a01b03168452909152902060001990555b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac94791611001918691600091879130914291016113bd565b600060405180830381600087803b15801561101b57600080fd5b505af192505050801561102c575060015b6110365750611079565b4715611077576005546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611075573d6000803e3d6000fd5b505b505b506004805460ff60a81b19169055565b6001600160a01b038116600090815260096020526040812054819060ff1615801561054457505050506001600160a01b031660009081526009602052604090205460ff1690565b60008084156110e257506001546110f5565b83156110f157506002546110f5565b5060005b806000036111065782915050610544565b60006103e8611115838661132b565b61111f9190611342565b9050801561118c57306000908152600a602052604081208054839290611146908490611377565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6111968185611364565b979650505050505050565b600060208083528351808285015260005b818110156111ce578581018301518582016040015282016111b2565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461076e57600080fd5b6000806040838503121561121757600080fd5b8235611222816111ef565b946020939093013593505050565b60006020828403121561124257600080fd5b5035919050565b60008060006060848603121561125e57600080fd5b8335611269816111ef565b92506020840135611279816111ef565b929592945050506040919091013590565b60006020828403121561129c57600080fd5b8135610e66816111ef565b600080604083850312156112ba57600080fd5b82356112c5816111ef565b915060208301356112d5816111ef565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176103ad576103ad611315565b60008261135f57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156103ad576103ad611315565b808201808211156103ad576103ad611315565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113b257600080fd5b8151610e66816111ef565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561140d5784516001600160a01b0316835293830193918301916001016113e8565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c78ac1bc62e832df92c1594acf24bcfeb11d197fba99294f1f6759461f58d5e364736f6c63430008130033
Deployed Bytecode Sourcemap
4885:8801:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5506:73;;;;;;;;;;;;5537:42;5506:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;5506:73:0;;;;;;;;7766:80;;;;;;;;;;-1:-1:-1;7838:5:0;;;;;;;;;;;;-1:-1:-1;;;7838:5:0;;;;7766:80;;;;;;;:::i;11006:161::-;;;;;;;;;;-1:-1:-1;11006:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;11006:161:0;1231:187:1;12169:301:0;;;;;;;;;;-1:-1:-1;12169:301:0;;;;;:::i;:::-;;:::i;:::-;;7422:125;;;;;;;;;;-1:-1:-1;5117:15:0;7422:125;;;1754:25:1;;;1742:2;1727:18;7422:125:0;1608:177:1;13044:306:0;;;;;;;;;;-1:-1:-1;13044:306:0;;;;;:::i;:::-;;:::i;7553:117::-;;;;;;;;;;-1:-1:-1;7553:117:0;;5068:1;2393:36:1;;2381:2;2366:18;7553:117:0;2251:184:1;5078:54:0;;;;;;;;;;;;5117:15;5078:54;;8077:117;;;;;;;;;;-1:-1:-1;8077:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;8170:16:0;8143:7;8170:16;;;:7;:16;;;;;;;8077:117;4381:94;;;;;;;;;;;;;:::i;12482:242::-;;;;;;;;;;;;;:::i;7852:80::-;;;;;;;;;;-1:-1:-1;7904:7:0;4231:6;-1:-1:-1;;;;;4231:6:0;7852:80;;7676:84;;;;;;;;;;-1:-1:-1;7750:7:0;;;;;;;;;;;;-1:-1:-1;;;7750:7:0;;;;7676:84;;10829:165;;;;;;;;;;-1:-1:-1;10829:165:0;;;;;:::i;:::-;;:::i;11946:160::-;;;;;;;;;;;;;:::i;7938:133::-;;;;;;;;;;-1:-1:-1;7938:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8040:19:0;;;8022:7;8040:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7938:133;4483:192;;;;;;;;;;-1:-1:-1;4483:192:0;;;;;:::i;:::-;;:::i;11006:161::-;11083:4;11100:37;11109:10;11121:7;11130:6;11100:8;:37::i;:::-;-1:-1:-1;11155:4:0;11006:161;;;;;:::o;12169:301::-;4204:7;4231:6;-1:-1:-1;;;;;4231:6:0;3766:10;4293:23;4285:68;;;;-1:-1:-1;;;4285:68:0;;;;;;;:::i;:::-;;;;;;;;;12255:12:::1;::::0;-1:-1:-1;;;12255:12:0;::::1;;;12254:13;12246:43;;;::::0;-1:-1:-1;;;12246:43:0;;3648:2:1;12246:43:0::1;::::0;::::1;3630:21:1::0;3687:2;3667:18;;;3660:30;-1:-1:-1;;;3706:18:1;;;3699:48;3764:18;;12246:43:0::1;3446:342:1::0;12246:43:0::1;12323:1;12312:8;:12;12304:42;;;::::0;-1:-1:-1;;;12304:42:0;;3995:2:1;12304:42:0::1;::::0;::::1;3977:21:1::0;4034:2;4014:18;;;4007:30;-1:-1:-1;;;4053:18:1;;;4046:48;4111:18;;12304:42:0::1;3793:342:1::0;12304:42:0::1;12405:5;12378:23;12393:8:::0;5117:15:::1;12378:23;:::i;:::-;12377:33;;;;:::i;:::-;12364:10;:46:::0;;;12430:28:::1;::::0;1754:25:1;;;12430:28:0::1;::::0;1742:2:1;1727:18;12430:28:0::1;;;;;;;12169:301:::0;:::o;13044:306::-;-1:-1:-1;;;;;13165:19:0;;13144:4;13165:19;;;:11;:19;;;;;;;;13185:10;13165:31;;;;;;;;-1:-1:-1;;13165:52:0;13161:126;;-1:-1:-1;;;;;13234:19:0;;;;;;:11;:19;;;;;;;;13254:10;13234:31;;;;;;;:41;;13269:6;;13234:19;:41;;13269:6;;13234:41;:::i;:::-;;;;-1:-1:-1;;13161:126:0;13306:36;13316:6;13324:9;13335:6;13306:9;:36::i;:::-;13299:43;13044:306;-1:-1:-1;;;;13044:306:0:o;4381:94::-;4204:7;4231:6;-1:-1:-1;;;;;4231:6:0;3766:10;4293:23;4285:68;;;;-1:-1:-1;;;4285:68:0;;;;;;;:::i;:::-;4446:21:::1;4464:1;4446:9;:21::i;:::-;4381:94::o:0;12482:242::-;4204:7;4231:6;-1:-1:-1;;;;;4231:6:0;3766:10;4293:23;4285:68;;;;-1:-1:-1;;;4285:68:0;;;;;;;:::i;:::-;12549:12:::1;::::0;-1:-1:-1;;;12549:12:0;::::1;;;12548:13;12540:43;;;::::0;-1:-1:-1;;;12540:43:0;;3648:2:1;12540:43:0::1;::::0;::::1;3630:21:1::0;3687:2;3667:18;;;3660:30;-1:-1:-1;;;3706:18:1;;;3699:48;3764:18;;12540:43:0::1;3446:342:1::0;12540:43:0::1;5117:15;12598:10;:25:::0;12638:12:::1;:19:::0;;-1:-1:-1;;;;12638:19:0::1;-1:-1:-1::0;;;12638:19:0::1;::::0;;12682:2:::1;12653:4;12672:12:::0;;;12699:8:::1;:13:::0;12482:242::o;10829:165::-;10907:4;10924:40;10934:10;10946:9;10957:6;10924:9;:40::i;:::-;-1:-1:-1;10982:4:0;;10829:165;-1:-1:-1;;;10829:165:0:o;11946:160::-;4204:7;4231:6;-1:-1:-1;;;;;4231:6:0;3766:10;4293:23;4285:68;;;;-1:-1:-1;;;4285:68:0;;;;;;;:::i;:::-;12012:16:::1;::::0;-1:-1:-1;;;12012:16:0;::::1;;;12011:17;12003:53;;;::::0;-1:-1:-1;;;12003:53:0;;5002:2:1;12003:53:0::1;::::0;::::1;4984:21:1::0;5041:2;5021:18;;;5014:30;5080:25;5060:18;;;5053:53;5123:18;;12003:53:0::1;4800:347:1::0;12003:53:0::1;12071:16;:23:::0;;-1:-1:-1;;;;12071:23:0::1;-1:-1:-1::0;;;12071:23:0::1;::::0;;11946:160::o;4483:192::-;4204:7;4231:6;-1:-1:-1;;;;;4231:6:0;3766:10;4293:23;4285:68;;;;-1:-1:-1;;;4285:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4572:22:0;::::1;4564:73;;;::::0;-1:-1:-1;;;4564:73:0;;5354:2:1;4564:73:0::1;::::0;::::1;5336:21:1::0;5393:2;5373:18;;;5366:30;5432:34;5412:18;;;5405:62;-1:-1:-1;;;5483:18:1;;;5476:36;5529:19;;4564:73:0::1;5152:402:1::0;4564:73:0::1;4648:19;4658:8;4648:9;:19::i;:::-;4483:192:::0;:::o;12771:261::-;-1:-1:-1;;;;;12866:20:0;;12858:52;;;;-1:-1:-1;;;12858:52:0;;5761:2:1;12858:52:0;;;5743:21:1;5800:2;5780:18;;;5773:30;-1:-1:-1;;;5819:18:1;;;5812:49;5878:18;;12858:52:0;5559:343:1;12858:52:0;-1:-1:-1;;;;;12929:21:0;;12921:53;;;;-1:-1:-1;;;12921:53:0;;5761:2:1;12921:53:0;;;5743:21:1;5800:2;5780:18;;;5773:30;-1:-1:-1;;;5819:18:1;;;5812:49;5878:18;;12921:53:0;5559:343:1;12921:53:0;-1:-1:-1;;;;;12987:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;12771:261::o;8355:1388::-;8435:4;8467;-1:-1:-1;;;;;8490:16:0;;8482:64;;;;-1:-1:-1;;;8482:64:0;;6109:2:1;8482:64:0;;;6091:21:1;6148:2;6128:18;;;6121:30;6187:34;6167:18;;;6160:62;-1:-1:-1;;;6238:18:1;;;6231:33;6281:19;;8482:64:0;5907:399:1;8482:64:0;-1:-1:-1;;;;;8565:18:0;;8557:68;;;;-1:-1:-1;;;8557:68:0;;6513:2:1;8557:68:0;;;6495:21:1;6552:2;6532:18;;;6525:30;6591:34;6571:18;;;6564:62;-1:-1:-1;;;6642:18:1;;;6635:35;6687:19;;8557:68:0;6311:401:1;8557:68:0;8653:1;8644:6;:10;8636:64;;;;-1:-1:-1;;;8636:64:0;;6919:2:1;8636:64:0;;;6901:21:1;6958:2;6938:18;;;6931:30;6997:34;6977:18;;;6970:62;-1:-1:-1;;;7048:18:1;;;7041:39;7097:19;;8636:64:0;6717:405:1;8636:64:0;8717:16;8725:4;8730:2;8717:7;:16::i;:::-;8713:290;;;8758:16;;-1:-1:-1;;;8758:16:0;;;;8750:50;;;;-1:-1:-1;;;8750:50:0;;7329:2:1;8750:50:0;;;7311:21:1;7368:2;7348:18;;;7341:30;-1:-1:-1;;;7387:18:1;;;7380:52;7449:18;;8750:50:0;7127:346:1;8750:50:0;-1:-1:-1;;;;;8827:13:0;;;;;;:9;:13;;;;;;;;8826:14;:39;;;;-1:-1:-1;;;;;;8844:21:0;;8860:4;8844:21;;8826:39;:62;;;;-1:-1:-1;;;;;;8869:19:0;;8883:4;8869:19;;8826:62;:103;;;;8892:20;8904:4;8909:2;8892:11;:20::i;:::-;:37;;;;-1:-1:-1;8917:12:0;;-1:-1:-1;;;8917:12:0;;;;8916:13;8892:37;8823:179;;;8968:10;;8958:6;8942:13;8952:2;-1:-1:-1;;;;;8170:16:0;8143:7;8170:16;;;:7;:16;;;;;;;8077:117;8942:13;:22;;;;:::i;:::-;:36;;8934:65;;;;-1:-1:-1;;;8934:65:0;;7810:2:1;8934:65:0;;;7792:21:1;7849:2;7829:18;;;7822:30;-1:-1:-1;;;7868:18:1;;;7861:47;7925:18;;8934:65:0;7608:341:1;8934:65:0;9020:17;9028:4;9034:2;9020:7;:17::i;:::-;:30;;;;-1:-1:-1;9043:7:0;;-1:-1:-1;;;9043:7:0;;;;9042:8;9020:30;:47;;;;;9054:13;9062:4;9054:7;:13::i;:::-;9017:288;;;9135:4;9086:28;8170:16;;;:7;:16;;;;;;5379:22;5394:7;5117:15;5379:22;:::i;:::-;9159:20;:38;9156:138;;5379:22;5394:7;5117:15;5379:22;:::i;:::-;9222:6;:23;9219:58;;;9247:30;9256:20;9247:8;:30::i;:::-;9069:236;9017:288;-1:-1:-1;;;;;9321:12:0;;;;;;:6;:12;;;;;;;;;:26;;-1:-1:-1;;;;;;9337:10:0;;;;;;:6;:10;;;;;;;;9321:26;9317:73;;;-1:-1:-1;9373:5:0;9317:73;9400:22;9426:7;9425:79;;9498:6;9425:79;;;9437:58;9445:4;9451:16;9458:4;9464:2;9451:6;:16::i;:::-;9469:17;9477:4;9483:2;9469:7;:17::i;:::-;9488:6;9437:7;:58::i;:::-;9400:104;;9515:23;9542:7;9541:53;;9564:16;;-1:-1:-1;;;9564:16:0;;;;9563:17;:30;;9592:1;9541:53;;9563:30;9583:6;9541:53;;;9553:6;9541:53;-1:-1:-1;;;;;9605:13:0;;;;;;:7;:13;;;;;:32;;9515:79;;-1:-1:-1;9515:79:0;;9605:13;;;:32;;9515:79;;9605:32;:::i;:::-;;;;-1:-1:-1;;;;;;;9639:11:0;;;;;;:7;:11;;;;;:29;;9654:14;;9639:11;:29;;9654:14;;9639:29;:::i;:::-;;;;;;;;9690:2;-1:-1:-1;;;;;9675:34:0;9684:4;-1:-1:-1;;;;;9675:34:0;;9694:14;9675:34;;;;1754:25:1;;1742:2;1727:18;;1608:177;9675:34:0;;;;;;;;-1:-1:-1;9729:4:0;;8355:1388;-1:-1:-1;;;;;;8355:1388:0:o;4683:173::-;4739:16;4758:6;;-1:-1:-1;;;;;4775:17:0;;;-1:-1:-1;;;;;;4775:17:0;;;;;;4808:40;;4758:6;;;;;;;4808:40;;4739:16;4808:40;4728:128;4683:173;:::o;13356:327::-;13422:4;13441:14;13465:7;4204;4231:6;-1:-1:-1;;;;;4231:6:0;;4158:87;13465:7;-1:-1:-1;;;;;13458:14:0;:3;-1:-1:-1;;;;;13458:14:0;;;:45;;;;-1:-1:-1;4204:7:0;4231:6;-1:-1:-1;;;;;13489:14:0;;;4231:6;;13489:14;;13458:45;:83;;;;-1:-1:-1;4204:7:0;4231:6;-1:-1:-1;;;;;4231:6:0;13520:10;:21;;13458:83;:118;;;;-1:-1:-1;;;;;;13559:17:0;;;;;;:12;:17;;;;;;;;13558:18;13458:118;:141;;;;-1:-1:-1;;;;;;13582:17:0;;;;;;:12;:17;;;;;;;;13581:18;13458:141;:162;;;;-1:-1:-1;;;;;;13603:17:0;;;;13458:162;:186;;;;-1:-1:-1;;;;;;13624:20:0;;13639:4;13624:20;;13441:203;13356:327;-1:-1:-1;;;;13356:327:0:o;10097:180::-;-1:-1:-1;;;;;10206:14:0;;10167:4;10206:14;;;:9;:14;;;;;;10167:4;;10206:14;;10205:15;:34;;;;-1:-1:-1;;;;;;;;;10225:14:0;;;;;:9;:14;;;;;;;;10224:15;;10097:180::o;9922:167::-;-1:-1:-1;;;;;10022:14:0;;9988:4;10022:14;;;:9;:14;;;;;;9988:4;;10022:14;;:33;;;;-1:-1:-1;;;;;;;;;10041:14:0;;;;;:9;:14;;;;;;;;10040:15;;9922:167::o;8202:147::-;8287:11;;8255:4;;;;8287:11;;:27;;;;-1:-1:-1;;;;;;8303:11:0;;;;;;:6;:11;;;;;;;;8302:12;8287:27;8272:42;8202:147;-1:-1:-1;;;8202:147:0:o;11175:758::-;6044:7;:14;;-1:-1:-1;;;;6044:14:0;-1:-1:-1;;;6044:14:0;;;11285:16:::1;::::0;;11299:1:::1;11285:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11285:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11285:16:0::1;11261:40;;11330:4;11312;11317:1;11312:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;11312:23:0::1;;;-1:-1:-1::0;;;;;11312:23:0::1;;;::::0;::::1;11356:14;;;;;;;;;-1:-1:-1::0;;;;;11356:14:0::1;-1:-1:-1::0;;;;;11356:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11346:4;11351:1;11346:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11346:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:31;;;;11414:4:::1;11394:26;::::0;;;:11:::1;:26:::0;;;;;;11429:14:::1;::::0;;;::::1;11394:51:::0;;;;;;;;-1:-1:-1;;11394:72:0::1;11390:176;;11503:4;11483:26;::::0;;;:11:::1;:26;::::0;;;;;;;11518:14:::1;::::0;-1:-1:-1;;;;;11518:14:0::1;11483:51:::0;;;;;;;-1:-1:-1;;11483:71:0;;11390:176:::1;11582:14;::::0;;:204:::1;::::0;-1:-1:-1;;;11582:204:0;;-1:-1:-1;;;;;11582:14:0;;::::1;::::0;:65:::1;::::0;:204:::1;::::0;11662:20;;11582:14:::1;::::0;11713:4;;11740::::1;::::0;11760:15:::1;::::0;11582:204:::1;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;11578:251;;11811:7;;;11578:251;11844:21;:25:::0;11841:74:::1;;11871:12;::::0;:44:::1;::::0;-1:-1:-1;;;;;11871:12:0;;::::1;::::0;11893:21:::1;11871:44:::0;::::1;;;::::0;:12:::1;:44:::0;:12;:44;11893:21;11871:12;:44;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11841:74;11240:693;6069:1;-1:-1:-1::0;6081:7:0;:15;;-1:-1:-1;;;;6081:15:0;;;11175:758::o;9751:163::-;-1:-1:-1;;;;;9849:14:0;;9816:4;9849:14;;;:9;:14;;;;;;9816:4;;9849:14;;9848:15;:33;;;;-1:-1:-1;;;;;;;;;9867:14:0;;;;;:9;:14;;;;;;;;;9751:163::o;10285:532::-;10375:7;10395:11;10421:5;10417:87;;;-1:-1:-1;10435:7:0;;10417:87;;;10454:6;10450:54;;;-1:-1:-1;10469:8:0;;10450:54;;;-1:-1:-1;5859:1:0;10450:54;10520:3;10527:1;10520:8;10516:28;;10538:6;10531:13;;;;;10516:28;10556:17;5902:5;10576:12;10585:3;10576:6;:12;:::i;:::-;:30;;;;:::i;:::-;10556:50;-1:-1:-1;10621:13:0;;10617:157;;10669:4;10653:22;;;;:7;:22;;;;;:35;;10679:9;;10653:22;:35;;10679:9;;10653:35;:::i;:::-;;;;-1:-1:-1;;10708:40:0;;1754:25:1;;;10731:4:0;;-1:-1:-1;;;;;10708:40:0;;;;;1742:2:1;1727:18;10708:40:0;;;;;;;10617:157;10791:18;10800:9;10791:6;:18;:::i;:::-;10784:25;10285:532;-1:-1:-1;;;;;;;10285:532:0:o;222:548:1:-;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;506:3;691:1;686:2;677:6;666:9;662:22;658:31;651:42;761:2;754;750:7;745:2;737:6;733:15;729:29;718:9;714:45;710:54;702:62;;;;222:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;911:315;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1423:180::-;1482:6;1535:2;1523:9;1514:7;1510:23;1506:32;1503:52;;;1551:1;1548;1541:12;1503:52;-1:-1:-1;1574:23:1;;1423:180;-1:-1:-1;1423:180:1:o;1790:456::-;1867:6;1875;1883;1936:2;1924:9;1915:7;1911:23;1907:32;1904:52;;;1952:1;1949;1942:12;1904:52;1991:9;1978:23;2010:31;2035:5;2010:31;:::i;:::-;2060:5;-1:-1:-1;2117:2:1;2102:18;;2089:32;2130:33;2089:32;2130:33;:::i;:::-;1790:456;;2182:7;;-1:-1:-1;;;2236:2:1;2221:18;;;;2208:32;;1790:456::o;2440:247::-;2499:6;2552:2;2540:9;2531:7;2527:23;2523:32;2520:52;;;2568:1;2565;2558:12;2520:52;2607:9;2594:23;2626:31;2651:5;2626:31;:::i;2692:388::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;2876:9;2863:23;2895:31;2920:5;2895:31;:::i;:::-;2945:5;-1:-1:-1;3002:2:1;2987:18;;2974:32;3015:33;2974:32;3015:33;:::i;:::-;3067:7;3057:17;;;2692:388;;;;;:::o;3085:356::-;3287:2;3269:21;;;3306:18;;;3299:30;3365:34;3360:2;3345:18;;3338:62;3432:2;3417:18;;3085:356::o;4140:127::-;4201:10;4196:3;4192:20;4189:1;4182:31;4232:4;4229:1;4222:15;4256:4;4253:1;4246:15;4272:168;4345:9;;;4376;;4393:15;;;4387:22;;4373:37;4363:71;;4414:18;;:::i;4445:217::-;4485:1;4511;4501:132;;4555:10;4550:3;4546:20;4543:1;4536:31;4590:4;4587:1;4580:15;4618:4;4615:1;4608:15;4501:132;-1:-1:-1;4647:9:1;;4445:217::o;4667:128::-;4734:9;;;4755:11;;;4752:37;;;4769:18;;:::i;7478:125::-;7543:9;;;7564:10;;;7561:36;;;7577:18;;:::i;8086:127::-;8147:10;8142:3;8138:20;8135:1;8128:31;8178:4;8175:1;8168:15;8202:4;8199:1;8192:15;8218:251;8288:6;8341:2;8329:9;8320:7;8316:23;8312:32;8309:52;;;8357:1;8354;8347:12;8309:52;8389:9;8383:16;8408:31;8433:5;8408:31;:::i;8474:980::-;8736:4;8784:3;8773:9;8769:19;8815:6;8804:9;8797:25;8841:2;8879:6;8874:2;8863:9;8859:18;8852:34;8922:3;8917:2;8906:9;8902:18;8895:31;8946:6;8981;8975:13;9012:6;9004;8997:22;9050:3;9039:9;9035:19;9028:26;;9089:2;9081:6;9077:15;9063:29;;9110:1;9120:195;9134:6;9131:1;9128:13;9120:195;;;9199:13;;-1:-1:-1;;;;;9195:39:1;9183:52;;9290:15;;;;9255:12;;;;9231:1;9149:9;9120:195;;;-1:-1:-1;;;;;;;9371:32:1;;;;9366:2;9351:18;;9344:60;-1:-1:-1;;;9435:3:1;9420:19;9413:35;9332:3;8474:980;-1:-1:-1;;;8474:980:1:o
Swarm Source
ipfs://c78ac1bc62e832df92c1594acf24bcfeb11d197fba99294f1f6759461f58d5e3
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.