Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000 ERC20 ***
Holders
25
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.000000000034097532 ERC20 ***Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DaiDaiShark
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-03 */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.20; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } 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) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library Address { function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (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"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function waiveOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } 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; } contract DaiDaiShark is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private _name = "DaiDaiShark"; string private _symbol = "DDS"; uint8 private _decimals = 18; address payable public marketingWallet = payable(0x000000000000000000000000000000000000dEaD); address public deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isMarketPair; uint256 public _buyMarketingFee = 0; uint256 public _sellMarketingFee = 0; uint256 public _totalTaxIfBuying = _buyMarketingFee; uint256 public _totalTaxIfSelling = _sellMarketingFee; uint256 private _totalSupply = 100000000 * 10 ** _decimals; uint256 private minimumTokensBeforeSwap = 20000 * 10 ** _decimals; uint256 public startBlock; bool public tradeOpen = false; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; isExcludedFromFee[owner()] = true; isExcludedFromFee[address(this)] = true; isExcludedFromFee[deadAddress] = true; isExcludedFromFee[marketingWallet] = true; isMarketPair[address(uniswapPair)] = true; _balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function setBuyTaxes(uint256 buyMarketingFeeNew) external onlyOwner(){ _buyMarketingFee = buyMarketingFeeNew; _totalTaxIfBuying = _buyMarketingFee; require(_totalTaxIfBuying <= 10 , "Max buy fee under 10%"); } function setsellTaxes(uint256 sellMarketingFeeNew) external onlyOwner(){ _sellMarketingFee = sellMarketingFeeNew; _totalTaxIfSelling = _sellMarketingFee; require(_totalTaxIfSelling <= 10 , "Max sell fee under 10%"); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } 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; } function minimumTokensBeforeSwapAmount() public view returns (uint256) { return minimumTokensBeforeSwap; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { 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 setIsExcludedFromFee(address account, bool newValue) public onlyOwner { isExcludedFromFee[account] = newValue; } function setMarketPairStatus(address account, bool newValue) public onlyOwner { isMarketPair[account] = newValue; } function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() { minimumTokensBeforeSwap = newLimit; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } function setMarketingWallet(address newAddress) external onlyOwner() { marketingWallet = payable(newAddress); } function OpenTrade() external onlyOwner{ tradeOpen = true; startBlock = block.number; } //to recieve ETH from uniswapV2Router when swaping receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(tradeOpen || isExcludedFromFee[sender] || isExcludedFromFee[recipient], "Trading is not open yet"); // antibot if(!isMarketPair[recipient] && isMarketPair[sender] && block.number < startBlock + 3){ uint256 botFeeAmount = amount.mul(95).div(100); _basicTransfer(sender, marketingWallet, botFeeAmount); _basicTransfer(sender, recipient, amount-botFeeAmount); } if(inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } else { uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled && recipient!=owner()) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ? amount : takeFee(sender,recipient, amount); _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { swapTokensForETH(tAmount); uint256 ETHBalance = address(this).balance; if(ETHBalance > 0) transferToAddressETH(marketingWallet,ETHBalance); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } function swapTokensForETH(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function takeFee(address sender,address recipient,uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(isMarketPair[sender]) { feeAmount = amount.mul(_totalTaxIfBuying).div(100); } else if(isMarketPair[recipient]) { feeAmount = amount.mul(_totalTaxIfSelling).div(100); } if(feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } }
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":"ethReceived","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":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"OpenTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","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":[{"internalType":"uint256","name":"buyMarketingFeeNew","type":"uint256"}],"name":"setBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setIsExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sellMarketingFeeNew","type":"uint256"}],"name":"setsellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"tradeOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c0604052600b60809081526a446169446169536861726b60a81b60a0526001906200002c9082620004c5565b5060408051808201909152600381526244445360e81b6020820152600290620000569082620004c5565b506003805462dead126001600160a81b0319909116179055600480546001600160a01b03191661dead1790555f6009819055600a818155600b829055600c91909155620000a6906012906200069c565b620000b6906305f5e100620006b3565b600d55600354620000cc9060ff16600a6200069c565b620000da90614e20620006b3565b600e556010805460ff191690556011805461ffff60a81b1916600160a81b17905534801562000107575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3505f737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200019d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001c39190620006cd565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200020f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002359190620006cd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000280573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002a69190620006cd565b601180546001600160a01b0319166001600160a01b0392831617905560108054610100600160a81b03191661010084841681029190911791829055600d54305f9081526006602090815260408083209490950490951681529190935290812091909155600190600790620003215f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260078452828120805486166001908117909155600454831682528382208054871682179055600354610100900483168252838220805487168217905560115490921681526008909352908220805490931617909155600d5490600590620003b53390565b6001600160a01b0316815260208101919091526040015f2055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d546040516200041691815260200190565b60405180910390a350620006f5565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200044e57607f821691505b6020821081036200046d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004c0575f81815260208120601f850160051c810160208610156200049b5750805b601f850160051c820191505b81811015620004bc57828155600101620004a7565b5050505b505050565b81516001600160401b03811115620004e157620004e162000425565b620004f981620004f2845462000439565b8462000473565b602080601f8311600181146200052f575f8415620005175750858301515b5f19600386901b1c1916600185901b178555620004bc565b5f85815260208120601f198616915b828110156200055f578886015182559484019460019091019084016200053e565b50858210156200057d57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620005e157815f1904821115620005c557620005c56200058d565b80851615620005d357918102915b93841c9390800290620005a6565b509250929050565b5f82620005f95750600162000696565b816200060757505f62000696565b81600181146200062057600281146200062b576200064b565b600191505062000696565b60ff8411156200063f576200063f6200058d565b50506001821b62000696565b5060208310610133831016604e8410600b841016171562000670575081810a62000696565b6200067c8383620005a1565b805f19048211156200069257620006926200058d565b0290505b92915050565b5f620006ac60ff841683620005e9565b9392505050565b80820281158282048414176200069657620006966200058d565b5f60208284031215620006de575f80fd5b81516001600160a01b0381168114620006ac575f80fd5b611a8980620007035f395ff3fe608060405260043610610215575f3560e01c806370a082311161011e578063a457c2d7116100a8578063da00097d1161006d578063da00097d1461060c578063dd62ed3e1461062c578063ef422a1814610670578063f0cd1dac1461068f578063f2fde38b146106a4575f80fd5b8063a457c2d714610585578063a9059cbb146105a4578063c5d24189146105c3578063c816841b146105d8578063c8607952146105f7575f80fd5b80638da5cb5b116100ee5780638da5cb5b1461050e578063914eb66a1461052a57806395d89b411461053e578063a073d37f14610552578063a3ca847d14610566575f80fd5b806370a082311461048257806375f0a874146104b657806382eefb43146104da578063844d591c146104ef575f80fd5b80632b112e491161019f5780633ecad2711161016f5780633ecad271146103d257806348cd4cb1146104005780634a74bb02146104155780635342acb4146104355780635d098b3814610463575f80fd5b80632b112e491461035f578063313ce5671461037357806339509351146103945780633b97084a146103b3575f80fd5b806318160ddd116101e557806318160ddd146102cb57806323b872dd146102e957806325fa0b981461030857806327c8f8351461032157806329da526a14610340575f80fd5b806306fdde0314610220578063095ea7b31461024a5780630f8540e4146102795780631694505e1461028f575f80fd5b3661021c57005b5f80fd5b34801561022b575f80fd5b506102346106c3565b604051610241919061172b565b60405180910390f35b348015610255575f80fd5b5061026961026436600461178a565b610753565b6040519015158152602001610241565b348015610284575f80fd5b5061028d610769565b005b34801561029a575f80fd5b506010546102b39061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610241565b3480156102d6575f80fd5b50600d545b604051908152602001610241565b3480156102f4575f80fd5b506102696103033660046117b4565b6107ae565b348015610313575f80fd5b506010546102699060ff1681565b34801561032c575f80fd5b506004546102b3906001600160a01b031681565b34801561034b575f80fd5b5061028d61035a3660046117f2565b610817565b34801561036a575f80fd5b506102db610895565b34801561037e575f80fd5b5060035460405160ff9091168152602001610241565b34801561039f575f80fd5b506102696103ae36600461178a565b6108c0565b3480156103be575f80fd5b5061028d6103cd3660046117f2565b6108f5565b3480156103dd575f80fd5b506102696103ec366004611809565b60086020525f908152604090205460ff1681565b34801561040b575f80fd5b506102db600f5481565b348015610420575f80fd5b5060115461026990600160a81b900460ff1681565b348015610440575f80fd5b5061026961044f366004611809565b60076020525f908152604090205460ff1681565b34801561046e575f80fd5b5061028d61047d366004611809565b610923565b34801561048d575f80fd5b506102db61049c366004611809565b6001600160a01b03165f9081526005602052604090205490565b3480156104c1575f80fd5b506003546102b39061010090046001600160a01b031681565b3480156104e5575f80fd5b506102db600c5481565b3480156104fa575f80fd5b5061028d610509366004611824565b610974565b348015610519575f80fd5b505f546001600160a01b03166102b3565b348015610535575f80fd5b5061028d6109c7565b348015610549575f80fd5b50610234610a38565b34801561055d575f80fd5b50600e546102db565b348015610571575f80fd5b5061028d6105803660046117f2565b610a47565b348015610590575f80fd5b5061026961059f36600461178a565b610ac3565b3480156105af575f80fd5b506102696105be36600461178a565b610b10565b3480156105ce575f80fd5b506102db60095481565b3480156105e3575f80fd5b506011546102b3906001600160a01b031681565b348015610602575f80fd5b506102db600a5481565b348015610617575f80fd5b5060115461026990600160b01b900460ff1681565b348015610637575f80fd5b506102db61064636600461185f565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b34801561067b575f80fd5b5061028d61068a366004611824565b610b1c565b34801561069a575f80fd5b506102db600b5481565b3480156106af575f80fd5b5061028d6106be366004611809565b610b6f565b6060600180546106d29061188b565b80601f01602080910402602001604051908101604052809291908181526020018280546106fe9061188b565b80156107495780601f1061072057610100808354040283529160200191610749565b820191905f5260205f20905b81548152906001019060200180831161072c57829003601f168201915b5050505050905090565b5f61075f338484610c56565b5060015b92915050565b5f546001600160a01b0316331461079b5760405162461bcd60e51b8152600401610792906118c3565b60405180910390fd5b6010805460ff1916600117905543600f55565b5f6107ba848484610d79565b5061080c843361080785604051806060016040528060288152602001611a07602891396001600160a01b038a165f908152600660209081526040808320338452909152902054919061118a565b610c56565b5060015b9392505050565b5f546001600160a01b031633146108405760405162461bcd60e51b8152600401610792906118c3565b600a818155600c8290558111156108925760405162461bcd60e51b81526020600482015260166024820152754d61782073656c6c2066656520756e6465722031302560501b6044820152606401610792565b50565b6004546001600160a01b03165f90815260056020526040812054600d546108bb916111c2565b905090565b335f8181526006602090815260408083206001600160a01b0387168452909152812054909161075f9185906108079086611203565b5f546001600160a01b0316331461091e5760405162461bcd60e51b8152600401610792906118c3565b600e55565b5f546001600160a01b0316331461094c5760405162461bcd60e51b8152600401610792906118c3565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b5f546001600160a01b0316331461099d5760405162461bcd60e51b8152600401610792906118c3565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146109f05760405162461bcd60e51b8152600401610792906118c3565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6060600280546106d29061188b565b5f546001600160a01b03163314610a705760405162461bcd60e51b8152600401610792906118c3565b6009819055600b819055600a8111156108925760405162461bcd60e51b81526020600482015260156024820152744d6178206275792066656520756e6465722031302560581b6044820152606401610792565b5f61075f338461080785604051806060016040528060258152602001611a2f60259139335f9081526006602090815260408083206001600160a01b038d168452909152902054919061118a565b5f61080c338484610d79565b5f546001600160a01b03163314610b455760405162461bcd60e51b8152600401610792906118c3565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610b985760405162461bcd60e51b8152600401610792906118c3565b6001600160a01b038116610bfd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610792565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610cb85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610792565b6001600160a01b038216610d195760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610792565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610dde5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610792565b6001600160a01b038316610e405760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610792565b60105460ff1680610e6857506001600160a01b0384165f9081526007602052604090205460ff165b80610e8a57506001600160a01b0383165f9081526007602052604090205460ff165b610ed65760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206973206e6f74206f70656e207965740000000000000000006044820152606401610792565b6001600160a01b0383165f9081526008602052604090205460ff16158015610f1557506001600160a01b0384165f9081526008602052604090205460ff165b8015610f2d5750600f54610f2a90600361190c565b43105b15610f83575f610f496064610f4385605f611261565b906112df565b9050610f6b85600360019054906101000a90046001600160a01b031683611320565b50610f808585610f7b848761191f565b611320565b50505b601154600160a01b900460ff1615610fa757610fa0848484611320565b9050610810565b305f90815260056020526040902054600e5481108015908190610fd45750601154600160a01b900460ff16155b8015610ff857506001600160a01b0386165f9081526008602052604090205460ff16155b801561100d5750601154600160a81b900460ff165b801561102657505f546001600160a01b03868116911614155b1561104c57601154600160b01b900460ff161561104357600e5491505b61104c82611403565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389165f9081526005909152919091205461109d91869061118a565b6001600160a01b0387165f90815260056020908152604080832093909355600790529081205460ff16806110e857506001600160a01b0386165f9081526007602052604090205460ff165b6110fc576110f7878787611452565b6110fe565b845b6001600160a01b0387165f908152600560205260409020549091506111239082611203565b6001600160a01b038088165f8181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111769085815260200190565b60405180910390a360019350505050610810565b5f81848411156111ad5760405162461bcd60e51b8152600401610792919061172b565b505f6111b9848661191f565b95945050505050565b5f61081083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061118a565b5f8061120f838561190c565b9050838110156108105760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610792565b5f825f0361127057505f610763565b5f61127b8385611932565b9050826112888583611949565b146108105760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610792565b5f61081083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611554565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f90815260059091529182205461137091849061118a565b6001600160a01b038086165f90815260056020526040808220939093559085168152205461139e9083611203565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113f19086815260200190565b60405180910390a35060019392505050565b6011805460ff60a01b1916600160a01b17905561141f81611580565b478015611441576003546114419061010090046001600160a01b0316826116f3565b50506011805460ff60a01b19169055565b6001600160a01b0383165f90815260086020526040812054819060ff16156114955761148e6064610f43600b548661126190919063ffffffff16565b90506114d2565b6001600160a01b0384165f9081526008602052604090205460ff16156114d2576114cf6064610f43600c548661126190919063ffffffff16565b90505b801561154a57305f908152600560205260409020546114f19082611203565b305f81815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115419085815260200190565b60405180910390a35b6111b983826111c2565b5f81836115745760405162461bcd60e51b8152600401610792919061172b565b505f6111b98486611949565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106115b3576115b3611968565b60200260200101906001600160a01b031690816001600160a01b031681525050601060019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611624573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611648919061197c565b8160018151811061165b5761165b611968565b6001600160a01b03928316602091820292909201015260105461168691309161010090041684610c56565b60105460405163791ac94760e01b81526101009091046001600160a01b03169063791ac947906116c29085905f90869030904290600401611997565b5f604051808303815f87803b1580156116d9575f80fd5b505af11580156116eb573d5f803e3d5ffd5b505050505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015611726573d5f803e3d5ffd5b505050565b5f6020808352835180828501525f5b818110156117565785810183015185820160400152820161173a565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610892575f80fd5b5f806040838503121561179b575f80fd5b82356117a681611776565b946020939093013593505050565b5f805f606084860312156117c6575f80fd5b83356117d181611776565b925060208401356117e181611776565b929592945050506040919091013590565b5f60208284031215611802575f80fd5b5035919050565b5f60208284031215611819575f80fd5b813561081081611776565b5f8060408385031215611835575f80fd5b823561184081611776565b915060208301358015158114611854575f80fd5b809150509250929050565b5f8060408385031215611870575f80fd5b823561187b81611776565b9150602083013561185481611776565b600181811c9082168061189f57607f821691505b6020821081036118bd57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610763576107636118f8565b81810381811115610763576107636118f8565b8082028115828204841417610763576107636118f8565b5f8261196357634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561198c575f80fd5b815161081081611776565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119e55784516001600160a01b0316835293830193918301916001016119c0565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209ad0b5bf5ffa4fa3cca796ea60007a3b1863a72a91ad4efdc318ade7a403a22364736f6c63430008140033
Deployed Bytecode
0x608060405260043610610215575f3560e01c806370a082311161011e578063a457c2d7116100a8578063da00097d1161006d578063da00097d1461060c578063dd62ed3e1461062c578063ef422a1814610670578063f0cd1dac1461068f578063f2fde38b146106a4575f80fd5b8063a457c2d714610585578063a9059cbb146105a4578063c5d24189146105c3578063c816841b146105d8578063c8607952146105f7575f80fd5b80638da5cb5b116100ee5780638da5cb5b1461050e578063914eb66a1461052a57806395d89b411461053e578063a073d37f14610552578063a3ca847d14610566575f80fd5b806370a082311461048257806375f0a874146104b657806382eefb43146104da578063844d591c146104ef575f80fd5b80632b112e491161019f5780633ecad2711161016f5780633ecad271146103d257806348cd4cb1146104005780634a74bb02146104155780635342acb4146104355780635d098b3814610463575f80fd5b80632b112e491461035f578063313ce5671461037357806339509351146103945780633b97084a146103b3575f80fd5b806318160ddd116101e557806318160ddd146102cb57806323b872dd146102e957806325fa0b981461030857806327c8f8351461032157806329da526a14610340575f80fd5b806306fdde0314610220578063095ea7b31461024a5780630f8540e4146102795780631694505e1461028f575f80fd5b3661021c57005b5f80fd5b34801561022b575f80fd5b506102346106c3565b604051610241919061172b565b60405180910390f35b348015610255575f80fd5b5061026961026436600461178a565b610753565b6040519015158152602001610241565b348015610284575f80fd5b5061028d610769565b005b34801561029a575f80fd5b506010546102b39061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610241565b3480156102d6575f80fd5b50600d545b604051908152602001610241565b3480156102f4575f80fd5b506102696103033660046117b4565b6107ae565b348015610313575f80fd5b506010546102699060ff1681565b34801561032c575f80fd5b506004546102b3906001600160a01b031681565b34801561034b575f80fd5b5061028d61035a3660046117f2565b610817565b34801561036a575f80fd5b506102db610895565b34801561037e575f80fd5b5060035460405160ff9091168152602001610241565b34801561039f575f80fd5b506102696103ae36600461178a565b6108c0565b3480156103be575f80fd5b5061028d6103cd3660046117f2565b6108f5565b3480156103dd575f80fd5b506102696103ec366004611809565b60086020525f908152604090205460ff1681565b34801561040b575f80fd5b506102db600f5481565b348015610420575f80fd5b5060115461026990600160a81b900460ff1681565b348015610440575f80fd5b5061026961044f366004611809565b60076020525f908152604090205460ff1681565b34801561046e575f80fd5b5061028d61047d366004611809565b610923565b34801561048d575f80fd5b506102db61049c366004611809565b6001600160a01b03165f9081526005602052604090205490565b3480156104c1575f80fd5b506003546102b39061010090046001600160a01b031681565b3480156104e5575f80fd5b506102db600c5481565b3480156104fa575f80fd5b5061028d610509366004611824565b610974565b348015610519575f80fd5b505f546001600160a01b03166102b3565b348015610535575f80fd5b5061028d6109c7565b348015610549575f80fd5b50610234610a38565b34801561055d575f80fd5b50600e546102db565b348015610571575f80fd5b5061028d6105803660046117f2565b610a47565b348015610590575f80fd5b5061026961059f36600461178a565b610ac3565b3480156105af575f80fd5b506102696105be36600461178a565b610b10565b3480156105ce575f80fd5b506102db60095481565b3480156105e3575f80fd5b506011546102b3906001600160a01b031681565b348015610602575f80fd5b506102db600a5481565b348015610617575f80fd5b5060115461026990600160b01b900460ff1681565b348015610637575f80fd5b506102db61064636600461185f565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b34801561067b575f80fd5b5061028d61068a366004611824565b610b1c565b34801561069a575f80fd5b506102db600b5481565b3480156106af575f80fd5b5061028d6106be366004611809565b610b6f565b6060600180546106d29061188b565b80601f01602080910402602001604051908101604052809291908181526020018280546106fe9061188b565b80156107495780601f1061072057610100808354040283529160200191610749565b820191905f5260205f20905b81548152906001019060200180831161072c57829003601f168201915b5050505050905090565b5f61075f338484610c56565b5060015b92915050565b5f546001600160a01b0316331461079b5760405162461bcd60e51b8152600401610792906118c3565b60405180910390fd5b6010805460ff1916600117905543600f55565b5f6107ba848484610d79565b5061080c843361080785604051806060016040528060288152602001611a07602891396001600160a01b038a165f908152600660209081526040808320338452909152902054919061118a565b610c56565b5060015b9392505050565b5f546001600160a01b031633146108405760405162461bcd60e51b8152600401610792906118c3565b600a818155600c8290558111156108925760405162461bcd60e51b81526020600482015260166024820152754d61782073656c6c2066656520756e6465722031302560501b6044820152606401610792565b50565b6004546001600160a01b03165f90815260056020526040812054600d546108bb916111c2565b905090565b335f8181526006602090815260408083206001600160a01b0387168452909152812054909161075f9185906108079086611203565b5f546001600160a01b0316331461091e5760405162461bcd60e51b8152600401610792906118c3565b600e55565b5f546001600160a01b0316331461094c5760405162461bcd60e51b8152600401610792906118c3565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b5f546001600160a01b0316331461099d5760405162461bcd60e51b8152600401610792906118c3565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146109f05760405162461bcd60e51b8152600401610792906118c3565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6060600280546106d29061188b565b5f546001600160a01b03163314610a705760405162461bcd60e51b8152600401610792906118c3565b6009819055600b819055600a8111156108925760405162461bcd60e51b81526020600482015260156024820152744d6178206275792066656520756e6465722031302560581b6044820152606401610792565b5f61075f338461080785604051806060016040528060258152602001611a2f60259139335f9081526006602090815260408083206001600160a01b038d168452909152902054919061118a565b5f61080c338484610d79565b5f546001600160a01b03163314610b455760405162461bcd60e51b8152600401610792906118c3565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610b985760405162461bcd60e51b8152600401610792906118c3565b6001600160a01b038116610bfd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610792565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610cb85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610792565b6001600160a01b038216610d195760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610792565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610dde5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610792565b6001600160a01b038316610e405760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610792565b60105460ff1680610e6857506001600160a01b0384165f9081526007602052604090205460ff165b80610e8a57506001600160a01b0383165f9081526007602052604090205460ff165b610ed65760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206973206e6f74206f70656e207965740000000000000000006044820152606401610792565b6001600160a01b0383165f9081526008602052604090205460ff16158015610f1557506001600160a01b0384165f9081526008602052604090205460ff165b8015610f2d5750600f54610f2a90600361190c565b43105b15610f83575f610f496064610f4385605f611261565b906112df565b9050610f6b85600360019054906101000a90046001600160a01b031683611320565b50610f808585610f7b848761191f565b611320565b50505b601154600160a01b900460ff1615610fa757610fa0848484611320565b9050610810565b305f90815260056020526040902054600e5481108015908190610fd45750601154600160a01b900460ff16155b8015610ff857506001600160a01b0386165f9081526008602052604090205460ff16155b801561100d5750601154600160a81b900460ff165b801561102657505f546001600160a01b03868116911614155b1561104c57601154600160b01b900460ff161561104357600e5491505b61104c82611403565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389165f9081526005909152919091205461109d91869061118a565b6001600160a01b0387165f90815260056020908152604080832093909355600790529081205460ff16806110e857506001600160a01b0386165f9081526007602052604090205460ff165b6110fc576110f7878787611452565b6110fe565b845b6001600160a01b0387165f908152600560205260409020549091506111239082611203565b6001600160a01b038088165f8181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111769085815260200190565b60405180910390a360019350505050610810565b5f81848411156111ad5760405162461bcd60e51b8152600401610792919061172b565b505f6111b9848661191f565b95945050505050565b5f61081083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061118a565b5f8061120f838561190c565b9050838110156108105760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610792565b5f825f0361127057505f610763565b5f61127b8385611932565b9050826112888583611949565b146108105760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610792565b5f61081083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611554565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f90815260059091529182205461137091849061118a565b6001600160a01b038086165f90815260056020526040808220939093559085168152205461139e9083611203565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113f19086815260200190565b60405180910390a35060019392505050565b6011805460ff60a01b1916600160a01b17905561141f81611580565b478015611441576003546114419061010090046001600160a01b0316826116f3565b50506011805460ff60a01b19169055565b6001600160a01b0383165f90815260086020526040812054819060ff16156114955761148e6064610f43600b548661126190919063ffffffff16565b90506114d2565b6001600160a01b0384165f9081526008602052604090205460ff16156114d2576114cf6064610f43600c548661126190919063ffffffff16565b90505b801561154a57305f908152600560205260409020546114f19082611203565b305f81815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115419085815260200190565b60405180910390a35b6111b983826111c2565b5f81836115745760405162461bcd60e51b8152600401610792919061172b565b505f6111b98486611949565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106115b3576115b3611968565b60200260200101906001600160a01b031690816001600160a01b031681525050601060019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611624573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611648919061197c565b8160018151811061165b5761165b611968565b6001600160a01b03928316602091820292909201015260105461168691309161010090041684610c56565b60105460405163791ac94760e01b81526101009091046001600160a01b03169063791ac947906116c29085905f90869030904290600401611997565b5f604051808303815f87803b1580156116d9575f80fd5b505af11580156116eb573d5f803e3d5ffd5b505050505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015611726573d5f803e3d5ffd5b505050565b5f6020808352835180828501525f5b818110156117565785810183015185820160400152820161173a565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610892575f80fd5b5f806040838503121561179b575f80fd5b82356117a681611776565b946020939093013593505050565b5f805f606084860312156117c6575f80fd5b83356117d181611776565b925060208401356117e181611776565b929592945050506040919091013590565b5f60208284031215611802575f80fd5b5035919050565b5f60208284031215611819575f80fd5b813561081081611776565b5f8060408385031215611835575f80fd5b823561184081611776565b915060208301358015158114611854575f80fd5b809150509250929050565b5f8060408385031215611870575f80fd5b823561187b81611776565b9150602083013561185481611776565b600181811c9082168061189f57607f821691505b6020821081036118bd57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610763576107636118f8565b81810381811115610763576107636118f8565b8082028115828204841417610763576107636118f8565b5f8261196357634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561198c575f80fd5b815161081081611776565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119e55784516001600160a01b0316835293830193918301916001016119c0565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209ad0b5bf5ffa4fa3cca796ea60007a3b1863a72a91ad4efdc318ade7a403a22364736f6c63430008140033
Deployed Bytecode Sourcemap
14193:10080:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17289:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18583:161;;;;;;;;;;-1:-1:-1;18583:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;18583:161:0;1023:187:1;19778:110:0;;;;;;;;;;;;;:::i;:::-;;15283:41;;;;;;;;;;-1:-1:-1;15283:41:0;;;;;;;-1:-1:-1;;;;;15283:41:0;;;;;;-1:-1:-1;;;;;1406:32:1;;;1388:51;;1376:2;1361:18;15283:41:0;1215:230:1;17566:100:0;;;;;;;;;;-1:-1:-1;17646:12:0;;17566:100;;;1596:25:1;;;1584:2;1569:18;17566:100:0;1450:177:1;20162:313:0;;;;;;;;;;-1:-1:-1;20162:313:0;;;;;:::i;:::-;;:::i;15245:29::-;;;;;;;;;;-1:-1:-1;15245:29:0;;;;;;;;14544:71;;;;;;;;;;-1:-1:-1;14544:71:0;;;;-1:-1:-1;;;;;14544:71:0;;;17034:249;;;;;;;;;;-1:-1:-1;17034:249:0;;;;;:::i;:::-;;:::i;19509:128::-;;;;;;;;;;;;;:::i;17475:83::-;;;;;;;;;;-1:-1:-1;17541:9:0;;17475:83;;17541:9;;;;2628:36:1;;2616:2;2601:18;17475:83:0;2486:184:1;17952:218:0;;;;;;;;;;-1:-1:-1;17952:218:0;;;;;:::i;:::-;;:::i;19377:124::-;;;;;;;;;;-1:-1:-1;19377:124:0;;;;;:::i;:::-;;:::i;14812:45::-;;;;;;;;;;-1:-1:-1;14812:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15213:25;;;;;;;;;;;;;;;;15398:40;;;;;;;;;;-1:-1:-1;15398:40:0;;;;-1:-1:-1;;;15398:40:0;;;;;;14755:50;;;;;;;;;;-1:-1:-1;14755:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19645:125;;;;;;;;;;-1:-1:-1;19645:125:0;;;;;:::i;:::-;;:::i;17674:119::-;;;;;;;;;;-1:-1:-1;17674:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;17767:18:0;17740:7;17767:18;;;:9;:18;;;;;;;17674:119;14443:92;;;;;;;;;;-1:-1:-1;14443:92:0;;;;;;;-1:-1:-1;;;;;14443:92:0;;;15011:53;;;;;;;;;;;;;;;;19240:129;;;;;;;;;;-1:-1:-1;19240:129:0;;;;;:::i;:::-;;:::i;5732:79::-;;;;;;;;;;-1:-1:-1;5770:7:0;5797:6;-1:-1:-1;;;;;5797:6:0;5732:79;;5957:145;;;;;;;;;;;;;:::i;17380:87::-;;;;;;;;;;;;;:::i;18455:120::-;;;;;;;;;;-1:-1:-1;18544:23:0;;18455:120;;16785:241;;;;;;;;;;-1:-1:-1;16785:241:0;;;;;:::i;:::-;;:::i;18178:269::-;;;;;;;;;;-1:-1:-1;18178:269:0;;;;;:::i;:::-;;:::i;19987:167::-;;;;;;;;;;-1:-1:-1;19987:167:0;;;;;:::i;:::-;;:::i;14866:35::-;;;;;;;;;;;;;;;;15331:26;;;;;;;;;;-1:-1:-1;15331:26:0;;;;-1:-1:-1;;;;;15331:26:0;;;14910:36;;;;;;;;;;;;;;;;15445:45;;;;;;;;;;-1:-1:-1;15445:45:0;;;;-1:-1:-1;;;15445:45:0;;;;;;17801:143;;;;;;;;;;-1:-1:-1;17801:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;17909:18:0;;;17882:7;17909:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17801:143;19097:135;;;;;;;;;;-1:-1:-1;19097:135:0;;;;;:::i;:::-;;:::i;14953:51::-;;;;;;;;;;;;;;;;6110:244;;;;;;;;;;-1:-1:-1;6110:244:0;;;;;:::i;:::-;;:::i;17289:83::-;17326:13;17359:5;17352:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17289:83;:::o;18583:161::-;18658:4;18675:39;199:10;18698:7;18707:6;18675:8;:39::i;:::-;-1:-1:-1;18732:4:0;18583:161;;;;;:::o;19778:110::-;5866:6;;-1:-1:-1;;;;;5866:6:0;199:10;5866:22;5858:67;;;;-1:-1:-1;;;5858:67:0;;;;;;;:::i;:::-;;;;;;;;;19828:9:::1;:16:::0;;-1:-1:-1;;19828:16:0::1;19840:4;19828:16;::::0;;19868:12:::1;19855:10;:25:::0;19778:110::o;20162:313::-;20260:4;20277:36;20287:6;20295:9;20306:6;20277:9;:36::i;:::-;-1:-1:-1;20324:121:0;20333:6;199:10;20355:89;20393:6;20355:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20355:19:0;;;;;;:11;:19;;;;;;;;199:10;20355:33;;;;;;;;;;:37;:89::i;:::-;20324:8;:121::i;:::-;-1:-1:-1;20463:4:0;20162:313;;;;;;:::o;17034:249::-;5866:6;;-1:-1:-1;;;;;5866:6:0;199:10;5866:22;5858:67;;;;-1:-1:-1;;;5858:67:0;;;;;;;:::i;:::-;17116:17:::1;:39:::0;;;17166:18:::1;:38:::0;;;17223:24;::::1;;17215:60;;;::::0;-1:-1:-1;;;17215:60:0;;4913:2:1;17215:60:0::1;::::0;::::1;4895:21:1::0;4952:2;4932:18;;;4925:30;-1:-1:-1;;;4971:18:1;;;4964:52;5033:18;;17215:60:0::1;4711:346:1::0;17215:60:0::1;17034:249:::0;:::o;19509:128::-;19616:11;;-1:-1:-1;;;;;19616:11:0;19562:7;17767:18;;;:9;:18;;;;;;19589:12;;:40;;:16;:40::i;:::-;19582:47;;19509:128;:::o;17952:218::-;199:10;18040:4;18089:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18089:34:0;;;;;;;;;;18040:4;;18057:83;;18080:7;;18089:50;;18128:10;18089:38;:50::i;19377:124::-;5866:6;;-1:-1:-1;;;;;5866:6:0;199:10;5866:22;5858:67;;;;-1:-1:-1;;;5858:67:0;;;;;;;:::i;:::-;19459:23:::1;:34:::0;19377:124::o;19645:125::-;5866:6;;-1:-1:-1;;;;;5866:6:0;199:10;5866:22;5858:67;;;;-1:-1:-1;;;5858:67:0;;;;;;;:::i;:::-;19725:15:::1;:37:::0;;-1:-1:-1;;;;;19725:37:0;;::::1;;;-1:-1:-1::0;;;;;;19725:37:0;;::::1;::::0;;;::::1;::::0;;19645:125::o;19240:129::-;5866:6;;-1:-1:-1;;;;;5866:6:0;199:10;5866:22;5858:67;;;;-1:-1:-1;;;5858:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19329:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:32;;-1:-1:-1;;19329:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19240:129::o;5957:145::-;5866:6;;-1:-1:-1;;;;;5866:6:0;199:10;5866:22;5858:67;;;;-1:-1:-1;;;5858:67:0;;;;;;;:::i;:::-;6061:1:::1;6045:6:::0;;6024:40:::1;::::0;-1:-1:-1;;;;;6045:6:0;;::::1;::::0;6024:40:::1;::::0;6061:1;;6024:40:::1;6092:1;6075:19:::0;;-1:-1:-1;;;;;;6075:19:0::1;::::0;;5957:145::o;17380:87::-;17419:13;17452:7;17445:14;;;;;:::i;16785:241::-;5866:6;;-1:-1:-1;;;;;5866:6:0;199:10;5866:22;5858:67;;;;-1:-1:-1;;;5858:67:0;;;;;;;:::i;:::-;16865:16:::1;:37:::0;;;16913:17:::1;:36:::0;;;16989:2:::1;16968:23:::0;::::1;;16960:58;;;::::0;-1:-1:-1;;;16960:58:0;;5264:2:1;16960:58:0::1;::::0;::::1;5246:21:1::0;5303:2;5283:18;;;5276:30;-1:-1:-1;;;5322:18:1;;;5315:51;5383:18;;16960:58:0::1;5062:345:1::0;18178:269:0;18271:4;18288:129;199:10;18311:7;18320:96;18359:15;18320:96;;;;;;;;;;;;;;;;;199:10;18320:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18320:34:0;;;;;;;;;;;;:38;:96::i;19987:167::-;20065:4;20082:42;199:10;20106:9;20117:6;20082:9;:42::i;19097:135::-;5866:6;;-1:-1:-1;;;;;5866:6:0;199:10;5866:22;5858:67;;;;-1:-1:-1;;;5858:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19187:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:37;;-1:-1:-1;;19187:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19097:135::o;6110:244::-;5866:6;;-1:-1:-1;;;;;5866:6:0;199:10;5866:22;5858:67;;;;-1:-1:-1;;;5858:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6199:22:0;::::1;6191:73;;;::::0;-1:-1:-1;;;6191:73:0;;5614:2:1;6191:73:0::1;::::0;::::1;5596:21:1::0;5653:2;5633:18;;;5626:30;5692:34;5672:18;;;5665:62;-1:-1:-1;;;5743:18:1;;;5736:36;5789:19;;6191:73:0::1;5412:402:1::0;6191:73:0::1;6301:6;::::0;;6280:38:::1;::::0;-1:-1:-1;;;;;6280:38:0;;::::1;::::0;6301:6;::::1;::::0;6280:38:::1;::::0;::::1;6329:6;:17:::0;;-1:-1:-1;;;;;;6329:17:0::1;-1:-1:-1::0;;;;;6329:17:0;;;::::1;::::0;;;::::1;::::0;;6110:244::o;18752:337::-;-1:-1:-1;;;;;18845:19:0;;18837:68;;;;-1:-1:-1;;;18837:68:0;;6021:2:1;18837:68:0;;;6003:21:1;6060:2;6040:18;;;6033:30;6099:34;6079:18;;;6072:62;-1:-1:-1;;;6150:18:1;;;6143:34;6194:19;;18837:68:0;5819:400:1;18837:68:0;-1:-1:-1;;;;;18924:21:0;;18916:68;;;;-1:-1:-1;;;18916:68:0;;6426:2:1;18916:68:0;;;6408:21:1;6465:2;6445:18;;;6438:30;6504:34;6484:18;;;6477:62;-1:-1:-1;;;6555:18:1;;;6548:32;6597:19;;18916:68:0;6224:398:1;18916:68:0;-1:-1:-1;;;;;18997:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;19049:32;;1596:25:1;;;19049:32:0;;1569:18:1;19049:32:0;;;;;;;18752:337;;;:::o;20487:1822::-;20574:4;-1:-1:-1;;;;;20601:20:0;;20593:70;;;;-1:-1:-1;;;20593:70:0;;6829:2:1;20593:70:0;;;6811:21:1;6868:2;6848:18;;;6841:30;6907:34;6887:18;;;6880:62;-1:-1:-1;;;6958:18:1;;;6951:35;7003:19;;20593:70:0;6627:401:1;20593:70:0;-1:-1:-1;;;;;20682:23:0;;20674:71;;;;-1:-1:-1;;;20674:71:0;;7235:2:1;20674:71:0;;;7217:21:1;7274:2;7254:18;;;7247:30;7313:34;7293:18;;;7286:62;-1:-1:-1;;;7364:18:1;;;7357:33;7407:19;;20674:71:0;7033:399:1;20674:71:0;20764:9;;;;;:38;;-1:-1:-1;;;;;;20777:25:0;;;;;;:17;:25;;;;;;;;20764:38;:70;;;-1:-1:-1;;;;;;20806:28:0;;;;;;:17;:28;;;;;;;;20764:70;20756:106;;;;-1:-1:-1;;;20756:106:0;;7639:2:1;20756:106:0;;;7621:21:1;7678:2;7658:18;;;7651:30;7717:25;7697:18;;;7690:53;7760:18;;20756:106:0;7437:347:1;20756:106:0;-1:-1:-1;;;;;20897:23:0;;;;;;:12;:23;;;;;;;;20896:24;:48;;;;-1:-1:-1;;;;;;20924:20:0;;;;;;:12;:20;;;;;;;;20896:48;:81;;;;-1:-1:-1;20963:10:0;;:14;;20976:1;20963:14;:::i;:::-;20948:12;:29;20896:81;20893:295;;;20993:20;21016:23;21035:3;21016:14;:6;21027:2;21016:10;:14::i;:::-;:18;;:23::i;:::-;20993:46;;21054:53;21069:6;21077:15;;;;;;;;;-1:-1:-1;;;;;21077:15:0;21094:12;21054:14;:53::i;:::-;-1:-1:-1;21122:54:0;21137:6;21145:9;21156:19;21163:12;21156:6;:19;:::i;:::-;21122:14;:54::i;:::-;;20978:210;20893:295;21203:16;;-1:-1:-1;;;21203:16:0;;;;21200:1102;;;21253:41;21268:6;21276:9;21287:6;21253:14;:41::i;:::-;21246:48;;;;21200:1102;21395:4;21346:28;17767:18;;;:9;:18;;;;;;21471:23;;21447:47;;;;;;;21527:44;;-1:-1:-1;21555:16:0;;-1:-1:-1;;;21555:16:0;;;;21554:17;21527:44;:69;;;;-1:-1:-1;;;;;;21576:20:0;;;;;;:12;:20;;;;;;;;21575:21;21527:69;:94;;;;-1:-1:-1;21600:21:0;;-1:-1:-1;;;21600:21:0;;;;21527:94;:116;;;;-1:-1:-1;5770:7:0;5797:6;-1:-1:-1;;;;;21625:18:0;;;5797:6;;21625:18;;21527:116;21523:327;;;21681:25;;-1:-1:-1;;;21681:25:0;;;;21678:97;;;21752:23;;21729:46;;21678:97;21794:36;21809:20;21794:14;:36::i;:::-;21886:53;;;;;;;;;;;-1:-1:-1;;;21886:53:0;;;;;;;;-1:-1:-1;;;;;21886:17:0;;-1:-1:-1;21886:17:0;;;:9;:17;;;;;;;;:53;;21908:6;;21886:21;:53::i;:::-;-1:-1:-1;;;;;21866:17:0;;;;;;:9;:17;;;;;;;;:73;;;;21979:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;22008:28:0;;;;;;:17;:28;;;;;;;;21979:57;21978:147;;22092:33;22100:6;22107:9;22118:6;22092:7;:33::i;:::-;21978:147;;;22083:6;21978:147;-1:-1:-1;;;;;22165:20:0;;;;;;:9;:20;;;;;;21956:169;;-1:-1:-1;22165:37:0;;21956:169;22165:24;:37::i;:::-;-1:-1:-1;;;;;22142:20:0;;;;;;;:9;:20;;;;;;;:60;;;;22224:40;;;;;;;;;;22252:11;1596:25:1;;1584:2;1569:18;;1450:177;22224:40:0;;;;;;;;22286:4;22279:11;;;;;;;1504:192;1590:7;1626:12;1618:6;;;;1610:29;;;;-1:-1:-1;;;1610:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1650:9:0;1662:5;1666:1;1662;:5;:::i;:::-;1650:17;1504:192;-1:-1:-1;;;;;1504:192:0:o;1360:136::-;1418:7;1445:43;1449:1;1452;1445:43;;;;;;;;;;;;;;;;;:3;:43::i;1171:181::-;1229:7;;1261:5;1265:1;1261;:5;:::i;:::-;1249:17;;1290:1;1285;:6;;1277:46;;;;-1:-1:-1;;;1277:46:0;;8386:2:1;1277:46:0;;;8368:21:1;8425:2;8405:18;;;8398:30;8464:29;8444:18;;;8437:57;8511:18;;1277:46:0;8184:351:1;1704:250:0;1762:7;1786:1;1791;1786:6;1782:47;;-1:-1:-1;1816:1:0;1809:8;;1782:47;1841:9;1853:5;1857:1;1853;:5;:::i;:::-;1841:17;-1:-1:-1;1886:1:0;1877:5;1881:1;1841:17;1877:5;:::i;:::-;:10;1869:56;;;;-1:-1:-1;;;1869:56:0;;9137:2:1;1869:56:0;;;9119:21:1;9176:2;9156:18;;;9149:30;9215:34;9195:18;;;9188:62;-1:-1:-1;;;9266:18:1;;;9259:31;9307:19;;1869:56:0;8935:397:1;1962:132:0;2020:7;2047:39;2051:1;2054;2047:39;;;;;;;;;;;;;;;;;:3;:39::i;22317:330::-;22447:53;;;;;;;;;;;-1:-1:-1;;;22447:53:0;;;;;;;;-1:-1:-1;;;;;22447:17:0;;22410:4;22447:17;;;:9;:17;;;;;;;:53;;22469:6;;22447:21;:53::i;:::-;-1:-1:-1;;;;;22427:17:0;;;;;;;:9;:17;;;;;;:73;;;;22534:20;;;;;;;:32;;22559:6;22534:24;:32::i;:::-;-1:-1:-1;;;;;22511:20:0;;;;;;;:9;:20;;;;;;;:55;;;;22582:35;;;;;;;;;;22610:6;1596:25:1;;1584:2;1569:18;;1450:177;22582:35:0;;;;;;;;-1:-1:-1;22635:4:0;22317:330;;;;;:::o;22655:259::-;15913:16;:23;;-1:-1:-1;;;;15913:23:0;-1:-1:-1;;;15913:23:0;;;22727:25:::1;22744:7:::0;22727:16:::1;:25::i;:::-;22784:21;22829:14:::0;;22826:80:::1;;22879:15;::::0;22858:48:::1;::::0;22879:15:::1;::::0;::::1;-1:-1:-1::0;;;;;22879:15:0::1;22895:10:::0;22858:20:::1;:48::i;:::-;-1:-1:-1::0;;15959:16:0;:24;;-1:-1:-1;;;;15959:24:0;;;22655:259::o;23653:611::-;-1:-1:-1;;;;;23805:20:0;;23737:7;23805:20;;;:12;:20;;;;;;23737:7;;23805:20;;23802:223;;;23854:38;23888:3;23854:29;23865:17;;23854:6;:10;;:29;;;;:::i;:38::-;23842:50;;23802:223;;;-1:-1:-1;;;;;23922:23:0;;;;;;:12;:23;;;;;;;;23919:106;;;23974:39;24009:3;23974:30;23985:18;;23974:6;:10;;:30;;;;:::i;:39::-;23962:51;;23919:106;24048:13;;24045:173;;24123:4;24105:24;;;;:9;:24;;;;;;:39;;24134:9;24105:28;:39::i;:::-;24096:4;24078:24;;;;:9;:24;;;;;;;:66;;;;24164:42;;-1:-1:-1;;;;;24164:42:0;;;;;;;24196:9;1596:25:1;;1584:2;1569:18;;1450:177;24164:42:0;;;;;;;;24045:173;24235:21;:6;24246:9;24235:10;:21::i;2102:278::-;2188:7;2223:12;2216:5;2208:28;;;;-1:-1:-1;;;2208:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2247:9:0;2259:5;2263:1;2259;:5;:::i;23056:589::-;23206:16;;;23220:1;23206:16;;;;;;;;23182:21;;23206:16;;;;;;;;;;-1:-1:-1;23206:16:0;23182:40;;23251:4;23233;23238:1;23233:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;23233:23:0;;;-1:-1:-1;;;;;23233:23:0;;;;;23277:15;;;;;;;;;-1:-1:-1;;;;;23277:15:0;-1:-1:-1;;;;;23277:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23267:4;23272:1;23267:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23267:32:0;;;:7;;;;;;;;;:32;23344:15;;23312:62;;23329:4;;23344:15;;;;23362:11;23312:8;:62::i;:::-;23413:15;;:224;;-1:-1:-1;;;23413:224:0;;:15;;;;-1:-1:-1;;;;;23413:15:0;;:66;;:224;;23494:11;;23520:1;;23564:4;;23591;;23611:15;;23413:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23111:534;23056:589;:::o;22922:126::-;23014:26;;-1:-1:-1;;;;;23014:18:0;;;:26;;;;;23033:6;;23014:26;;;;23033:6;23014:18;:26;;;;;;;;;;;;;;;;;;;;;22922:126;;:::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;1632:456::-;1709:6;1717;1725;1778:2;1766:9;1757:7;1753:23;1749:32;1746:52;;;1794:1;1791;1784:12;1746:52;1833:9;1820:23;1852:31;1877:5;1852:31;:::i;:::-;1902:5;-1:-1:-1;1959:2:1;1944:18;;1931:32;1972:33;1931:32;1972:33;:::i;:::-;1632:456;;2024:7;;-1:-1:-1;;;2078:2:1;2063:18;;;;2050:32;;1632:456::o;2301:180::-;2360:6;2413:2;2401:9;2392:7;2388:23;2384:32;2381:52;;;2429:1;2426;2419:12;2381:52;-1:-1:-1;2452:23:1;;2301:180;-1:-1:-1;2301:180:1:o;2675:247::-;2734:6;2787:2;2775:9;2766:7;2762:23;2758:32;2755:52;;;2803:1;2800;2793:12;2755:52;2842:9;2829:23;2861:31;2886:5;2861:31;:::i;3151:416::-;3216:6;3224;3277:2;3265:9;3256:7;3252:23;3248:32;3245:52;;;3293:1;3290;3283:12;3245:52;3332:9;3319:23;3351:31;3376:5;3351:31;:::i;:::-;3401:5;-1:-1:-1;3458:2:1;3443:18;;3430:32;3500:15;;3493:23;3481:36;;3471:64;;3531:1;3528;3521:12;3471:64;3554:7;3544:17;;;3151:416;;;;;:::o;3572:388::-;3640:6;3648;3701:2;3689:9;3680:7;3676:23;3672:32;3669:52;;;3717:1;3714;3707:12;3669:52;3756:9;3743:23;3775:31;3800:5;3775:31;:::i;:::-;3825:5;-1:-1:-1;3882:2:1;3867:18;;3854:32;3895:33;3854:32;3895:33;:::i;3965:380::-;4044:1;4040:12;;;;4087;;;4108:61;;4162:4;4154:6;4150:17;4140:27;;4108:61;4215:2;4207:6;4204:14;4184:18;4181:38;4178:161;;4261:10;4256:3;4252:20;4249:1;4242:31;4296:4;4293:1;4286:15;4324:4;4321:1;4314:15;4178:161;;3965:380;;;:::o;4350:356::-;4552:2;4534:21;;;4571:18;;;4564:30;4630:34;4625:2;4610:18;;4603:62;4697:2;4682:18;;4350:356::o;7789:127::-;7850:10;7845:3;7841:20;7838:1;7831:31;7881:4;7878:1;7871:15;7905:4;7902:1;7895:15;7921:125;7986:9;;;8007:10;;;8004:36;;;8020:18;;:::i;8051:128::-;8118:9;;;8139:11;;;8136:37;;;8153:18;;:::i;8540:168::-;8613:9;;;8644;;8661:15;;;8655:22;;8641:37;8631:71;;8682:18;;:::i;8713:217::-;8753:1;8779;8769:132;;8823:10;8818:3;8814:20;8811:1;8804:31;8858:4;8855:1;8848:15;8886:4;8883:1;8876:15;8769:132;-1:-1:-1;8915:9:1;;8713:217::o;9469:127::-;9530:10;9525:3;9521:20;9518:1;9511:31;9561:4;9558:1;9551:15;9585:4;9582:1;9575:15;9601:251;9671:6;9724:2;9712:9;9703:7;9699:23;9695:32;9692:52;;;9740:1;9737;9730:12;9692:52;9772:9;9766:16;9791:31;9816:5;9791:31;:::i;9857:980::-;10119:4;10167:3;10156:9;10152:19;10198:6;10187:9;10180:25;10224:2;10262:6;10257:2;10246:9;10242:18;10235:34;10305:3;10300:2;10289:9;10285:18;10278:31;10329:6;10364;10358:13;10395:6;10387;10380:22;10433:3;10422:9;10418:19;10411:26;;10472:2;10464:6;10460:15;10446:29;;10493:1;10503:195;10517:6;10514:1;10511:13;10503:195;;;10582:13;;-1:-1:-1;;;;;10578:39:1;10566:52;;10673:15;;;;10638:12;;;;10614:1;10532:9;10503:195;;;-1:-1:-1;;;;;;;10754:32:1;;;;10749:2;10734:18;;10727:60;-1:-1:-1;;;10818:3:1;10803:19;10796:35;10715:3;9857:980;-1:-1:-1;;;9857:980:1:o
Swarm Source
ipfs://9ad0b5bf5ffa4fa3cca796ea60007a3b1863a72a91ad4efdc318ade7a403a223
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.