Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000 IGROK
Holders
32
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,995,000 IGROKValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
IGROK
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-12 */ /****************************************************************** Website: https://igrokerc.com Twitter: https://x.com/iGROKErc Telegram: https://t.me/iGrok_Portal ******************************************************************/ // SPDX-License-Identifier: MIT pragma solidity ^0.8.18; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { return msg.data; } } interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer( address recipient, uint256 amount ) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance( address owner, address spender ) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * // importANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval( address indexed owner, address indexed spender, uint256 value ); } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be 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; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } 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 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); } // pragma solidity >=0.6.2; 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; } 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; function sync() external; } contract IGROK is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "iGROK"; string private constant _symbol = "IGROK"; uint256 private constant _totalSupply = 100_000_000 * 10 ** 18; uint256 public maxWalletlimit = 2_000_000 * 10 ** 18; uint256 public minSwap = 100_000 * 10 ** 18; uint8 private constant _decimals = 18; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; address payable public _taxWallet; uint256 public BuyTax = 5; uint256 public SellTax = 5; uint256 public InitialTax = 2; bool private inSwapAndLiquify; bool public tradingEnabled = false; bool public swapEnabled = false; mapping(address => uint256) private _balance; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) private _isExcludedFromWalletLimit; mapping(address => bool) private _automatedMarketMakerPairs; constructor() { _taxWallet = payable(0x8623A78F134e1C8b5503CA4402521bd4ab1FBCC4); _isExcludedFromFees[_taxWallet] = true; _isExcludedFromFees[owner()] = true; _isExcludedFromFees[address(this)] = true; _isExcludedFromWalletLimit[_taxWallet] = true; _isExcludedFromWalletLimit[address(this)] = true; _isExcludedFromWalletLimit[owner()] = true; _mint(owner(), _totalSupply); } function addLiquidityETH() external payable onlyOwner { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); // Create a uniswap pair for this new token uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _setAutomatedMarketMakerPair(uniswapV2Pair, true); _approve(address(this), address(uniswapV2Router), ~uint256(0)); uniswapV2Router.addLiquidityETH{value: msg.value}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); } 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 pure override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balance[account]; } function transfer( address recipient, uint256 amount ) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance( address owner, address spender ) public view override returns (uint256) { return _allowances[owner][spender]; } function approve( address spender, uint256 amount ) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()] - 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 _mint(address account, uint256 amount) private { _balance[account] = amount; emit Transfer(address(0), account, amount); } function excludeFromFees(address holder, bool exempt) external onlyOwner { _isExcludedFromFees[holder] = exempt; } function changeMinSwap(uint256 NewMinSwapAmount) external onlyOwner { minSwap = NewMinSwapAmount * 10 ** 18; } function enableTrading() external onlyOwner { tradingEnabled = true; swapEnabled = true; } function transferToAddressETH( address payable recipient, uint256 amount ) private { recipient.transfer(amount); } function removeLimits() external onlyOwner { maxWalletlimit = type(uint).max; BuyTax = 1; SellTax = 1; InitialTax = 2; } function excludeFromWalletLimit( address holder, bool exempt ) external onlyOwner { _isExcludedFromWalletLimit[holder] = exempt; } function setAutomatedMarketMakerPair( address pair, bool value ) public onlyOwner { require( pair != uniswapV2Pair, "The pair cannot be removed from _automatedMarketMakerPairs" ); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { _automatedMarketMakerPairs[pair] = value; } function _basicTransfer( address sender, address recipient, uint256 amount ) internal returns (bool) { _balance[sender] -= amount; _balance[recipient] += amount; emit Transfer(sender, recipient, amount); return true; } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(amount > 1e9, "Min transfer amt"); require( tradingEnabled || _isExcludedFromFees[from] || _isExcludedFromFees[to], "Not Enabled" ); if (inSwapAndLiquify) { //No tax transfer _basicTransfer(from, to, amount); return; } uint256 finalAmount = amount; uint256 taxTokens = 0; uint256 transferAmount = amount; if (_isExcludedFromFees[from] && swapEnabled) { taxTokens = (finalAmount * InitialTax) / 100; finalAmount -= transferAmount; } else { if (_automatedMarketMakerPairs[from]) { taxTokens = (finalAmount * BuyTax) / 100; transferAmount = finalAmount - taxTokens; if ( !_isExcludedFromWalletLimit[from] || !_isExcludedFromWalletLimit[to] ) { require( balanceOf(to).add(transferAmount) <= maxWalletlimit ); } } else if (_automatedMarketMakerPairs[to]) { uint256 tokensToSwap = _balance[address(this)]; if (tokensToSwap > 0 && !inSwapAndLiquify && swapEnabled) { inSwapAndLiquify = true; address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); uniswapV2Router .swapExactTokensForETHSupportingFeeOnTransferTokens( tokensToSwap, 0, path, _taxWallet, block.timestamp ); inSwapAndLiquify = false; } taxTokens = (finalAmount * SellTax) / 100; transferAmount = finalAmount - taxTokens; } else { taxTokens = 0; } } if (taxTokens != 0 && swapEnabled) { //Tax transfer _balance[from] -= finalAmount; _balance[to] += transferAmount; _balance[address(this)] += taxTokens; emit Transfer(from, address(this), taxTokens); emit Transfer(from, to, transferAmount); } else { _basicTransfer(from, to, amount); } } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"InitialTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidityETH","outputs":[],"stateMutability":"payable","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":[{"internalType":"uint256","name":"NewMinSwapAmount","type":"uint256"}],"name":"changeMinSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"excludeFromWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxWalletlimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","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":"pure","type":"function"},{"inputs":[],"name":"tradingEnabled","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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526a01a784379d99db4200000060015569152d02c7e14af68000006002908155600560068190556007556008556009805462ffff001916905534801561004857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b031916738623a78f134e1c8b5503ca4402521bd4ab1fbcc49081179091556000908152600c60208190527f2d7c9ff8ea18fbe24d6f517b216f0dc458becad3391200088c073fb01946af0e805460ff19166001908117909155916101016000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530808252600c85528382208054871660019081179091556005549093168252600d9485905283822080548716841790558152918220805490941681179093556101806000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556101ce6101bd6000546001600160a01b031690565b6a52b7d2dcc80cd2e40000006101d3565b610224565b6001600160a01b0382166000818152600a60209081526040808320859055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b611796806102336000396000f3fe6080604052600436106101c65760003560e01c8063715018a6116100f75780639a7a23d611610095578063dd62ed3e11610064578063dd62ed3e14610512578063e16830a814610558578063ed99530714610578578063f2fde38b1461058057600080fd5b80639a7a23d61461049c578063a9059cbb146104bc578063c0246668146104dc578063c8725658146104fc57600080fd5b806389e40cf9116100d157806389e40cf9146104255780638a8c523c1461043b5780638da5cb5b1461045057806395d89b411461046e57600080fd5b8063715018a6146103e5578063751039fc146103fa57806383fd03671461040f57600080fd5b8063313ce5671161016457806359cd90311161013e57806359cd9031146103595780636ddd17131461036f5780636f268a991461038f57806370a08231146103af57600080fd5b8063313ce567146102fe57806349bd5a5e1461031a5780634ada218b1461033a57600080fd5b80631694505e116101a05780631694505e1461026657806318160ddd1461029e57806323b872dd146102bc57806327a1f5cc146102dc57600080fd5b806306fdde03146101d2578063095ea7b3146102125780630a910d1f1461024257600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506040805180820190915260058152646947524f4b60d81b60208201525b604051610209919061146f565b60405180910390f35b34801561021e57600080fd5b5061023261022d3660046114d5565b6105a0565b6040519015158152602001610209565b34801561024e57600080fd5b5061025860065481565b604051908152602001610209565b34801561027257600080fd5b50600354610286906001600160a01b031681565b6040516001600160a01b039091168152602001610209565b3480156102aa57600080fd5b506a52b7d2dcc80cd2e4000000610258565b3480156102c857600080fd5b506102326102d7366004611501565b6105b7565b3480156102e857600080fd5b506102fc6102f7366004611542565b610609565b005b34801561030a57600080fd5b5060405160128152602001610209565b34801561032657600080fd5b50600454610286906001600160a01b031681565b34801561034657600080fd5b5060095461023290610100900460ff1681565b34801561036557600080fd5b5061025860025481565b34801561037b57600080fd5b506009546102329062010000900460ff1681565b34801561039b57600080fd5b50600554610286906001600160a01b031681565b3480156103bb57600080fd5b506102586103ca36600461155b565b6001600160a01b03166000908152600a602052604090205490565b3480156103f157600080fd5b506102fc610654565b34801561040657600080fd5b506102fc6106c8565b34801561041b57600080fd5b5061025860075481565b34801561043157600080fd5b5061025860015481565b34801561044757600080fd5b506102fc610709565b34801561045c57600080fd5b506000546001600160a01b0316610286565b34801561047a57600080fd5b506040805180820190915260058152644947524f4b60d81b60208201526101fc565b3480156104a857600080fd5b506102fc6104b7366004611578565b610746565b3480156104c857600080fd5b506102326104d73660046114d5565b610802565b3480156104e857600080fd5b506102fc6104f7366004611578565b61080f565b34801561050857600080fd5b5061025860085481565b34801561051e57600080fd5b5061025861052d3660046115b6565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b34801561056457600080fd5b506102fc610573366004611578565b610864565b6102fc6108b9565b34801561058c57600080fd5b506102fc61059b36600461155b565b610b71565b60006105ad338484610c5b565b5060015b92915050565b60006105c4848484610d7f565b6001600160a01b0384166000908152600b60209081526040808320338085529252909120546105ff9186916105fa9086906115fa565b610c5b565b5060019392505050565b6000546001600160a01b0316331461063c5760405162461bcd60e51b81526004016106339061160d565b60405180910390fd5b61064e81670de0b6b3a7640000611642565b60025550565b6000546001600160a01b0316331461067e5760405162461bcd60e51b81526004016106339061160d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106f25760405162461bcd60e51b81526004016106339061160d565b600019600190815560068190556007556002600855565b6000546001600160a01b031633146107335760405162461bcd60e51b81526004016106339061160d565b6009805462ffff00191662010100179055565b6000546001600160a01b031633146107705760405162461bcd60e51b81526004016106339061160d565b6004546001600160a01b03908116908316036107f45760405162461bcd60e51b815260206004820152603a60248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f5f6175746f6d617465644d61726b65744d616b657250616972730000000000006064820152608401610633565b6107fe8282611329565b5050565b60006105ad338484610d7f565b6000546001600160a01b031633146108395760405162461bcd60e51b81526004016106339061160d565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461088e5760405162461bcd60e51b81526004016106339061160d565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108e35760405162461bcd60e51b81526004016106339061160d565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561093a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095e9190611659565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cf9190611659565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a409190611659565b600480546001600160a01b039283166001600160a01b03199182168117909255600380549385169390911692909217909155610a7d906001611329565b600354610a979030906001600160a01b0316600019610c5b565b6003546001600160a01b031663f305d7193430610ac9816001600160a01b03166000908152600a602052604090205490565b600080610ade6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b46573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b6b9190611676565b50505050565b6000546001600160a01b03163314610b9b5760405162461bcd60e51b81526004016106339061160d565b6001600160a01b038116610c005760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610633565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610cbd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610633565b6001600160a01b038216610d1e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610633565b6001600160a01b038381166000818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610de35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610633565b633b9aca008111610e295760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b6044820152606401610633565b600954610100900460ff1680610e5757506001600160a01b0383166000908152600c602052604090205460ff165b80610e7a57506001600160a01b0382166000908152600c602052604090205460ff165b610eb45760405162461bcd60e51b815260206004820152600b60248201526a139bdd08115b98589b195960aa1b6044820152606401610633565b60095460ff1615610eca57610b6b838383611354565b6001600160a01b0383166000908152600c6020526040812054829190829060ff168015610eff575060095462010000900460ff165b15610f3157606460085484610f149190611642565b610f1e91906116a4565b9150610f2a81846115fa565b92506111e8565b6001600160a01b0386166000908152600e602052604090205460ff1615610ffd57606460065484610f629190611642565b610f6c91906116a4565b9150610f7882846115fa565b6001600160a01b0387166000908152600d602052604090205490915060ff161580610fbc57506001600160a01b0385166000908152600d602052604090205460ff16155b15610ff857600154610fed82610fe7886001600160a01b03166000908152600a602052604090205490565b90611409565b1115610ff857600080fd5b6111e8565b6001600160a01b0385166000908152600e602052604090205460ff16156111e357306000908152600a60205260409020548015801590611040575060095460ff16155b8015611054575060095462010000900460ff165b156111b5576009805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061109b5761109b6116c6565b6001600160a01b03928316602091820292909201810191909152600354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111189190611659565b8160018151811061112b5761112b6116c6565b6001600160a01b03928316602091820292909201015260035460055460405163791ac94760e01b81529183169263791ac9479261117792879260009288929091169042906004016116dc565b600060405180830381600087803b15801561119157600080fd5b505af11580156111a5573d6000803e3d6000fd5b50506009805460ff191690555050505b6064600754856111c59190611642565b6111cf91906116a4565b92506111db83856115fa565b9150506111e8565b600091505b81158015906111ff575060095462010000900460ff165b15611314576001600160a01b0386166000908152600a60205260408120805485929061122c9084906115fa565b90915550506001600160a01b0385166000908152600a60205260408120805483929061125990849061174d565b9091555050306000908152600a60205260408120805484929061127d90849061174d565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161130791815260200190565b60405180910390a3611321565b61131f868686611354565b505b505050505050565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6001600160a01b0383166000908152600a602052604081208054839190839061137e9084906115fa565b90915550506001600160a01b0383166000908152600a6020526040812080548492906113ab90849061174d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113f791815260200190565b60405180910390a35060019392505050565b600080611416838561174d565b9050838110156114685760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610633565b9392505050565b600060208083528351808285015260005b8181101561149c57858101830151858201604001528201611480565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114d257600080fd5b50565b600080604083850312156114e857600080fd5b82356114f3816114bd565b946020939093013593505050565b60008060006060848603121561151657600080fd5b8335611521816114bd565b92506020840135611531816114bd565b929592945050506040919091013590565b60006020828403121561155457600080fd5b5035919050565b60006020828403121561156d57600080fd5b8135611468816114bd565b6000806040838503121561158b57600080fd5b8235611596816114bd565b9150602083013580151581146115ab57600080fd5b809150509250929050565b600080604083850312156115c957600080fd5b82356115d4816114bd565b915060208301356115ab816114bd565b634e487b7160e01b600052601160045260246000fd5b818103818111156105b1576105b16115e4565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80820281158282048414176105b1576105b16115e4565b60006020828403121561166b57600080fd5b8151611468816114bd565b60008060006060848603121561168b57600080fd5b8351925060208401519150604084015190509250925092565b6000826116c157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561172c5784516001600160a01b031683529383019391830191600101611707565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156105b1576105b16115e456fea2646970667358221220d175c3e0e7261b5f3fbb77c61174df88fa4a81e11d715e9b1d695a83343a1e8264736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101c65760003560e01c8063715018a6116100f75780639a7a23d611610095578063dd62ed3e11610064578063dd62ed3e14610512578063e16830a814610558578063ed99530714610578578063f2fde38b1461058057600080fd5b80639a7a23d61461049c578063a9059cbb146104bc578063c0246668146104dc578063c8725658146104fc57600080fd5b806389e40cf9116100d157806389e40cf9146104255780638a8c523c1461043b5780638da5cb5b1461045057806395d89b411461046e57600080fd5b8063715018a6146103e5578063751039fc146103fa57806383fd03671461040f57600080fd5b8063313ce5671161016457806359cd90311161013e57806359cd9031146103595780636ddd17131461036f5780636f268a991461038f57806370a08231146103af57600080fd5b8063313ce567146102fe57806349bd5a5e1461031a5780634ada218b1461033a57600080fd5b80631694505e116101a05780631694505e1461026657806318160ddd1461029e57806323b872dd146102bc57806327a1f5cc146102dc57600080fd5b806306fdde03146101d2578063095ea7b3146102125780630a910d1f1461024257600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506040805180820190915260058152646947524f4b60d81b60208201525b604051610209919061146f565b60405180910390f35b34801561021e57600080fd5b5061023261022d3660046114d5565b6105a0565b6040519015158152602001610209565b34801561024e57600080fd5b5061025860065481565b604051908152602001610209565b34801561027257600080fd5b50600354610286906001600160a01b031681565b6040516001600160a01b039091168152602001610209565b3480156102aa57600080fd5b506a52b7d2dcc80cd2e4000000610258565b3480156102c857600080fd5b506102326102d7366004611501565b6105b7565b3480156102e857600080fd5b506102fc6102f7366004611542565b610609565b005b34801561030a57600080fd5b5060405160128152602001610209565b34801561032657600080fd5b50600454610286906001600160a01b031681565b34801561034657600080fd5b5060095461023290610100900460ff1681565b34801561036557600080fd5b5061025860025481565b34801561037b57600080fd5b506009546102329062010000900460ff1681565b34801561039b57600080fd5b50600554610286906001600160a01b031681565b3480156103bb57600080fd5b506102586103ca36600461155b565b6001600160a01b03166000908152600a602052604090205490565b3480156103f157600080fd5b506102fc610654565b34801561040657600080fd5b506102fc6106c8565b34801561041b57600080fd5b5061025860075481565b34801561043157600080fd5b5061025860015481565b34801561044757600080fd5b506102fc610709565b34801561045c57600080fd5b506000546001600160a01b0316610286565b34801561047a57600080fd5b506040805180820190915260058152644947524f4b60d81b60208201526101fc565b3480156104a857600080fd5b506102fc6104b7366004611578565b610746565b3480156104c857600080fd5b506102326104d73660046114d5565b610802565b3480156104e857600080fd5b506102fc6104f7366004611578565b61080f565b34801561050857600080fd5b5061025860085481565b34801561051e57600080fd5b5061025861052d3660046115b6565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b34801561056457600080fd5b506102fc610573366004611578565b610864565b6102fc6108b9565b34801561058c57600080fd5b506102fc61059b36600461155b565b610b71565b60006105ad338484610c5b565b5060015b92915050565b60006105c4848484610d7f565b6001600160a01b0384166000908152600b60209081526040808320338085529252909120546105ff9186916105fa9086906115fa565b610c5b565b5060019392505050565b6000546001600160a01b0316331461063c5760405162461bcd60e51b81526004016106339061160d565b60405180910390fd5b61064e81670de0b6b3a7640000611642565b60025550565b6000546001600160a01b0316331461067e5760405162461bcd60e51b81526004016106339061160d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106f25760405162461bcd60e51b81526004016106339061160d565b600019600190815560068190556007556002600855565b6000546001600160a01b031633146107335760405162461bcd60e51b81526004016106339061160d565b6009805462ffff00191662010100179055565b6000546001600160a01b031633146107705760405162461bcd60e51b81526004016106339061160d565b6004546001600160a01b03908116908316036107f45760405162461bcd60e51b815260206004820152603a60248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f5f6175746f6d617465644d61726b65744d616b657250616972730000000000006064820152608401610633565b6107fe8282611329565b5050565b60006105ad338484610d7f565b6000546001600160a01b031633146108395760405162461bcd60e51b81526004016106339061160d565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461088e5760405162461bcd60e51b81526004016106339061160d565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108e35760405162461bcd60e51b81526004016106339061160d565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561093a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095e9190611659565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cf9190611659565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a409190611659565b600480546001600160a01b039283166001600160a01b03199182168117909255600380549385169390911692909217909155610a7d906001611329565b600354610a979030906001600160a01b0316600019610c5b565b6003546001600160a01b031663f305d7193430610ac9816001600160a01b03166000908152600a602052604090205490565b600080610ade6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b46573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b6b9190611676565b50505050565b6000546001600160a01b03163314610b9b5760405162461bcd60e51b81526004016106339061160d565b6001600160a01b038116610c005760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610633565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610cbd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610633565b6001600160a01b038216610d1e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610633565b6001600160a01b038381166000818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610de35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610633565b633b9aca008111610e295760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b6044820152606401610633565b600954610100900460ff1680610e5757506001600160a01b0383166000908152600c602052604090205460ff165b80610e7a57506001600160a01b0382166000908152600c602052604090205460ff165b610eb45760405162461bcd60e51b815260206004820152600b60248201526a139bdd08115b98589b195960aa1b6044820152606401610633565b60095460ff1615610eca57610b6b838383611354565b6001600160a01b0383166000908152600c6020526040812054829190829060ff168015610eff575060095462010000900460ff165b15610f3157606460085484610f149190611642565b610f1e91906116a4565b9150610f2a81846115fa565b92506111e8565b6001600160a01b0386166000908152600e602052604090205460ff1615610ffd57606460065484610f629190611642565b610f6c91906116a4565b9150610f7882846115fa565b6001600160a01b0387166000908152600d602052604090205490915060ff161580610fbc57506001600160a01b0385166000908152600d602052604090205460ff16155b15610ff857600154610fed82610fe7886001600160a01b03166000908152600a602052604090205490565b90611409565b1115610ff857600080fd5b6111e8565b6001600160a01b0385166000908152600e602052604090205460ff16156111e357306000908152600a60205260409020548015801590611040575060095460ff16155b8015611054575060095462010000900460ff165b156111b5576009805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061109b5761109b6116c6565b6001600160a01b03928316602091820292909201810191909152600354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111189190611659565b8160018151811061112b5761112b6116c6565b6001600160a01b03928316602091820292909201015260035460055460405163791ac94760e01b81529183169263791ac9479261117792879260009288929091169042906004016116dc565b600060405180830381600087803b15801561119157600080fd5b505af11580156111a5573d6000803e3d6000fd5b50506009805460ff191690555050505b6064600754856111c59190611642565b6111cf91906116a4565b92506111db83856115fa565b9150506111e8565b600091505b81158015906111ff575060095462010000900460ff165b15611314576001600160a01b0386166000908152600a60205260408120805485929061122c9084906115fa565b90915550506001600160a01b0385166000908152600a60205260408120805483929061125990849061174d565b9091555050306000908152600a60205260408120805484929061127d90849061174d565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161130791815260200190565b60405180910390a3611321565b61131f868686611354565b505b505050505050565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6001600160a01b0383166000908152600a602052604081208054839190839061137e9084906115fa565b90915550506001600160a01b0383166000908152600a6020526040812080548492906113ab90849061174d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113f791815260200190565b60405180910390a35060019392505050565b600080611416838561174d565b9050838110156114685760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610633565b9392505050565b600060208083528351808285015260005b8181101561149c57858101830151858201604001528201611480565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114d257600080fd5b50565b600080604083850312156114e857600080fd5b82356114f3816114bd565b946020939093013593505050565b60008060006060848603121561151657600080fd5b8335611521816114bd565b92506020840135611531816114bd565b929592945050506040919091013590565b60006020828403121561155457600080fd5b5035919050565b60006020828403121561156d57600080fd5b8135611468816114bd565b6000806040838503121561158b57600080fd5b8235611596816114bd565b9150602083013580151581146115ab57600080fd5b809150509250929050565b600080604083850312156115c957600080fd5b82356115d4816114bd565b915060208301356115ab816114bd565b634e487b7160e01b600052601160045260246000fd5b818103818111156105b1576105b16115e4565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80820281158282048414176105b1576105b16115e4565b60006020828403121561166b57600080fd5b8151611468816114bd565b60008060006060848603121561168b57600080fd5b8351925060208401519150604084015190509250925092565b6000826116c157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561172c5784516001600160a01b031683529383019391830191600101611707565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156105b1576105b16115e456fea2646970667358221220d175c3e0e7261b5f3fbb77c61174df88fa4a81e11d715e9b1d695a83343a1e8264736f6c63430008130033
Deployed Bytecode Sourcemap
17287:8680:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19617:83;;;;;;;;;;-1:-1:-1;19687:5:0;;;;;;;;;;;;-1:-1:-1;;;19687:5:0;;;;19617:83;;;;;;;:::i;:::-;;;;;;;;20504:186;;;;;;;;;;-1:-1:-1;20504:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;20504:186:0;1023:187:1;17815:25:0;;;;;;;;;;;;;;;;;;;1361::1;;;1349:2;1334:18;17815:25:0;1215:177:1;17690:41:0;;;;;;;;;;-1:-1:-1;17690:41:0;;;;-1:-1:-1;;;;;17690:41:0;;;;;;-1:-1:-1;;;;;1587:32:1;;;1569:51;;1557:2;1542:18;17690:41:0;1397:229:1;19894:100:0;;;;;;;;;;-1:-1:-1;17506:22:0;19894:100;;20698:350;;;;;;;;;;-1:-1:-1;20698:350:0;;;;;:::i;:::-;;:::i;21697:124::-;;;;;;;;;;-1:-1:-1;21697:124:0;;;;;:::i;:::-;;:::i;:::-;;19803:83;;;;;;;;;;-1:-1:-1;19803:83:0;;17679:2;2419:36:1;;2407:2;2392:18;19803:83:0;2277:184:1;17738:28:0;;;;;;;;;;-1:-1:-1;17738:28:0;;;;-1:-1:-1;;;;;17738:28:0;;;17954:34;;;;;;;;;;-1:-1:-1;17954:34:0;;;;;;;;;;;17594:43;;;;;;;;;;;;;;;;17995:31;;;;;;;;;;-1:-1:-1;17995:31:0;;;;;;;;;;;17775:33;;;;;;;;;;-1:-1:-1;17775:33:0;;;;-1:-1:-1;;;;;17775:33:0;;;20002:118;;;;;;;;;;-1:-1:-1;20002:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;20095:17:0;20068:7;20095:17;;;:8;:17;;;;;;;20002:118;4504:148;;;;;;;;;;;;;:::i;22109:161::-;;;;;;;;;;;;;:::i;17847:26::-;;;;;;;;;;;;;;;;17535:52;;;;;;;;;;;;;;;;21829:113;;;;;;;;;;;;;:::i;3862:79::-;;;;;;;;;;-1:-1:-1;3900:7:0;3927:6;-1:-1:-1;;;;;3927:6:0;3862:79;;19708:87;;;;;;;;;;-1:-1:-1;19780:7:0;;;;;;;;;;;;-1:-1:-1;;;19780:7:0;;;;19708:87;;22453:307;;;;;;;;;;-1:-1:-1;22453:307:0;;;;;:::i;:::-;;:::i;20128:192::-;;;;;;;;;;-1:-1:-1;20128:192:0;;;;;:::i;:::-;;:::i;21561:128::-;;;;;;;;;;-1:-1:-1;21561:128:0;;;;;:::i;:::-;;:::i;17880:29::-;;;;;;;;;;;;;;;;20328:168;;;;;;;;;;-1:-1:-1;20328:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;20461:18:0;;;20434:7;20461:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;20328:168;22278:167;;;;;;;;;;-1:-1:-1;22278:167:0;;;;;:::i;:::-;;:::i;18818:791::-;;;:::i;4807:281::-;;;;;;;;;;-1:-1:-1;4807:281:0;;;;;:::i;:::-;;:::i;20504:186::-;20604:4;20621:39;453:10;20644:7;20653:6;20621:8;:39::i;:::-;-1:-1:-1;20678:4:0;20504:186;;;;;:::o;20698:350::-;20830:4;20847:36;20857:6;20865:9;20876:6;20847:9;:36::i;:::-;-1:-1:-1;;;;;20965:19:0;;;;;;:11;:19;;;;;;;;453:10;20965:33;;;;;;;;;20894:124;;20917:6;;20965:42;;21001:6;;20965:42;:::i;:::-;20894:8;:124::i;:::-;-1:-1:-1;21036:4:0;20698:350;;;;;:::o;21697:124::-;4074:6;;-1:-1:-1;;;;;4074:6:0;453:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;;;;;;;;;21786:27:::1;:16:::0;21805:8:::1;21786:27;:::i;:::-;21776:7;:37:::0;-1:-1:-1;21697:124:0:o;4504:148::-;4074:6;;-1:-1:-1;;;;;4074:6:0;453:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;4611:1:::1;4595:6:::0;;4574:40:::1;::::0;-1:-1:-1;;;;;4595:6:0;;::::1;::::0;4574:40:::1;::::0;4611:1;;4574:40:::1;4642:1;4625:19:::0;;-1:-1:-1;;;;;;4625:19:0::1;::::0;;4504:148::o;22109:161::-;4074:6;;-1:-1:-1;;;;;4074:6:0;453:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;-1:-1:-1;;22163:14:0::1;:31:::0;;;22205:6:::1;:10:::0;;;22226:7:::1;:11:::0;22261:1:::1;22248:10;:14:::0;22109:161::o;21829:113::-;4074:6;;-1:-1:-1;;;;;4074:6:0;453:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;21884:14:::1;:21:::0;;-1:-1:-1;;21916:18:0;;;;;21829:113::o;22453:307::-;4074:6;;-1:-1:-1;;;;;4074:6:0;453:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;22599:13:::1;::::0;-1:-1:-1;;;;;22599:13:0;;::::1;22591:21:::0;;::::1;::::0;22569:129:::1;;;::::0;-1:-1:-1;;;22569:129:0;;4965:2:1;22569:129:0::1;::::0;::::1;4947:21:1::0;5004:2;4984:18;;;4977:30;5043:34;5023:18;;;5016:62;5114:28;5094:18;;;5087:56;5160:19;;22569:129:0::1;4763:422:1::0;22569:129:0::1;22711:41;22740:4;22746:5;22711:28;:41::i;:::-;22453:307:::0;;:::o;20128:192::-;20231:4;20248:42;453:10;20272:9;20283:6;20248:9;:42::i;21561:128::-;4074:6;;-1:-1:-1;;;;;4074:6:0;453:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21645:27:0;;;::::1;;::::0;;;:19:::1;:27;::::0;;;;:36;;-1:-1:-1;;21645:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21561:128::o;22278:167::-;4074:6;;-1:-1:-1;;;;;4074:6:0;453:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22394:34:0;;;::::1;;::::0;;;:26:::1;:34;::::0;;;;:43;;-1:-1:-1;;22394:43:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22278:167::o;18818:791::-;4074:6;;-1:-1:-1;;;;;4074:6:0;453:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;18883:35:::1;18954:42;18883:124;;19107:16;-1:-1:-1::0;;;;;19107:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19089:70:0::1;;19168:4;19175:16;-1:-1:-1::0;;;;;19175:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19089:110;::::0;-1:-1:-1;;;;;;19089:110:0::1;::::0;;;;;;-1:-1:-1;;;;;5676:15:1;;;19089:110:0::1;::::0;::::1;5658:34:1::0;5728:15;;5708:18;;;5701:43;5593:18;;19089:110:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19073:13;:126:::0;;-1:-1:-1;;;;;19073:126:0;;::::1;-1:-1:-1::0;;;;;;19073:126:0;;::::1;::::0;::::1;::::0;;;19212:15:::1;:34:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;19257:49:::1;::::0;19073:126;19257:28:::1;:49::i;:::-;19349:15;::::0;19317:62:::1;::::0;19334:4:::1;::::0;-1:-1:-1;;;;;19349:15:0::1;-1:-1:-1::0;;19317:8:0::1;:62::i;:::-;19390:15;::::0;-1:-1:-1;;;;;19390:15:0::1;:31;19429:9;19462:4;19482:24;19462:4:::0;-1:-1:-1;;;;;20095:17:0;20068:7;20095:17;;;:8;:17;;;;;;;20002:118;19482:24:::1;19521:1;19537::::0;19553:7:::1;3900::::0;3927:6;-1:-1:-1;;;;;3927:6:0;;3862:79;19553:7:::1;19390:211;::::0;::::1;::::0;;;-1:-1:-1;;;;;;19390:211:0;;;-1:-1:-1;;;;;6114:15:1;;;19390:211:0::1;::::0;::::1;6096:34:1::0;6146:18;;;6139:34;;;;6189:18;;;6182:34;;;;6232:18;;;6225:34;6296:15;;;6275:19;;;6268:44;19575:15:0::1;6328:19:1::0;;;6321:35;6030:19;;19390:211:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18872:737;18818:791::o:0;4807:281::-;4074:6;;-1:-1:-1;;;;;4074:6:0;453:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4910:22:0;::::1;4888:110;;;::::0;-1:-1:-1;;;4888:110:0;;6880:2:1;4888:110:0::1;::::0;::::1;6862:21:1::0;6919:2;6899:18;;;6892:30;6958:34;6938:18;;;6931:62;-1:-1:-1;;;7009:18:1;;;7002:36;7055:19;;4888:110:0::1;6678:402:1::0;4888:110:0::1;5035:6;::::0;;5014:38:::1;::::0;-1:-1:-1;;;;;5014:38:0;;::::1;::::0;5035:6;::::1;::::0;5014:38:::1;::::0;::::1;5063:6;:17:::0;;-1:-1:-1;;;;;;5063:17:0::1;-1:-1:-1::0;;;;;5063:17:0;;;::::1;::::0;;;::::1;::::0;;4807:281::o;21056:335::-;-1:-1:-1;;;;;21149:19:0;;21141:68;;;;-1:-1:-1;;;21141:68:0;;7287:2:1;21141:68:0;;;7269:21:1;7326:2;7306:18;;;7299:30;7365:34;7345:18;;;7338:62;-1:-1:-1;;;7416:18:1;;;7409:34;7460:19;;21141:68:0;7085:400:1;21141:68:0;-1:-1:-1;;;;;21228:21:0;;21220:68;;;;-1:-1:-1;;;21220:68:0;;7692:2:1;21220:68:0;;;7674:21:1;7731:2;7711:18;;;7704:30;7770:34;7750:18;;;7743:62;-1:-1:-1;;;7821:18:1;;;7814:32;7863:19;;21220:68:0;7490:398:1;21220:68:0;-1:-1:-1;;;;;21299:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;21351:32;;1361:25:1;;;21351:32:0;;1334:18:1;21351:32:0;;;;;;;21056:335;;;:::o;23208:2719::-;-1:-1:-1;;;;;23296:18:0;;23288:68;;;;-1:-1:-1;;;23288:68:0;;8095:2:1;23288:68:0;;;8077:21:1;8134:2;8114:18;;;8107:30;8173:34;8153:18;;;8146:62;-1:-1:-1;;;8224:18:1;;;8217:35;8269:19;;23288:68:0;7893:401:1;23288:68:0;23384:3;23375:6;:12;23367:41;;;;-1:-1:-1;;;23367:41:0;;8501:2:1;23367:41:0;;;8483:21:1;8540:2;8520:18;;;8513:30;-1:-1:-1;;;8559:18:1;;;8552:46;8615:18;;23367:41:0;8299:340:1;23367:41:0;23441:14;;;;;;;;:60;;-1:-1:-1;;;;;;23476:25:0;;;;;;:19;:25;;;;;;;;23441:60;:104;;;-1:-1:-1;;;;;;23522:23:0;;;;;;:19;:23;;;;;;;;23441:104;23419:165;;;;-1:-1:-1;;;23419:165:0;;8846:2:1;23419:165:0;;;8828:21:1;8885:2;8865:18;;;8858:30;-1:-1:-1;;;8904:18:1;;;8897:41;8955:18;;23419:165:0;8644:335:1;23419:165:0;23601:16;;;;23597:133;;;23665:32;23680:4;23686:2;23690:6;23665:14;:32::i;23597:133::-;-1:-1:-1;;;;;23861:25:0;;23742:19;23861:25;;;:19;:25;;;;;;23764:6;;23742:19;23764:6;;23861:25;;:40;;;;-1:-1:-1;23890:11:0;;;;;;;23861:40;23857:1657;;;23959:3;23945:10;;23931:11;:24;;;;:::i;:::-;23930:32;;;;:::i;:::-;23918:44;-1:-1:-1;23977:29:0;23992:14;23977:29;;:::i;:::-;;;23857:1657;;;-1:-1:-1;;;;;24043:32:0;;;;;;:26;:32;;;;;;;;24039:1464;;;24133:3;24123:6;;24109:11;:20;;;;:::i;:::-;24108:28;;;;:::i;:::-;24096:40;-1:-1:-1;24172:23:0;24096:40;24172:11;:23;:::i;:::-;-1:-1:-1;;;;;24241:32:0;;;;;;:26;:32;;;;;;24155:40;;-1:-1:-1;24241:32:0;;24240:33;;:89;;-1:-1:-1;;;;;;24299:30:0;;;;;;:26;:30;;;;;;;;24298:31;24240:89;24214:286;;;24443:14;;24406:33;24424:14;24406:13;24416:2;-1:-1:-1;;;;;20095:17:0;20068:7;20095:17;;;:8;:17;;;;;;;20002:118;24406:13;:17;;:33::i;:::-;:51;;24372:108;;;;;;24039:1464;;;-1:-1:-1;;;;;24525:30:0;;;;;;:26;:30;;;;;;;;24521:982;;;24616:4;24576:20;24599:23;;;:8;:23;;;;;;24645:16;;;;;:37;;-1:-1:-1;24666:16:0;;;;24665:17;24645:37;:52;;;;-1:-1:-1;24686:11:0;;;;;;;24645:52;24641:674;;;24722:16;:23;;-1:-1:-1;;24722:23:0;24741:4;24722:23;;;24792:16;;;24806:1;24792:16;;;;;;;;-1:-1:-1;;24792:16:0;;;;;;;;;;-1:-1:-1;24792:16:0;24768:40;;24849:4;24831;24836:1;24831:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;24831:23:0;;;:7;;;;;;;;;;:23;;;;24887:15;;:22;;;-1:-1:-1;;;24887:22:0;;;;:15;;;;;:20;;:22;;;;;24831:7;;24887:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24877:4;24882:1;24877:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;24877:32:0;;;:7;;;;;;;;;:32;24932:15;;25165:10;;24932:316;;-1:-1:-1;;;24932:316:0;;:15;;;;:92;;:316;;25055:12;;24932:15;;25130:4;;25165:10;;;;25206:15;;24932:316;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;25271:16:0;:24;;-1:-1:-1;;25271:24:0;;;-1:-1:-1;;;24641:674:0;25371:3;25360:7;;25346:11;:21;;;;:::i;:::-;25345:29;;;;:::i;:::-;25333:41;-1:-1:-1;25410:23:0;25333:41;25410:11;:23;:::i;:::-;25393:40;;24557:892;24521:982;;;25486:1;25474:13;;24521:982;25530:14;;;;;:29;;-1:-1:-1;25548:11:0;;;;;;;25530:29;25526:394;;;-1:-1:-1;;;;;25604:14:0;;;;;;:8;:14;;;;;:29;;25622:11;;25604:14;:29;;25622:11;;25604:29;:::i;:::-;;;;-1:-1:-1;;;;;;;25648:12:0;;;;;;:8;:12;;;;;:30;;25664:14;;25648:12;:30;;25664:14;;25648:30;:::i;:::-;;;;-1:-1:-1;;25710:4:0;25693:23;;;;:8;:23;;;;;:36;;25720:9;;25693:23;:36;;25720:9;;25693:36;:::i;:::-;;;;-1:-1:-1;;25749:40:0;;1361:25:1;;;25772:4:0;;-1:-1:-1;;;;;25749:40:0;;;;;1349:2:1;1334:18;25749:40:0;;;;;;;25824:2;-1:-1:-1;;;;;25809:34:0;25818:4;-1:-1:-1;;;;;25809:34:0;;25828:14;25809:34;;;;1361:25:1;;1349:2;1334:18;;1215:177;25809:34:0;;;;;;;;25526:394;;;25876:32;25891:4;25897:2;25901:6;25876:14;:32::i;:::-;;25526:394;23277:2650;;;23208:2719;;;:::o;22768:131::-;-1:-1:-1;;;;;22851:32:0;;;;;;;;:26;:32;;;;;:40;;-1:-1:-1;;22851:40:0;;;;;;;;;;22768:131::o;22907:293::-;-1:-1:-1;;;;;23051:16:0;;23034:4;23051:16;;;:8;:16;;;;;:26;;23071:6;;23051:16;23034:4;;23051:26;;23071:6;;23051:26;:::i;:::-;;;;-1:-1:-1;;;;;;;23088:19:0;;;;;;:8;:19;;;;;:29;;23111:6;;23088:19;:29;;23111:6;;23088:29;:::i;:::-;;;;;;;;23152:9;-1:-1:-1;;;;;23135:35:0;23144:6;-1:-1:-1;;;;;23135:35:0;;23163:6;23135:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;23135:35:0;;;;;;;;-1:-1:-1;23188:4:0;22907:293;;;;;:::o;5358:181::-;5416:7;;5448:5;5452:1;5448;:5;:::i;:::-;5436:17;;5477:1;5472;:6;;5464:46;;;;-1:-1:-1;;;5464:46:0;;10795:2:1;5464:46:0;;;10777:21:1;10834:2;10814:18;;;10807:30;10873:29;10853:18;;;10846:57;10920:18;;5464:46:0;10593:351:1;5464:46:0;5530:1;5358:181;-1:-1:-1;;;5358:181:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2092:180::-;2151:6;2204:2;2192:9;2183:7;2179:23;2175:32;2172:52;;;2220:1;2217;2210:12;2172:52;-1:-1:-1;2243:23:1;;2092:180;-1:-1:-1;2092:180:1:o;2898:247::-;2957:6;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3065:9;3052:23;3084:31;3109:5;3084:31;:::i;3150:416::-;3215:6;3223;3276:2;3264:9;3255:7;3251:23;3247:32;3244:52;;;3292:1;3289;3282:12;3244:52;3331:9;3318:23;3350:31;3375:5;3350:31;:::i;:::-;3400:5;-1:-1:-1;3457:2:1;3442:18;;3429:32;3499:15;;3492:23;3480:36;;3470:64;;3530:1;3527;3520:12;3470:64;3553:7;3543:17;;;3150:416;;;;;:::o;3571:388::-;3639:6;3647;3700:2;3688:9;3679:7;3675:23;3671:32;3668:52;;;3716:1;3713;3706:12;3668:52;3755:9;3742:23;3774:31;3799:5;3774:31;:::i;:::-;3824:5;-1:-1:-1;3881:2:1;3866:18;;3853:32;3894:33;3853:32;3894:33;:::i;3964:127::-;4025:10;4020:3;4016:20;4013:1;4006:31;4056:4;4053:1;4046:15;4080:4;4077:1;4070:15;4096:128;4163:9;;;4184:11;;;4181:37;;;4198:18;;:::i;4229:356::-;4431:2;4413:21;;;4450:18;;;4443:30;4509:34;4504:2;4489:18;;4482:62;4576:2;4561:18;;4229:356::o;4590:168::-;4663:9;;;4694;;4711:15;;;4705:22;;4691:37;4681:71;;4732:18;;:::i;5190:251::-;5260:6;5313:2;5301:9;5292:7;5288:23;5284:32;5281:52;;;5329:1;5326;5319:12;5281:52;5361:9;5355:16;5380:31;5405:5;5380:31;:::i;6367:306::-;6455:6;6463;6471;6524:2;6512:9;6503:7;6499:23;6495:32;6492:52;;;6540:1;6537;6530:12;6492:52;6569:9;6563:16;6553:26;;6619:2;6608:9;6604:18;6598:25;6588:35;;6663:2;6652:9;6648:18;6642:25;6632:35;;6367:306;;;;;:::o;8984:217::-;9024:1;9050;9040:132;;9094:10;9089:3;9085:20;9082:1;9075:31;9129:4;9126:1;9119:15;9157:4;9154:1;9147:15;9040:132;-1:-1:-1;9186:9:1;;8984:217::o;9338:127::-;9399:10;9394:3;9390:20;9387:1;9380:31;9430:4;9427:1;9420:15;9454:4;9451:1;9444:15;9470:988;9740:4;9788:3;9777:9;9773:19;9819:6;9808:9;9801:25;9845:2;9883:6;9878:2;9867:9;9863:18;9856:34;9926:3;9921:2;9910:9;9906:18;9899:31;9950:6;9985;9979:13;10016:6;10008;10001:22;10054:3;10043:9;10039:19;10032:26;;10093:2;10085:6;10081:15;10067:29;;10114:1;10124:195;10138:6;10135:1;10132:13;10124:195;;;10203:13;;-1:-1:-1;;;;;10199:39:1;10187:52;;10294:15;;;;10259:12;;;;10235:1;10153:9;10124:195;;;-1:-1:-1;;;;;;;10375:32:1;;;;10370:2;10355:18;;10348:60;-1:-1:-1;;;10439:3:1;10424:19;10417:35;10336:3;9470:988;-1:-1:-1;;;9470:988:1:o;10463:125::-;10528:9;;;10549:10;;;10546:36;;;10562:18;;:::i
Swarm Source
ipfs://d175c3e0e7261b5f3fbb77c61174df88fa4a81e11d715e9b1d695a83343a1e82
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.