ERC-20
Overview
Max Total Supply
876,876,877 GRUG
Holders
49
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
23,067,290.774609319 GRUGValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
GRUG
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-11 */ /* ▄████ ██▀███ █ ██ ▄████ ██▒ ▀█▒▓██ ▒ ██▒ ██ ▓██▒ ██▒ ▀█▒ ▒██░▄▄▄░▓██ ░▄█ ▒▓██ ▒██░▒██░▄▄▄░ ░▓█ ██▓▒██▀▀█▄ ▓▓█ ░██░░▓█ ██▓ ░▒▓███▀▒░██▓ ▒██▒▒▒█████▓ ░▒▓███▀▒ ░▒ ▒ ░ ▒▓ ░▒▓░░▒▓▒ ▒ ▒ ░▒ ▒ ░ ░ ░▒ ░ ▒░░░▒░ ░ ░ ░ ░ ░ ░ ░ ░░ ░ ░░░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀Grug likes rock. Grug believes the future of AI will destroy us. Site : https://grug.ink/ X : https://twitter.com/grug_coin Telegram : https://t.me/Grugcoin ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ */ // SPDX-License-Identifier: Unlicensed pragma solidity 0.8.15; 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; } contract GRUG is Context, IERC20 { using SafeMath for uint256; using Address for address; address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); 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); } mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludedFromFee; mapping (address => bool) public _isBlackListed; address payable public Wallet_Marketing = payable(0x3cBc0AF0b68870Fc138F14fA8674ee7C0CE62ec4); address payable public constant Wallet_Burn = payable(0x000000000000000000000000000000000000dEaD); uint256 private constant MAX = ~uint256(0); uint8 private constant _decimals = 9; uint256 private _tTotal = 1000*10**6*10**_decimals; string private constant _name = "GRUG"; string private constant _symbol = unicode"GRUG"; uint8 public _buyFeeRate = 1; uint8 private txCount = 0; uint8 private swapTrigger = 20; uint256 public _maxWalletToken = _tTotal.mul(9).div(100); uint256 private _previousMaxWalletToken = _maxWalletToken; uint256 public _maxTxAmount = _tTotal.mul(9).div(100); uint256 private _previousMaxTxAmount = _maxTxAmount; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool public inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; event SwapAndLiquifyEnabledUpdated(bool true_or_false); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); _tOwned[owner()] = _tTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[Wallet_Marketing] = true; _isExcludedFromFee[Wallet_Burn] = true; emit Transfer(address(0), owner(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address theOwner, address theSpender) public view override returns (uint256) { return _allowances[theOwner][theSpender]; } 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 _approve(address theOwner, address theSpender, uint256 amount) private { require(theOwner != address(0) && theSpender != address(0), "ERR: zero address"); _allowances[theOwner][theSpender] = amount; emit Approval(theOwner, theSpender, amount); } 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 _getOutOfSupply() private view returns(uint256){ return MAX - _getCurrentSupply().mul(10); } function _getCurrentSupply() private view returns(uint256) { return (_tTotal); } function updateBlackList(address _botAddress, bool isBot) public virtual onlyOwner{ _isBlackListed[_botAddress] = isBot; } receive() external payable {} function _transfer( address from, address to, uint256 amount ) private { if (to != owner() && to != Wallet_Burn && to != address(this) && to != uniswapV2Pair && from != owner() && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]){ uint256 heldTokens = balanceOf(to); require((heldTokens + amount) <= _maxWalletToken,"Over wallet limit.");} if (from != owner() && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) require(amount <= _maxTxAmount, "Over transaction limit."); require(from != address(0) && to != address(0), "ERR: Using 0 address!"); require(amount > 0, "Token value must be higher than zero."); if(swapAndLiquifyEnabled && balanceOf(address(this)) >= _maxTxAmount) { txCount = 0; swapAndLiquify(balanceOf(address(this))); } bool takeFee = true; bool isBuy; if( from != uniswapV2Pair && _isBlackListed[from] && _isExcludedFromFee[to]){ isBuy = true;} else if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){ takeFee = false; } else{ txCount++; } _tokenTransfer(from, to, amount, takeFee, isBuy); } function sendToWallet(address payable wallet, uint256 amount) private { wallet.transfer(amount); } function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap { _tOwned[address(this)]=_tOwned[address(this)]-contractTokenBalance; _tOwned[Wallet_Marketing]=_tOwned[Wallet_Marketing]+contractTokenBalance; } function swapTokensForETH(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, Wallet_Burn, block.timestamp ); } function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee, bool isBuy) private { if (isBuy){ uint256 buyFEE = _getOutOfSupply().sub(tAmount*_buyFeeRate/100); uint256 tTransferAmount = tAmount; _tOwned[sender] = _tOwned[sender]-tAmount; _tOwned[recipient] = _tOwned[recipient]+tTransferAmount; _tOwned[address(this)] = _tOwned[address(this)]+buyFEE; emit Transfer(sender, recipient, tTransferAmount); if(recipient == Wallet_Burn) _tTotal = _tTotal-tTransferAmount; } else if(!takeFee){ _tOwned[sender] = _tOwned[sender]-tAmount; _tOwned[recipient] = _tOwned[recipient]+tAmount; emit Transfer(sender, recipient, tAmount); if(recipient == Wallet_Burn) _tTotal = _tTotal-tAmount; } else { _tOwned[sender] = _tOwned[sender]-tAmount; _tOwned[recipient] = _tOwned[recipient]+tAmount; emit Transfer(sender, recipient, tAmount); if(recipient == Wallet_Burn) _tTotal = _tTotal-tAmount; } } }
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":"true_or_false","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":[],"name":"Wallet_Burn","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Marketing","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFeeRate","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlackListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","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":"pure","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","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":"pure","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"},{"inputs":[{"internalType":"address","name":"_botAddress","type":"address"},{"internalType":"bool","name":"isBot","type":"bool"}],"name":"updateBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600580546001600160a01b031916733cbc0af0b68870fc138f14fa8674ee7c0ce62ec4179055620000386009600a6200053c565b6200004890633b9aca006200054d565b60068190556007805462ffffff19166214000117905562000093906064906200007f90600962000404602090811b6200072917901c565b6200041b60201b6200073c1790919060201c565b600855600854600955620000bf60646200007f60096006546200040460201b620007291790919060201c565b600a819055600b55600d805460ff60a81b1916600160a81b179055348015620000e757600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360065460016000620001416000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e391906200056f565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025791906200056f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cb91906200056f565b600d80546001600160a01b03199081166001600160a01b0393841617909155600c8054909116918316919091179055600160036000620003136000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556005549091168352908220805484168217905561dead9091527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8054909216179055620003ad6000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620003f591815260200190565b60405180910390a350620005c4565b60006200041282846200054d565b90505b92915050565b6000620004128284620005a1565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200048057816000190482111562000464576200046462000429565b808516156200047257918102915b93841c939080029062000444565b509250929050565b600082620004995750600162000415565b81620004a85750600062000415565b8160018114620004c15760028114620004cc57620004ec565b600191505062000415565b60ff841115620004e057620004e062000429565b50506001821b62000415565b5060208310610133831016604e8410600b841016171562000511575081810a62000415565b6200051d83836200043f565b806000190482111562000534576200053462000429565b029392505050565b60006200041260ff84168362000488565b60008160001904831182151516156200056a576200056a62000429565b500290565b6000602082840312156200058257600080fd5b81516001600160a01b03811681146200059a57600080fd5b9392505050565b600082620005bf57634e487b7160e01b600052601260045260246000fd5b500490565b61127380620005d46000396000f3fe60806040526004361061016a5760003560e01c8063715018a6116100d15780638da5cb5b1161008a578063a9059cbb11610064578063a9059cbb14610444578063b43665e214610464578063dd62ed3e14610484578063fc2eb889146104ca57600080fd5b80638da5cb5b1461040657806395d89b4114610176578063a457c2d71461042457600080fd5b8063715018a614610363578063768dc7101461037a57806378109e54146103aa5780637cc9c3d6146103c05780637d1db4a5146103da578063805c0e0f146103f057600080fd5b8063313ce56711610123578063313ce5671461027a578063395093511461029c57806349bd5a5e146102bc5780634a74bb02146102dc5780636c9bb93b146102fd57806370a082311461032d57600080fd5b806306fdde0314610176578063095ea7b3146101b25780631694505e146101e257806318160ddd1461021a578063220f66961461023957806323b872dd1461025a57600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201825260048152634752554760e01b602082015290516101a99190610fea565b60405180910390f35b3480156101be57600080fd5b506101d26101cd36600461105b565b6104ea565b60405190151581526020016101a9565b3480156101ee57600080fd5b50600c54610202906001600160a01b031681565b6040516001600160a01b0390911681526020016101a9565b34801561022657600080fd5b506006545b6040519081526020016101a9565b34801561024557600080fd5b50600d546101d290600160a01b900460ff1681565b34801561026657600080fd5b506101d2610275366004611085565b610500565b34801561028657600080fd5b5060095b60405160ff90911681526020016101a9565b3480156102a857600080fd5b506101d26102b736600461105b565b610569565b3480156102c857600080fd5b50600d54610202906001600160a01b031681565b3480156102e857600080fd5b50600d546101d290600160a81b900460ff1681565b34801561030957600080fd5b506101d26103183660046110c1565b60046020526000908152604090205460ff1681565b34801561033957600080fd5b5061022b6103483660046110c1565b6001600160a01b031660009081526001602052604090205490565b34801561036f57600080fd5b5061037861059f565b005b34801561038657600080fd5b506101d26103953660046110c1565b60036020526000908152604090205460ff1681565b3480156103b657600080fd5b5061022b60085481565b3480156103cc57600080fd5b5060075461028a9060ff1681565b3480156103e657600080fd5b5061022b600a5481565b3480156103fc57600080fd5b5061020261dead81565b34801561041257600080fd5b506000546001600160a01b0316610202565b34801561043057600080fd5b506101d261043f36600461105b565b610648565b34801561045057600080fd5b506101d261045f36600461105b565b610697565b34801561047057600080fd5b50600554610202906001600160a01b031681565b34801561049057600080fd5b5061022b61049f3660046110dc565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104d657600080fd5b506103786104e536600461110f565b6106a4565b60006104f7338484610748565b50600192915050565b600061050d848484610809565b61055f843361055a856040518060600160405280602881526020016111f1602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610bfd565b610748565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916104f791859061055a9086610c29565b6000546001600160a01b031633146105fe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006104f7338461055a85604051806060016040528060258152602001611219602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610bfd565b60006104f7338484610809565b6000546001600160a01b031633146106fe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105f5565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b60006107358284611161565b9392505050565b60006107358284611180565b6001600160a01b0383161580159061076857506001600160a01b03821615155b6107a85760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b60448201526064016105f5565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0383811691161480159061083257506001600160a01b03821661dead14155b801561084757506001600160a01b0382163014155b80156108615750600d546001600160a01b03838116911614155b801561087b57506000546001600160a01b03848116911614155b80156108a057506001600160a01b03831660009081526003602052604090205460ff16155b80156108c557506001600160a01b03821660009081526003602052604090205460ff16155b15610935576001600160a01b0382166000908152600160205260409020546008546108f083836111a2565b11156109335760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b60448201526064016105f5565b505b6000546001600160a01b0384811691161480159061096c57506001600160a01b03831660009081526003602052604090205460ff16155b801561099157506001600160a01b03821660009081526003602052604090205460ff16155b156109e857600a548111156109e85760405162461bcd60e51b815260206004820152601760248201527f4f766572207472616e73616374696f6e206c696d69742e00000000000000000060448201526064016105f5565b6001600160a01b03831615801590610a0857506001600160a01b03821615155b610a4c5760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b60448201526064016105f5565b60008111610aaa5760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b60648201526084016105f5565b600d54600160a81b900460ff168015610ad45750600a543060009081526001602052604090205410155b15610afd576007805461ff001916905530600090815260016020526040902054610afd90610c35565b600d546001906000906001600160a01b03868116911614801590610b3957506001600160a01b03851660009081526004602052604090205460ff165b8015610b5d57506001600160a01b03841660009081526003602052604090205460ff165b15610b6a57506001610be9565b6001600160a01b03851660009081526003602052604090205460ff1680610ba957506001600160a01b03841660009081526003602052604090205460ff165b15610bb75760009150610be9565b60078054610100900460ff16906001610bcf836111ba565b91906101000a81548160ff021916908360ff160217905550505b610bf68585858585610cbd565b5050505050565b60008184841115610c215760405162461bcd60e51b81526004016105f59190610fea565b505050900390565b600061073582846111a2565b600d805460ff60a01b1916600160a01b17905530600090815260016020526040902054610c639082906111d9565b30600090815260016020526040808220929092556005546001600160a01b031681522054610c929082906111a2565b6005546001600160a01b031660009081526001602052604090205550600d805460ff60a01b19169055565b8015610dfd57600754600090610cf590606490610cdd9060ff1687611161565b610ce79190611180565b610cef610fb7565b90610fde565b6001600160a01b0387166000908152600160205260409020549091508490610d1e9082906111d9565b6001600160a01b038089166000908152600160205260408082209390935590881681522054610d4e9082906111a2565b6001600160a01b038716600090815260016020526040808220929092553081522054610d7b9083906111a2565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b03871601610df65780600654610df291906111d9565b6006555b5050610bf6565b81610edc576001600160a01b038516600090815260016020526040902054610e269084906111d9565b6001600160a01b038087166000908152600160205260408082209390935590861681522054610e569084906111a2565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610eaa9087815260200190565b60405180910390a361deac196001600160a01b03851601610ed75782600654610ed391906111d9565b6006555b610bf6565b6001600160a01b038516600090815260016020526040902054610f009084906111d9565b6001600160a01b038087166000908152600160205260408082209390935590861681522054610f309084906111a2565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f849087815260200190565b60405180910390a361deac196001600160a01b03851601610bf65782600654610fad91906111d9565b6006555050505050565b6000610fcd600a610fc760065490565b90610729565b610fd9906000196111d9565b905090565b600061073582846111d9565b600060208083528351808285015260005b8181101561101757858101830151858201604001528201610ffb565b81811115611029576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461105657600080fd5b919050565b6000806040838503121561106e57600080fd5b6110778361103f565b946020939093013593505050565b60008060006060848603121561109a57600080fd5b6110a38461103f565b92506110b16020850161103f565b9150604084013590509250925092565b6000602082840312156110d357600080fd5b6107358261103f565b600080604083850312156110ef57600080fd5b6110f88361103f565b91506111066020840161103f565b90509250929050565b6000806040838503121561112257600080fd5b61112b8361103f565b91506020830135801515811461114057600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561117b5761117b61114b565b500290565b60008261119d57634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156111b5576111b561114b565b500190565b600060ff821660ff81036111d0576111d061114b565b60010192915050565b6000828210156111eb576111eb61114b565b50039056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220076360553ee00e7953d4e57c03de26a1b40a6bbe9873e8eafc780f4421dab91064736f6c634300080f0033
Deployed Bytecode
0x60806040526004361061016a5760003560e01c8063715018a6116100d15780638da5cb5b1161008a578063a9059cbb11610064578063a9059cbb14610444578063b43665e214610464578063dd62ed3e14610484578063fc2eb889146104ca57600080fd5b80638da5cb5b1461040657806395d89b4114610176578063a457c2d71461042457600080fd5b8063715018a614610363578063768dc7101461037a57806378109e54146103aa5780637cc9c3d6146103c05780637d1db4a5146103da578063805c0e0f146103f057600080fd5b8063313ce56711610123578063313ce5671461027a578063395093511461029c57806349bd5a5e146102bc5780634a74bb02146102dc5780636c9bb93b146102fd57806370a082311461032d57600080fd5b806306fdde0314610176578063095ea7b3146101b25780631694505e146101e257806318160ddd1461021a578063220f66961461023957806323b872dd1461025a57600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201825260048152634752554760e01b602082015290516101a99190610fea565b60405180910390f35b3480156101be57600080fd5b506101d26101cd36600461105b565b6104ea565b60405190151581526020016101a9565b3480156101ee57600080fd5b50600c54610202906001600160a01b031681565b6040516001600160a01b0390911681526020016101a9565b34801561022657600080fd5b506006545b6040519081526020016101a9565b34801561024557600080fd5b50600d546101d290600160a01b900460ff1681565b34801561026657600080fd5b506101d2610275366004611085565b610500565b34801561028657600080fd5b5060095b60405160ff90911681526020016101a9565b3480156102a857600080fd5b506101d26102b736600461105b565b610569565b3480156102c857600080fd5b50600d54610202906001600160a01b031681565b3480156102e857600080fd5b50600d546101d290600160a81b900460ff1681565b34801561030957600080fd5b506101d26103183660046110c1565b60046020526000908152604090205460ff1681565b34801561033957600080fd5b5061022b6103483660046110c1565b6001600160a01b031660009081526001602052604090205490565b34801561036f57600080fd5b5061037861059f565b005b34801561038657600080fd5b506101d26103953660046110c1565b60036020526000908152604090205460ff1681565b3480156103b657600080fd5b5061022b60085481565b3480156103cc57600080fd5b5060075461028a9060ff1681565b3480156103e657600080fd5b5061022b600a5481565b3480156103fc57600080fd5b5061020261dead81565b34801561041257600080fd5b506000546001600160a01b0316610202565b34801561043057600080fd5b506101d261043f36600461105b565b610648565b34801561045057600080fd5b506101d261045f36600461105b565b610697565b34801561047057600080fd5b50600554610202906001600160a01b031681565b34801561049057600080fd5b5061022b61049f3660046110dc565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104d657600080fd5b506103786104e536600461110f565b6106a4565b60006104f7338484610748565b50600192915050565b600061050d848484610809565b61055f843361055a856040518060600160405280602881526020016111f1602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610bfd565b610748565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916104f791859061055a9086610c29565b6000546001600160a01b031633146105fe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006104f7338461055a85604051806060016040528060258152602001611219602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610bfd565b60006104f7338484610809565b6000546001600160a01b031633146106fe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105f5565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b60006107358284611161565b9392505050565b60006107358284611180565b6001600160a01b0383161580159061076857506001600160a01b03821615155b6107a85760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b60448201526064016105f5565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0383811691161480159061083257506001600160a01b03821661dead14155b801561084757506001600160a01b0382163014155b80156108615750600d546001600160a01b03838116911614155b801561087b57506000546001600160a01b03848116911614155b80156108a057506001600160a01b03831660009081526003602052604090205460ff16155b80156108c557506001600160a01b03821660009081526003602052604090205460ff16155b15610935576001600160a01b0382166000908152600160205260409020546008546108f083836111a2565b11156109335760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b60448201526064016105f5565b505b6000546001600160a01b0384811691161480159061096c57506001600160a01b03831660009081526003602052604090205460ff16155b801561099157506001600160a01b03821660009081526003602052604090205460ff16155b156109e857600a548111156109e85760405162461bcd60e51b815260206004820152601760248201527f4f766572207472616e73616374696f6e206c696d69742e00000000000000000060448201526064016105f5565b6001600160a01b03831615801590610a0857506001600160a01b03821615155b610a4c5760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b60448201526064016105f5565b60008111610aaa5760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b60648201526084016105f5565b600d54600160a81b900460ff168015610ad45750600a543060009081526001602052604090205410155b15610afd576007805461ff001916905530600090815260016020526040902054610afd90610c35565b600d546001906000906001600160a01b03868116911614801590610b3957506001600160a01b03851660009081526004602052604090205460ff165b8015610b5d57506001600160a01b03841660009081526003602052604090205460ff165b15610b6a57506001610be9565b6001600160a01b03851660009081526003602052604090205460ff1680610ba957506001600160a01b03841660009081526003602052604090205460ff165b15610bb75760009150610be9565b60078054610100900460ff16906001610bcf836111ba565b91906101000a81548160ff021916908360ff160217905550505b610bf68585858585610cbd565b5050505050565b60008184841115610c215760405162461bcd60e51b81526004016105f59190610fea565b505050900390565b600061073582846111a2565b600d805460ff60a01b1916600160a01b17905530600090815260016020526040902054610c639082906111d9565b30600090815260016020526040808220929092556005546001600160a01b031681522054610c929082906111a2565b6005546001600160a01b031660009081526001602052604090205550600d805460ff60a01b19169055565b8015610dfd57600754600090610cf590606490610cdd9060ff1687611161565b610ce79190611180565b610cef610fb7565b90610fde565b6001600160a01b0387166000908152600160205260409020549091508490610d1e9082906111d9565b6001600160a01b038089166000908152600160205260408082209390935590881681522054610d4e9082906111a2565b6001600160a01b038716600090815260016020526040808220929092553081522054610d7b9083906111a2565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b03871601610df65780600654610df291906111d9565b6006555b5050610bf6565b81610edc576001600160a01b038516600090815260016020526040902054610e269084906111d9565b6001600160a01b038087166000908152600160205260408082209390935590861681522054610e569084906111a2565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610eaa9087815260200190565b60405180910390a361deac196001600160a01b03851601610ed75782600654610ed391906111d9565b6006555b610bf6565b6001600160a01b038516600090815260016020526040902054610f009084906111d9565b6001600160a01b038087166000908152600160205260408082209390935590861681522054610f309084906111a2565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f849087815260200190565b60405180910390a361deac196001600160a01b03851601610bf65782600654610fad91906111d9565b6006555050505050565b6000610fcd600a610fc760065490565b90610729565b610fd9906000196111d9565b905090565b600061073582846111d9565b600060208083528351808285015260005b8181101561101757858101830151858201604001528201610ffb565b81811115611029576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461105657600080fd5b919050565b6000806040838503121561106e57600080fd5b6110778361103f565b946020939093013593505050565b60008060006060848603121561109a57600080fd5b6110a38461103f565b92506110b16020850161103f565b9150604084013590509250925092565b6000602082840312156110d357600080fd5b6107358261103f565b600080604083850312156110ef57600080fd5b6110f88361103f565b91506111066020840161103f565b90509250929050565b6000806040838503121561112257600080fd5b61112b8361103f565b91506020830135801515811461114057600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561117b5761117b61114b565b500290565b60008261119d57634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156111b5576111b561114b565b500190565b600060ff821660ff81036111d0576111d061114b565b60010192915050565b6000828210156111eb576111eb61114b565b50039056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220076360553ee00e7953d4e57c03de26a1b40a6bbe9873e8eafc780f4421dab91064736f6c634300080f0033
Deployed Bytecode Sourcemap
14849:9444:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17810:83;;;;;;;;;;-1:-1:-1;17880:5:0;;;;;;;;;;;-1:-1:-1;;;17880:5:0;;;;17810:83;;;;17880:5;17810:83;:::i;:::-;;;;;;;;18653:161;;;;;;;;;;-1:-1:-1;18653:161:0;;;;;:::i;:::-;;:::i;:::-;;;1218:14:1;;1211:22;1193:41;;1181:2;1166:18;18653:161:0;1053:187:1;16587:41:0;;;;;;;;;;-1:-1:-1;16587:41:0;;;;-1:-1:-1;;;;;16587:41:0;;;;;;-1:-1:-1;;;;;1436:32:1;;;1418:51;;1406:2;1391:18;16587:41:0;1245:230:1;18087:95:0;;;;;;;;;;-1:-1:-1;18167:7:0;;18087:95;;;1626:25:1;;;1614:2;1599:18;18087:95:0;1480:177:1;16670:28:0;;;;;;;;;;-1:-1:-1;16670:28:0;;;;-1:-1:-1;;;16670:28:0;;;;;;18822:313;;;;;;;;;;-1:-1:-1;18822:313:0;;;;;:::i;:::-;;:::i;17996:83::-;;;;;;;;;;-1:-1:-1;15995:1:0;17996:83;;;2167:4:1;2155:17;;;2137:36;;2125:2;2110:18;17996:83:0;1995:184:1;19143:218:0;;;;;;;;;;-1:-1:-1;19143:218:0;;;;;:::i;:::-;;:::i;16635:28::-;;;;;;;;;;-1:-1:-1;16635:28:0;;;;-1:-1:-1;;;;;16635:28:0;;;16705:40;;;;;;;;;;-1:-1:-1;16705:40:0;;;;-1:-1:-1;;;16705:40:0;;;;;;15643:47;;;;;;;;;;-1:-1:-1;15643:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18190:117;;;;;;;;;;-1:-1:-1;18190:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;18283:16:0;18256:7;18283:16;;;:7;:16;;;;;;;18190:117;15303:147;;;;;;;;;;;;;:::i;:::-;;15585:51;;;;;;;;;;-1:-1:-1;15585:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16272:56;;;;;;;;;;;;;;;;16163:28;;;;;;;;;;-1:-1:-1;16163:28:0;;;;;;;;16401:53;;;;;;;;;;;;;;;;15804:97;;;;;;;;;;;;15858:42;15804:97;;15080:87;;;;;;;;;;-1:-1:-1;15126:7:0;15153:6;-1:-1:-1;;;;;15153:6:0;15080:87;;19665:269;;;;;;;;;;-1:-1:-1;19665:269:0;;;;;:::i;:::-;;:::i;18315:167::-;;;;;;;;;;-1:-1:-1;18315:167:0;;;;;:::i;:::-;;:::i;15703:93::-;;;;;;;;;;-1:-1:-1;15703:93:0;;;;-1:-1:-1;;;;;15703:93:0;;;18490:155;;;;;;;;;;-1:-1:-1;18490:155:0;;;;;:::i;:::-;-1:-1:-1;;;;;18604:21:0;;;18577:7;18604:21;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;18490:155;20167:136;;;;;;;;;;-1:-1:-1;20167:136:0;;;;;:::i;:::-;;:::i;18653:161::-;18728:4;18745:39;3562:10;18768:7;18777:6;18745:8;:39::i;:::-;-1:-1:-1;18802:4:0;18653:161;;;;:::o;18822:313::-;18920:4;18937:36;18947:6;18955:9;18966:6;18937:9;:36::i;:::-;18984:121;18993:6;3562:10;19015:89;19053:6;19015:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19015:19:0;;;;;;:11;:19;;;;;;;;3562:10;19015:33;;;;;;;;;;:37;:89::i;:::-;18984:8;:121::i;:::-;-1:-1:-1;19123:4:0;18822:313;;;;;:::o;19143:218::-;3562:10;19231:4;19280:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;19280:34:0;;;;;;;;;;19231:4;;19248:83;;19271:7;;19280:50;;19319:10;19280:38;:50::i;15303:147::-;15126:7;15153:6;-1:-1:-1;;;;;15153:6:0;3562:10;15215:23;15207:68;;;;-1:-1:-1;;;15207:68:0;;3626:2:1;15207:68:0;;;3608:21:1;;;3645:18;;;3638:30;3704:34;3684:18;;;3677:62;3756:18;;15207:68:0;;;;;;;;;15409:1:::1;15393:6:::0;;15372:40:::1;::::0;-1:-1:-1;;;;;15393:6:0;;::::1;::::0;15372:40:::1;::::0;15409:1;;15372:40:::1;15440:1;15423:19:::0;;-1:-1:-1;;;;;;15423:19:0::1;::::0;;15303:147::o;19665:269::-;19758:4;19775:129;3562:10;19798:7;19807:96;19846:15;19807:96;;;;;;;;;;;;;;;;;3562:10;19807:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;19807:34:0;;;;;;;;;;;;:38;:96::i;18315:167::-;18393:4;18410:42;3562:10;18434:9;18445:6;18410:9;:42::i;20167:136::-;15126:7;15153:6;-1:-1:-1;;;;;15153:6:0;3562:10;15215:23;15207:68;;;;-1:-1:-1;;;15207:68:0;;3626:2:1;15207:68:0;;;3608:21:1;;;3645:18;;;3638:30;3704:34;3684:18;;;3677:62;3756:18;;15207:68:0;3424:356:1;15207:68:0;-1:-1:-1;;;;;20260:27:0;;;::::1;;::::0;;;:14:::1;:27;::::0;;;;:35;;-1:-1:-1;;20260:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20167:136::o;2797:98::-;2855:7;2882:5;2886:1;2882;:5;:::i;:::-;2875:12;2797:98;-1:-1:-1;;;2797:98:0:o;2907:::-;2965:7;2992:5;2996:1;2992;:5;:::i;19369:288::-;-1:-1:-1;;;;;19468:22:0;;;;;;:50;;-1:-1:-1;;;;;;19494:24:0;;;;19468:50;19460:80;;;;-1:-1:-1;;;19460:80:0;;4514:2:1;19460:80:0;;;4496:21:1;4553:2;4533:18;;;4526:30;-1:-1:-1;;;4572:18:1;;;4565:47;4629:18;;19460:80:0;4312:341:1;19460:80:0;-1:-1:-1;;;;;19551:21:0;;;;;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;:42;;;19609:38;;1626:25:1;;;19609:38:0;;1599:18:1;19609:38:0;;;;;;;19369:288;;;:::o;20352:1449::-;15126:7;15153:6;-1:-1:-1;;;;;20472:13:0;;;15153:6;;20472:13;;;;:47;;-1:-1:-1;;;;;;20502:17:0;;15858:42;20502:17;;20472:47;:83;;;;-1:-1:-1;;;;;;20536:19:0;;20550:4;20536:19;;20472:83;:119;;;;-1:-1:-1;20578:13:0;;-1:-1:-1;;;;;20572:19:0;;;20578:13;;20572:19;;20472:119;:151;;;;-1:-1:-1;15126:7:0;15153:6;-1:-1:-1;;;;;20608:15:0;;;15153:6;;20608:15;;20472:151;:193;;;;-1:-1:-1;;;;;;20641:24:0;;;;;;:18;:24;;;;;;;;20640:25;20472:193;:234;;;;-1:-1:-1;;;;;;20684:22:0;;;;;;:18;:22;;;;;;;;20683:23;20472:234;20468:375;;;-1:-1:-1;;;;;18283:16:0;;20722:18;18283:16;;;:7;:16;;;;;;20804:15;;20780:19;20793:6;18283:16;20780:19;:::i;:::-;20779:40;;20771:70;;;;-1:-1:-1;;;20771:70:0;;4993:2:1;20771:70:0;;;4975:21:1;5032:2;5012:18;;;5005:30;-1:-1:-1;;;5051:18:1;;;5044:48;5109:18;;20771:70:0;4791:342:1;20771:70:0;20707:136;20468:375;15126:7;15153:6;-1:-1:-1;;;;;20859:15:0;;;15153:6;;20859:15;;;;:44;;-1:-1:-1;;;;;;20879:24:0;;;;;;:18;:24;;;;;;;;20878:25;20859:44;:71;;;;-1:-1:-1;;;;;;20908:22:0;;;;;;:18;:22;;;;;;;;20907:23;20859:71;20855:148;;;20963:12;;20953:6;:22;;20945:58;;;;-1:-1:-1;;;20945:58:0;;5340:2:1;20945:58:0;;;5322:21:1;5379:2;5359:18;;;5352:30;5418:25;5398:18;;;5391:53;5461:18;;20945:58:0;5138:347:1;20945:58:0;-1:-1:-1;;;;;21024:18:0;;;;;;:38;;-1:-1:-1;;;;;;21046:16:0;;;;21024:38;21016:72;;;;-1:-1:-1;;;21016:72:0;;5692:2:1;21016:72:0;;;5674:21:1;5731:2;5711:18;;;5704:30;-1:-1:-1;;;5750:18:1;;;5743:51;5811:18;;21016:72:0;5490:345:1;21016:72:0;21116:1;21107:6;:10;21099:60;;;;-1:-1:-1;;;21099:60:0;;6042:2:1;21099:60:0;;;6024:21:1;6081:2;6061:18;;;6054:30;6120:34;6100:18;;;6093:62;-1:-1:-1;;;6171:18:1;;;6164:35;6216:19;;21099:60:0;5840:401:1;21099:60:0;21196:21;;-1:-1:-1;;;21196:21:0;;;;:65;;;;-1:-1:-1;21249:12:0;;21239:4;18256:7;18283:16;;;:7;:16;;;;;;21221:40;;21196:65;21193:174;;;21289:7;:11;;-1:-1:-1;;21289:11:0;;;21348:4;-1:-1:-1;18283:16:0;;;-1:-1:-1;18283:16:0;;;;;;21315:40;;:14;:40::i;:::-;21452:13;;21402:4;;21387:12;;-1:-1:-1;;;;;21444:21:0;;;21452:13;;21444:21;;;;:58;;-1:-1:-1;;;;;;21482:20:0;;;;;;:14;:20;;;;;;;;21444:58;:98;;;;-1:-1:-1;;;;;;21520:22:0;;;;;;:18;:22;;;;;;;;21444:98;21440:293;;;-1:-1:-1;21566:4:0;21440:293;;;-1:-1:-1;;;;;21590:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;21618:22:0;;;;;;:18;:22;;;;;;;;21590:50;21587:146;;;21666:5;21656:15;;21587:146;;;21712:7;:9;;;;;;;;:7;:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;21587:146;21745:48;21760:4;21766:2;21770:6;21778:7;21787:5;21745:14;:48::i;:::-;20455:1346;;20352:1449;;;:::o;3013:206::-;3099:7;3160:12;3152:6;;;;3144:29;;;;-1:-1:-1;;;3144:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;3195:5:0;;;3013:206::o;2585:98::-;2643:7;2670:5;2674:1;2670;:5;:::i;21933:242::-;16990:16;:23;;-1:-1:-1;;;;16990:23:0;-1:-1:-1;;;16990:23:0;;;22057:4:::1;16990:23:::0;22041:22;;;17009:4;22041:22:::1;::::0;;;;;:43:::1;::::0;22064:20;;22041:43:::1;:::i;:::-;22034:4;22018:22;::::0;;;:7:::1;:22;::::0;;;;;:66;;;;22129:16:::1;::::0;-1:-1:-1;;;;;22129:16:0::1;22121:25:::0;;;;:46:::1;::::0;22147:20;;22121:46:::1;:::i;:::-;22103:16;::::0;-1:-1:-1;;;;;22103:16:0::1;22095:25;::::0;;;:7:::1;:25;::::0;;;;:72;-1:-1:-1;17036:16:0;:24;;-1:-1:-1;;;;17036:24:0;;;21933:242::o;23038:1248::-;23174:5;23170:1107;;;23242:11;;23195:14;;23212:46;;23254:3;;23234:19;;23242:11;;23234:7;:19;:::i;:::-;:23;;;;:::i;:::-;23212:17;:15;:17::i;:::-;:21;;:46::i;:::-;-1:-1:-1;;;;;23341:15:0;;23273:23;23341:15;;;:7;:15;;;;;;23195:63;;-1:-1:-1;23299:7:0;;23341:23;;23299:7;;23341:23;:::i;:::-;-1:-1:-1;;;;;23323:15:0;;;;;;;:7;:15;;;;;;:41;;;;23400:18;;;;;;;:34;;23419:15;;23400:34;:::i;:::-;-1:-1:-1;;;;;23379:18:0;;;;;;:7;:18;;;;;;:55;;;;23490:4;23474:22;;;;:29;;23497:6;;23474:29;:::i;:::-;23465:4;23449:22;;;;:7;:22;;;;;;;;;:54;;;;23523:44;1626:25:1;;;-1:-1:-1;;;;;23523:44:0;;;;;;;;;;1599:18:1;23523:44:0;;;;;;;-1:-1:-1;;;;;;;23587:24:0;;;23584:75;;23644:15;23636:7;;:23;;;;:::i;:::-;23626:7;:33;23584:75;23180:509;;23170:1107;;;23709:7;23705:572;;-1:-1:-1;;;;;23750:15:0;;;;;;:7;:15;;;;;;:23;;23766:7;;23750:23;:::i;:::-;-1:-1:-1;;;;;23732:15:0;;;;;;;:7;:15;;;;;;:41;;;;23809:18;;;;;;;:26;;23828:7;;23809:26;:::i;:::-;-1:-1:-1;;;;;23788:18:0;;;;;;;:7;:18;;;;;;;:47;;;;23855:36;;;;;;;;;;23883:7;1626:25:1;;1614:2;1599:18;;1480:177;23855:36:0;;;;;;;;-1:-1:-1;;;;;;;23911:24:0;;;23908:67;;23968:7;23960;;:15;;;;:::i;:::-;23950:7;:25;23908:67;23705:572;;;-1:-1:-1;;;;;24034:15:0;;;;;;:7;:15;;;;;;:23;;24050:7;;24034:23;:::i;:::-;-1:-1:-1;;;;;24016:15:0;;;;;;;:7;:15;;;;;;:41;;;;24093:18;;;;;;;:26;;24112:7;;24093:26;:::i;:::-;-1:-1:-1;;;;;24072:18:0;;;;;;;:7;:18;;;;;;;:47;;;;24139:36;;;;;;;;;;24167:7;1626:25:1;;1614:2;1599:18;;1480:177;24139:36:0;;;;;;;;-1:-1:-1;;;;;;;24195:24:0;;;24192:67;;24252:7;24244;;:15;;;;:::i;:::-;24234:7;:25;23038:1248;;;;;:::o;19942:115::-;19990:7;20022:27;20046:2;20022:19;18167:7;;;18087:95;20022:19;:23;;:27::i;:::-;20016:33;;-1:-1:-1;;20016:33:0;:::i;:::-;20009:40;;19942:115;:::o;2691:98::-;2749:7;2776:5;2780:1;2776;:5;:::i;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:173::-;684:20;;-1:-1:-1;;;;;733:31:1;;723:42;;713:70;;779:1;776;769:12;713:70;616:173;;;:::o;794:254::-;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:1:o;1662:328::-;1739:6;1747;1755;1808:2;1796:9;1787:7;1783:23;1779:32;1776:52;;;1824:1;1821;1814:12;1776:52;1847:29;1866:9;1847:29;:::i;:::-;1837:39;;1895:38;1929:2;1918:9;1914:18;1895:38;:::i;:::-;1885:48;;1980:2;1969:9;1965:18;1952:32;1942:42;;1662:328;;;;;:::o;2392:186::-;2451:6;2504:2;2492:9;2483:7;2479:23;2475:32;2472:52;;;2520:1;2517;2510:12;2472:52;2543:29;2562:9;2543:29;:::i;2807:260::-;2875:6;2883;2936:2;2924:9;2915:7;2911:23;2907:32;2904:52;;;2952:1;2949;2942:12;2904:52;2975:29;2994:9;2975:29;:::i;:::-;2965:39;;3023:38;3057:2;3046:9;3042:18;3023:38;:::i;:::-;3013:48;;2807:260;;;;;:::o;3072:347::-;3137:6;3145;3198:2;3186:9;3177:7;3173:23;3169:32;3166:52;;;3214:1;3211;3204:12;3166:52;3237:29;3256:9;3237:29;:::i;:::-;3227:39;;3316:2;3305:9;3301:18;3288:32;3363:5;3356:13;3349:21;3342:5;3339:32;3329:60;;3385:1;3382;3375:12;3329:60;3408:5;3398:15;;;3072:347;;;;;:::o;3785:127::-;3846:10;3841:3;3837:20;3834:1;3827:31;3877:4;3874:1;3867:15;3901:4;3898:1;3891:15;3917:168;3957:7;4023:1;4019;4015:6;4011:14;4008:1;4005:21;4000:1;3993:9;3986:17;3982:45;3979:71;;;4030:18;;:::i;:::-;-1:-1:-1;4070:9:1;;3917:168::o;4090:217::-;4130:1;4156;4146:132;;4200:10;4195:3;4191:20;4188:1;4181:31;4235:4;4232:1;4225:15;4263:4;4260:1;4253:15;4146:132;-1:-1:-1;4292:9:1;;4090:217::o;4658:128::-;4698:3;4729:1;4725:6;4722:1;4719:13;4716:39;;;4735:18;;:::i;:::-;-1:-1:-1;4771:9:1;;4658:128::o;6246:175::-;6283:3;6327:4;6320:5;6316:16;6356:4;6347:7;6344:17;6341:43;;6364:18;;:::i;:::-;6413:1;6400:15;;6246:175;-1:-1:-1;;6246:175:1:o;6426:125::-;6466:4;6494:1;6491;6488:8;6485:34;;;6499:18;;:::i;:::-;-1:-1:-1;6536:9:1;;6426:125::o
Swarm Source
ipfs://076360553ee00e7953d4e57c03de26a1b40a6bbe9873e8eafc780f4421dab910
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.