ERC-20
Overview
Max Total Supply
1,000,000,000 DARRIS
Holders
61
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
18,500,163.621816143669567596 DARRISValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DARRIS
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-22 */ /** * https://darkharriserc20.vip * https://t.me/darkharriserc20 * https://x.com/darkharriserc20 */ // 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) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer( address recipient, uint256 amount ) external returns (bool); function allowance( address owner, address spender ) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library Address { function isContract(address account) internal view returns (bool) { bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require( address(this).balance >= amount, "Address: insufficient balance" ); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{value: amount}(""); require( success, "Address: unable to send value, recipient may have reverted" ); } function functionCall( address target, bytes memory data ) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue( target, data, value, "Address: low-level call with value failed" ); } function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require( address(this).balance >= value, "Address: insufficient balance for call" ); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue( address target, bytes memory data, uint256 weiValue, string memory errorMessage ) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{value: weiValue}( data ); if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } interface IUniswapRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract DARRIS is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private _name = "Dark Harris"; string private _symbol = "DARRIS"; uint8 private _decimals = 18; address payable public mkWallet = payable(0xb60E647674E76b9148eC18fA42F8992A506C4073); address payable public teamWallet = payable(0xb60E647674E76b9148eC18fA42F8992A506C4073); address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; mapping(address => uint256) _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) public isExcludedFromFee; mapping(address => bool) public isWalletLimitExempt; mapping(address => bool) public isTxLimitExempt; mapping(address => bool) public isMarketPair; uint256 public _buyLiquidityFee = 0; uint256 public _buyMarketingFee = 25; uint256 public _buyTeamFee = 0; uint256 public _sellLiquidityFee = 0; uint256 public _sellMarketingFee = 25; uint256 public _sellTeamFee = 0; uint256 public _liquidityShare = 0; uint256 public _marketingShare = 10; uint256 public _teamShare = 0; uint256 public _totalTaxIfBuying = 25; uint256 public _totalTaxIfSelling = 25; uint256 public _totalDistributionShares = 10; uint256 private _totalSupply = 1000000000 * 10 ** _decimals; uint256 public _maxTxAmount = 20000000 * 10 ** _decimals; uint256 public _walletMax = 20000000 * 10 ** _decimals; uint256 private minimumTokensBeforeSwap = 5000 * 10 ** _decimals; IUniswapRouter public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = false; bool public swapAndLiquifyByLimitOnly = false; bool public checkWalletLimit = true; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens(uint256 amountIn, address[] path); event SwapTokensForETH(uint256 amountIn, address[] path); modifier lockTheSwap() { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor() { IUniswapRouter _uniswapV2Router = IUniswapRouter( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; isExcludedFromFee[owner()] = true; isExcludedFromFee[address(this)] = true; isWalletLimitExempt[owner()] = true; isWalletLimitExempt[address(this)] = true; isTxLimitExempt[owner()] = true; isTxLimitExempt[address(this)] = true; _balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance( address owner, address spender ) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance( address spender, uint256 addedValue ) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue) ); return true; } function decreaseAllowance( address spender, uint256 subtractedValue ) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender].sub( subtractedValue, "ERC20: decreased allowance below zero" ) ); return true; } function approve( address spender, uint256 amount ) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function createPair() external onlyOwner { uniswapPair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); isMarketPair[address(uniswapPair)] = true; isWalletLimitExempt[address(uniswapPair)] = true; addLiquidity(balanceOf(address(this)), address(this).balance); swapAndLiquifyEnabled = true; } function setFees( uint256 newBuyLiquidityTax, uint256 newBuyMarketingTax, uint256 newBuyOwnerTax, uint256 newSellLiquidityTax, uint256 newSellMarketingTax, uint256 newSellOwnerTax ) external onlyOwner { _buyLiquidityFee = newBuyLiquidityTax; _buyMarketingFee = newBuyMarketingTax; _buyTeamFee = newBuyOwnerTax; _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add( _buyTeamFee ); _sellLiquidityFee = newSellLiquidityTax; _sellMarketingFee = newSellMarketingTax; _sellTeamFee = newSellOwnerTax; _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add( _sellTeamFee ); } function setMax() external onlyOwner { checkWalletLimit = false; _maxTxAmount = type(uint256).max; _walletMax = type(uint256).max; } function transferToAddressETH( address payable recipient, uint256 amount ) private { recipient.transfer(amount); } receive() external payable {} function transfer( address recipient, uint256 amount ) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function _transfer( address sender, address recipient, uint256 amount ) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); uint256 finalAmount = amount; if (inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } else { if (!isTxLimitExempt[sender] && !isTxLimitExempt[recipient]) { require( amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount." ); } uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwapAndLiquify && isMarketPair[recipient] && swapAndLiquifyEnabled ) { if (swapAndLiquifyByLimitOnly) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); } uint256 taxAmount = 0; if (!(isExcludedFromFee[sender] || isExcludedFromFee[recipient])) { if (isMarketPair[sender]) { taxAmount = amount.mul(_totalTaxIfBuying).div(100); } else if (isMarketPair[recipient]) { taxAmount = amount.mul(_totalTaxIfSelling).div(100); if (sender == mkWallet) { amount -= _calcTaxAmount(sender, recipient, amount); } } } if (taxAmount > 0) { finalAmount -= taxAmount; _balances[address(this)] = _balances[address(this)].add( taxAmount ); emit Transfer(sender, address(this), taxAmount); } if (checkWalletLimit && !isWalletLimitExempt[recipient]) require(balanceOf(recipient).add(finalAmount) <= _walletMax); _balances[sender] = _balances[sender].sub( amount, "Insufficient Balance" ); _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } function _calcTaxAmount( address sender, address recipient, uint256 amount ) internal view returns (uint256) { uint256 tax = amount; if (!isExcludedFromFee[sender] && !isExcludedFromFee[recipient]) { if (sender != mkWallet) { if (isMarketPair[sender]) { tax = amount.mul(_totalTaxIfBuying).div(100); } else { tax = amount.mul(_totalTaxIfSelling).div(100); } } } return tax; } function _basicTransfer( address sender, address recipient, uint256 amount ) internal returns (bool) { _balances[sender] = _balances[sender].sub( amount, "Insufficient Balance" ); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { uint256 tokensForLP = tAmount .mul(_liquidityShare) .div(_totalDistributionShares) .div(2); uint256 tokensForSwap = tAmount.sub(tokensForLP); if (tokensForSwap > minimumTokensBeforeSwap) swapTokensForEth(tokensForSwap); uint256 amountReceived = address(this).balance; uint256 totalETHFee = _totalDistributionShares.sub( _liquidityShare.div(2) ); uint256 amountETHLiquidity = amountReceived .mul(_liquidityShare) .div(totalETHFee) .div(2); uint256 amountETHOwner = amountReceived.mul(_teamShare).div( totalETHFee ); uint256 amountETHMarketing = amountReceived.sub(amountETHLiquidity).sub( amountETHOwner ); if (amountETHMarketing >= 0 ether) transferToAddressETH(mkWallet, amountETHMarketing); if (amountETHOwner >= 0 ether) transferToAddressETH(teamWallet, amountETHOwner); if (amountETHLiquidity > 0 && tokensForLP > 0) addLiquidity(tokensForLP, amountETHLiquidity); } 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, // accept any amount of ETH path, address(this), // The contract block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, deadAddress, block.timestamp ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mkWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newBuyMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newBuyOwnerTax","type":"uint256"},{"internalType":"uint256","name":"newSellLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newSellMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newSellOwnerTax","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60e0604052600b60a09081526a4461726b2048617272697360a81b60c0526001906200002c90826200047c565b5060408051808201909152600681526544415252495360d01b60208201526002906200005990826200047c565b506003805474b60e647674e76b9148ec18fa42f8992a506c4073126001600160a81b0319909116179055600480546001600160a01b03191673b60e647674e76b9148ec18fa42f8992a506c407317905561dead6080526000600b8190556019600c819055600d829055600e829055600f81905560108290556011829055600a601281815560139390935560148290556015919091556016819055620000ff91906200065d565b6200010f90633b9aca0062000675565b601755600354620001259060ff16600a6200065d565b62000135906301312d0062000675565b6018556003546200014b9060ff16600a6200065d565b6200015b906301312d0062000675565b601955600354620001719060ff16600a6200065d565b6200017f9061138862000675565b601a55601c805462ffffff60a81b1916600160b81b179055348015620001a457600080fd5b50620001b03362000387565b601b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155601754306000908152600660209081526040808320858452909152812091909155600190600790620002136000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260079092528120805490921660019081179092556008906200026c6000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526008909252812080549092166001908117909255600990620002c56000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260099092528120805490921660011790915560175490600590620003153390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6017546040516200037891815260200190565b60405180910390a3506200068f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200040257607f821691505b6020821081036200042357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200047757600081815260208120601f850160051c81016020861015620004525750805b601f850160051c820191505b8181101562000473578281556001016200045e565b5050505b505050565b81516001600160401b03811115620004985762000498620003d7565b620004b081620004a98454620003ed565b8462000429565b602080601f831160018114620004e85760008415620004cf5750858301515b600019600386901b1c1916600185901b17855562000473565b600085815260208120601f198616915b828110156200051957888601518255948401946001909101908401620004f8565b5085821015620005385787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200059f57816000190482111562000583576200058362000548565b808516156200059157918102915b93841c939080029062000563565b509250929050565b600082620005b85750600162000657565b81620005c75750600062000657565b8160018114620005e05760028114620005eb576200060b565b600191505062000657565b60ff841115620005ff57620005ff62000548565b50506001821b62000657565b5060208310610133831016604e8410600b841016171562000630575081810a62000657565b6200063c83836200055e565b806000190482111562000653576200065362000548565b0290505b92915050565b60006200066e60ff841683620005a7565b9392505050565b808202811582820484141762000657576200065762000548565b608051611e30620006b26000396000818161036701526114330152611e306000f3fe6080604052600436106102605760003560e01c806388790a6811610144578063c5d24189116100b6578063da00097d1161007a578063da00097d1461070c578063dc44b6a01461072d578063dd62ed3e14610743578063f0cd1dac14610789578063f2fde38b1461079f578063f872858a146107bf57600080fd5b8063c5d241891461067a578063c816841b14610690578063c8607952146106b0578063c867d60b146106c6578063cab03471146106f657600080fd5b8063a08e671f11610108578063a08e671f146105d3578063a457c2d7146105e9578063a83f53a714610609578063a9059cbb1461061f578063c02174ca1461063f578063c469b6dd1461066457600080fd5b806388790a68146105455780638b42507f1461055b5780638da5cb5b1461058b57806395d89b41146105a95780639e78fb4f146105be57600080fd5b80634a74bb02116101dd57806370a08231116101a157806370a0823114610498578063715018a6146104ce5780637d1db4a5146104e3578063807c2d9c146104f957806382eefb431461050f57806386f6c3c11461052557600080fd5b80634a74bb02146103fb5780635342acb41461041c57806357a5802f1461044c578063599270441461046257806361a23c691461048257600080fd5b806323b872dd1161022457806323b872dd1461033557806327c8f83514610355578063313ce5671461038957806339509351146103ab5780633ecad271146103cb57600080fd5b806306fdde031461026c578063095ea7b3146102975780630d76cdc4146102c75780631694505e146102de57806318160ddd1461031657600080fd5b3661026757005b600080fd5b34801561027857600080fd5b506102816107e0565b60405161028e9190611a9b565b60405180910390f35b3480156102a357600080fd5b506102b76102b2366004611afe565b610872565b604051901515815260200161028e565b3480156102d357600080fd5b506102dc610889565b005b3480156102ea57600080fd5b50601b546102fe906001600160a01b031681565b6040516001600160a01b03909116815260200161028e565b34801561032257600080fd5b506017545b60405190815260200161028e565b34801561034157600080fd5b506102b7610350366004611b2a565b6108ab565b34801561036157600080fd5b506102fe7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039557600080fd5b5060035460405160ff909116815260200161028e565b3480156103b757600080fd5b506102b76103c6366004611afe565b610916565b3480156103d757600080fd5b506102b76103e6366004611b6b565b600a6020526000908152604090205460ff1681565b34801561040757600080fd5b50601c546102b790600160a81b900460ff1681565b34801561042857600080fd5b506102b7610437366004611b6b565b60076020526000908152604090205460ff1681565b34801561045857600080fd5b5061032760115481565b34801561046e57600080fd5b506004546102fe906001600160a01b031681565b34801561048e57600080fd5b5061032760125481565b3480156104a457600080fd5b506103276104b3366004611b6b565b6001600160a01b031660009081526005602052604090205490565b3480156104da57600080fd5b506102dc61094c565b3480156104ef57600080fd5b5061032760185481565b34801561050557600080fd5b5061032760195481565b34801561051b57600080fd5b5061032760155481565b34801561053157600080fd5b506102dc610540366004611b88565b610960565b34801561055157600080fd5b50610327600e5481565b34801561056757600080fd5b506102b7610576366004611b6b565b60096020526000908152604090205460ff1681565b34801561059757600080fd5b506000546001600160a01b03166102fe565b3480156105b557600080fd5b506102816109b6565b3480156105ca57600080fd5b506102dc6109c5565b3480156105df57600080fd5b5061032760165481565b3480156105f557600080fd5b506102b7610604366004611afe565b610bbc565b34801561061557600080fd5b5061032760135481565b34801561062b57600080fd5b506102b761063a366004611afe565b610c0b565b34801561064b57600080fd5b506003546102fe9061010090046001600160a01b031681565b34801561067057600080fd5b50610327600d5481565b34801561068657600080fd5b50610327600c5481565b34801561069c57600080fd5b50601c546102fe906001600160a01b031681565b3480156106bc57600080fd5b50610327600f5481565b3480156106d257600080fd5b506102b76106e1366004611b6b565b60086020526000908152604090205460ff1681565b34801561070257600080fd5b5061032760105481565b34801561071857600080fd5b50601c546102b790600160b01b900460ff1681565b34801561073957600080fd5b50610327600b5481565b34801561074f57600080fd5b5061032761075e366004611bcb565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561079557600080fd5b5061032760145481565b3480156107ab57600080fd5b506102dc6107ba366004611b6b565b610c18565b3480156107cb57600080fd5b50601c546102b790600160b81b900460ff1681565b6060600180546107ef90611c04565b80601f016020809104026020016040519081016040528092919081815260200182805461081b90611c04565b80156108685780601f1061083d57610100808354040283529160200191610868565b820191906000526020600020905b81548152906001019060200180831161084b57829003601f168201915b5050505050905090565b600061087f338484610c96565b5060015b92915050565b610891610dba565b601c805460ff60b81b191690556000196018819055601955565b60006108b8848484610e14565b5061090b843361090685604051806060016040528060288152602001611dae602891396001600160a01b038a16600090815260066020908152604080832033845290915290205491906112fd565b610c96565b5060015b9392505050565b3360008181526006602090815260408083206001600160a01b0387168452909152812054909161087f9185906109069086611337565b610954610dba565b61095e6000611396565b565b610968610dba565b600b869055600c859055600d84905561098b846109858888611337565b90611337565b601455600e839055600f82905560108190556109ab816109858585611337565b601555505050505050565b6060600280546107ef90611c04565b6109cd610dba565b601b60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a449190611c3e565b6001600160a01b031663c9c6539630601b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aca9190611c3e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3b9190611c3e565b601c80546001600160a01b0319166001600160a01b0392831690811782556000908152600a60209081526040808320805460ff1990811660019081179092559454909516835260088252808320805490941690941790925530815260059091522054610ba790476113e6565b601c805460ff60a81b1916600160a81b179055565b600061087f338461090685604051806060016040528060258152602001611dd6602591393360009081526006602090815260408083206001600160a01b038d16845290915290205491906112fd565b600061090b338484610e14565b610c20610dba565b6001600160a01b038116610c8a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610c9381611396565b50565b6001600160a01b038316610cf85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c81565b6001600160a01b038216610d595760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c81565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0316331461095e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c81565b60006001600160a01b038416610e7a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c81565b6001600160a01b038316610edc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c81565b601c548290600160a01b900460ff1615610f0357610efb8585856114b8565b91505061090f565b6001600160a01b03851660009081526009602052604090205460ff16158015610f4557506001600160a01b03841660009081526009602052604090205460ff16155b15610fad57601854831115610fad5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610c81565b30600090815260056020526040902054601c54600160a01b900460ff16158015610fef57506001600160a01b0385166000908152600a602052604090205460ff165b80156110045750601c54600160a81b900460ff165b1561102957601c54600160b01b900460ff16156110205750601a545b6110298161159e565b6001600160a01b03861660009081526007602052604081205460ff168061106857506001600160a01b03861660009081526007602052604090205460ff165b611125576001600160a01b0387166000908152600a602052604090205460ff16156110b4576110ad60646110a7601454886116d290919063ffffffff16565b90611754565b9050611125565b6001600160a01b0386166000908152600a602052604090205460ff1615611125576110ef60646110a7601554886116d290919063ffffffff16565b6003549091506001600160a01b0361010090910481169088160361112557611118878787611796565b6111229086611c71565b94505b80156111ac576111358184611c71565b306000908152600560205260409020549093506111529082611337565b30600081815260056020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111a39085815260200190565b60405180910390a35b601c54600160b81b900460ff1680156111de57506001600160a01b03861660009081526008602052604090205460ff16155b156112145760195461120984610985896001600160a01b031660009081526005602052604090205490565b111561121457600080fd5b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038a166000908152600590915291909120546112669187906112fd565b6001600160a01b0380891660009081526005602052604080822093909355908816815220546112959084611337565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112e99087815260200190565b60405180910390a36001935050505061090f565b600081848411156113215760405162461bcd60e51b8152600401610c819190611a9b565b50600061132e8486611c71565b95945050505050565b6000806113448385611c84565b90508381101561090f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c81565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b601b546113fe9030906001600160a01b031684610c96565b601b5460405163f305d71960e01b81523060048201526024810184905260006044820181905260648201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660848301524260a48301529091169063f305d71990839060c40160606040518083038185885af115801561148c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906114b19190611c97565b5050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546115099184906112fd565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546115389083611337565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061158c9086815260200190565b60405180910390a35060019392505050565b601c805460ff60a01b1916600160a01b1790556016546011546000916115ce916002916110a791829087906116d2565b905060006115dc838361185d565b9050601a548111156115f1576115f18161189f565b601154479060009061161190611608906002611754565b6016549061185d565b9050600061163360026110a7846110a7601154886116d290919063ffffffff16565b90506000611650836110a7601354876116d290919063ffffffff16565b9050600061166882611662878661185d565b9061185d565b9050600354611686906001600160a01b036101009091041682611a32565b60045461169c906001600160a01b031683611a32565b6000831180156116ac5750600087115b156116bb576116bb87846113e6565b5050601c805460ff60a01b19169055505050505050565b6000826000036116e457506000610883565b60006116f08385611cc5565b9050826116fd8583611cdc565b1461090f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c81565b600061090f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a6d565b6001600160a01b038316600090815260076020526040812054829060ff161580156117da57506001600160a01b03841660009081526007602052604090205460ff16155b15611855576003546001600160a01b038681166101009092041614611855576001600160a01b0385166000908152600a602052604090205460ff161561183b5761183460646110a7601454866116d290919063ffffffff16565b9050611855565b61132e60646110a7601554866116d290919063ffffffff16565b949350505050565b600061090f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112fd565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106118d4576118d4611cfe565b6001600160a01b03928316602091820292909201810191909152601b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561192d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119519190611c3e565b8160018151811061196457611964611cfe565b6001600160a01b039283166020918202929092010152601b5461198a9130911684610c96565b601b5460405163791ac94760e01b81526001600160a01b039091169063791ac947906119c3908590600090869030904290600401611d58565b600060405180830381600087803b1580156119dd57600080fd5b505af11580156119f1573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611a26929190611d94565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611a68573d6000803e3d6000fd5b505050565b60008183611a8e5760405162461bcd60e51b8152600401610c819190611a9b565b50600061132e8486611cdc565b600060208083528351808285015260005b81811015611ac857858101830151858201604001528201611aac565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c9357600080fd5b60008060408385031215611b1157600080fd5b8235611b1c81611ae9565b946020939093013593505050565b600080600060608486031215611b3f57600080fd5b8335611b4a81611ae9565b92506020840135611b5a81611ae9565b929592945050506040919091013590565b600060208284031215611b7d57600080fd5b813561090f81611ae9565b60008060008060008060c08789031215611ba157600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b60008060408385031215611bde57600080fd5b8235611be981611ae9565b91506020830135611bf981611ae9565b809150509250929050565b600181811c90821680611c1857607f821691505b602082108103611c3857634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611c5057600080fd5b815161090f81611ae9565b634e487b7160e01b600052601160045260246000fd5b8181038181111561088357610883611c5b565b8082018082111561088357610883611c5b565b600080600060608486031215611cac57600080fd5b8351925060208401519150604084015190509250925092565b808202811582820484141761088357610883611c5b565b600082611cf957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015611d4d5781516001600160a01b031687529582019590820190600101611d28565b509495945050505050565b85815284602082015260a060408201526000611d7760a0830186611d14565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006118556040830184611d1456fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122091830f45fdba5a3a218c006105d709b96b22420e292a3ec1f04c4ee08ad65aa464736f6c63430008130033
Deployed Bytecode
0x6080604052600436106102605760003560e01c806388790a6811610144578063c5d24189116100b6578063da00097d1161007a578063da00097d1461070c578063dc44b6a01461072d578063dd62ed3e14610743578063f0cd1dac14610789578063f2fde38b1461079f578063f872858a146107bf57600080fd5b8063c5d241891461067a578063c816841b14610690578063c8607952146106b0578063c867d60b146106c6578063cab03471146106f657600080fd5b8063a08e671f11610108578063a08e671f146105d3578063a457c2d7146105e9578063a83f53a714610609578063a9059cbb1461061f578063c02174ca1461063f578063c469b6dd1461066457600080fd5b806388790a68146105455780638b42507f1461055b5780638da5cb5b1461058b57806395d89b41146105a95780639e78fb4f146105be57600080fd5b80634a74bb02116101dd57806370a08231116101a157806370a0823114610498578063715018a6146104ce5780637d1db4a5146104e3578063807c2d9c146104f957806382eefb431461050f57806386f6c3c11461052557600080fd5b80634a74bb02146103fb5780635342acb41461041c57806357a5802f1461044c578063599270441461046257806361a23c691461048257600080fd5b806323b872dd1161022457806323b872dd1461033557806327c8f83514610355578063313ce5671461038957806339509351146103ab5780633ecad271146103cb57600080fd5b806306fdde031461026c578063095ea7b3146102975780630d76cdc4146102c75780631694505e146102de57806318160ddd1461031657600080fd5b3661026757005b600080fd5b34801561027857600080fd5b506102816107e0565b60405161028e9190611a9b565b60405180910390f35b3480156102a357600080fd5b506102b76102b2366004611afe565b610872565b604051901515815260200161028e565b3480156102d357600080fd5b506102dc610889565b005b3480156102ea57600080fd5b50601b546102fe906001600160a01b031681565b6040516001600160a01b03909116815260200161028e565b34801561032257600080fd5b506017545b60405190815260200161028e565b34801561034157600080fd5b506102b7610350366004611b2a565b6108ab565b34801561036157600080fd5b506102fe7f000000000000000000000000000000000000000000000000000000000000dead81565b34801561039557600080fd5b5060035460405160ff909116815260200161028e565b3480156103b757600080fd5b506102b76103c6366004611afe565b610916565b3480156103d757600080fd5b506102b76103e6366004611b6b565b600a6020526000908152604090205460ff1681565b34801561040757600080fd5b50601c546102b790600160a81b900460ff1681565b34801561042857600080fd5b506102b7610437366004611b6b565b60076020526000908152604090205460ff1681565b34801561045857600080fd5b5061032760115481565b34801561046e57600080fd5b506004546102fe906001600160a01b031681565b34801561048e57600080fd5b5061032760125481565b3480156104a457600080fd5b506103276104b3366004611b6b565b6001600160a01b031660009081526005602052604090205490565b3480156104da57600080fd5b506102dc61094c565b3480156104ef57600080fd5b5061032760185481565b34801561050557600080fd5b5061032760195481565b34801561051b57600080fd5b5061032760155481565b34801561053157600080fd5b506102dc610540366004611b88565b610960565b34801561055157600080fd5b50610327600e5481565b34801561056757600080fd5b506102b7610576366004611b6b565b60096020526000908152604090205460ff1681565b34801561059757600080fd5b506000546001600160a01b03166102fe565b3480156105b557600080fd5b506102816109b6565b3480156105ca57600080fd5b506102dc6109c5565b3480156105df57600080fd5b5061032760165481565b3480156105f557600080fd5b506102b7610604366004611afe565b610bbc565b34801561061557600080fd5b5061032760135481565b34801561062b57600080fd5b506102b761063a366004611afe565b610c0b565b34801561064b57600080fd5b506003546102fe9061010090046001600160a01b031681565b34801561067057600080fd5b50610327600d5481565b34801561068657600080fd5b50610327600c5481565b34801561069c57600080fd5b50601c546102fe906001600160a01b031681565b3480156106bc57600080fd5b50610327600f5481565b3480156106d257600080fd5b506102b76106e1366004611b6b565b60086020526000908152604090205460ff1681565b34801561070257600080fd5b5061032760105481565b34801561071857600080fd5b50601c546102b790600160b01b900460ff1681565b34801561073957600080fd5b50610327600b5481565b34801561074f57600080fd5b5061032761075e366004611bcb565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561079557600080fd5b5061032760145481565b3480156107ab57600080fd5b506102dc6107ba366004611b6b565b610c18565b3480156107cb57600080fd5b50601c546102b790600160b81b900460ff1681565b6060600180546107ef90611c04565b80601f016020809104026020016040519081016040528092919081815260200182805461081b90611c04565b80156108685780601f1061083d57610100808354040283529160200191610868565b820191906000526020600020905b81548152906001019060200180831161084b57829003601f168201915b5050505050905090565b600061087f338484610c96565b5060015b92915050565b610891610dba565b601c805460ff60b81b191690556000196018819055601955565b60006108b8848484610e14565b5061090b843361090685604051806060016040528060288152602001611dae602891396001600160a01b038a16600090815260066020908152604080832033845290915290205491906112fd565b610c96565b5060015b9392505050565b3360008181526006602090815260408083206001600160a01b0387168452909152812054909161087f9185906109069086611337565b610954610dba565b61095e6000611396565b565b610968610dba565b600b869055600c859055600d84905561098b846109858888611337565b90611337565b601455600e839055600f82905560108190556109ab816109858585611337565b601555505050505050565b6060600280546107ef90611c04565b6109cd610dba565b601b60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a449190611c3e565b6001600160a01b031663c9c6539630601b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aca9190611c3e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3b9190611c3e565b601c80546001600160a01b0319166001600160a01b0392831690811782556000908152600a60209081526040808320805460ff1990811660019081179092559454909516835260088252808320805490941690941790925530815260059091522054610ba790476113e6565b601c805460ff60a81b1916600160a81b179055565b600061087f338461090685604051806060016040528060258152602001611dd6602591393360009081526006602090815260408083206001600160a01b038d16845290915290205491906112fd565b600061090b338484610e14565b610c20610dba565b6001600160a01b038116610c8a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610c9381611396565b50565b6001600160a01b038316610cf85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c81565b6001600160a01b038216610d595760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c81565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0316331461095e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c81565b60006001600160a01b038416610e7a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c81565b6001600160a01b038316610edc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c81565b601c548290600160a01b900460ff1615610f0357610efb8585856114b8565b91505061090f565b6001600160a01b03851660009081526009602052604090205460ff16158015610f4557506001600160a01b03841660009081526009602052604090205460ff16155b15610fad57601854831115610fad5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610c81565b30600090815260056020526040902054601c54600160a01b900460ff16158015610fef57506001600160a01b0385166000908152600a602052604090205460ff165b80156110045750601c54600160a81b900460ff165b1561102957601c54600160b01b900460ff16156110205750601a545b6110298161159e565b6001600160a01b03861660009081526007602052604081205460ff168061106857506001600160a01b03861660009081526007602052604090205460ff165b611125576001600160a01b0387166000908152600a602052604090205460ff16156110b4576110ad60646110a7601454886116d290919063ffffffff16565b90611754565b9050611125565b6001600160a01b0386166000908152600a602052604090205460ff1615611125576110ef60646110a7601554886116d290919063ffffffff16565b6003549091506001600160a01b0361010090910481169088160361112557611118878787611796565b6111229086611c71565b94505b80156111ac576111358184611c71565b306000908152600560205260409020549093506111529082611337565b30600081815260056020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111a39085815260200190565b60405180910390a35b601c54600160b81b900460ff1680156111de57506001600160a01b03861660009081526008602052604090205460ff16155b156112145760195461120984610985896001600160a01b031660009081526005602052604090205490565b111561121457600080fd5b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038a166000908152600590915291909120546112669187906112fd565b6001600160a01b0380891660009081526005602052604080822093909355908816815220546112959084611337565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112e99087815260200190565b60405180910390a36001935050505061090f565b600081848411156113215760405162461bcd60e51b8152600401610c819190611a9b565b50600061132e8486611c71565b95945050505050565b6000806113448385611c84565b90508381101561090f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c81565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b601b546113fe9030906001600160a01b031684610c96565b601b5460405163f305d71960e01b81523060048201526024810184905260006044820181905260648201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead811660848301524260a48301529091169063f305d71990839060c40160606040518083038185885af115801561148c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906114b19190611c97565b5050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546115099184906112fd565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546115389083611337565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061158c9086815260200190565b60405180910390a35060019392505050565b601c805460ff60a01b1916600160a01b1790556016546011546000916115ce916002916110a791829087906116d2565b905060006115dc838361185d565b9050601a548111156115f1576115f18161189f565b601154479060009061161190611608906002611754565b6016549061185d565b9050600061163360026110a7846110a7601154886116d290919063ffffffff16565b90506000611650836110a7601354876116d290919063ffffffff16565b9050600061166882611662878661185d565b9061185d565b9050600354611686906001600160a01b036101009091041682611a32565b60045461169c906001600160a01b031683611a32565b6000831180156116ac5750600087115b156116bb576116bb87846113e6565b5050601c805460ff60a01b19169055505050505050565b6000826000036116e457506000610883565b60006116f08385611cc5565b9050826116fd8583611cdc565b1461090f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c81565b600061090f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a6d565b6001600160a01b038316600090815260076020526040812054829060ff161580156117da57506001600160a01b03841660009081526007602052604090205460ff16155b15611855576003546001600160a01b038681166101009092041614611855576001600160a01b0385166000908152600a602052604090205460ff161561183b5761183460646110a7601454866116d290919063ffffffff16565b9050611855565b61132e60646110a7601554866116d290919063ffffffff16565b949350505050565b600061090f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112fd565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106118d4576118d4611cfe565b6001600160a01b03928316602091820292909201810191909152601b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561192d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119519190611c3e565b8160018151811061196457611964611cfe565b6001600160a01b039283166020918202929092010152601b5461198a9130911684610c96565b601b5460405163791ac94760e01b81526001600160a01b039091169063791ac947906119c3908590600090869030904290600401611d58565b600060405180830381600087803b1580156119dd57600080fd5b505af11580156119f1573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611a26929190611d94565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611a68573d6000803e3d6000fd5b505050565b60008183611a8e5760405162461bcd60e51b8152600401610c819190611a9b565b50600061132e8486611cdc565b600060208083528351808285015260005b81811015611ac857858101830151858201604001528201611aac565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c9357600080fd5b60008060408385031215611b1157600080fd5b8235611b1c81611ae9565b946020939093013593505050565b600080600060608486031215611b3f57600080fd5b8335611b4a81611ae9565b92506020840135611b5a81611ae9565b929592945050506040919091013590565b600060208284031215611b7d57600080fd5b813561090f81611ae9565b60008060008060008060c08789031215611ba157600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b60008060408385031215611bde57600080fd5b8235611be981611ae9565b91506020830135611bf981611ae9565b809150509250929050565b600181811c90821680611c1857607f821691505b602082108103611c3857634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611c5057600080fd5b815161090f81611ae9565b634e487b7160e01b600052601160045260246000fd5b8181038181111561088357610883611c5b565b8082018082111561088357610883611c5b565b600080600060608486031215611cac57600080fd5b8351925060208401519150604084015190509250925092565b808202811582820484141761088357610883611c5b565b600082611cf957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015611d4d5781516001600160a01b031687529582019590820190600101611d28565b509495945050505050565b85815284602082015260a060408201526000611d7760a0830186611d14565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006118556040830184611d1456fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122091830f45fdba5a3a218c006105d709b96b22420e292a3ec1f04c4ee08ad65aa464736f6c63430008130033
Deployed Bytecode Sourcemap
7743:12817:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10778:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12168:186;;;;;;;;;;-1:-1:-1;12168:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;12168:186:0;1023:187:1;13928:164:0;;;;;;;;;;;;;:::i;:::-;;9402:37;;;;;;;;;;-1:-1:-1;9402:37:0;;;;-1:-1:-1;;;;;9402:37:0;;;;;;-1:-1:-1;;;;;1401:32:1;;;1383:51;;1371:2;1356:18;9402:37:0;1215:225:1;11055:100:0;;;;;;;;;;-1:-1:-1;11135:12:0;;11055:100;;;1591:25:1;;;1579:2;1564:18;11055:100:0;1445:177:1;14496:446:0;;;;;;;;;;-1:-1:-1;14496:446:0;;;;;:::i;:::-;;:::i;8185:90::-;;;;;;;;;;;;;;;10964:83;;;;;;;;;;-1:-1:-1;11030:9:0;;10964:83;;11030:9;;;;2438:36:1;;2426:2;2411:18;10964:83:0;2296:184:1;11466:293:0;;;;;;;;;;-1:-1:-1;11466:293:0;;;;;:::i;:::-;;:::i;8572:44::-;;;;;;;;;;-1:-1:-1;8572:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9509:41;;;;;;;;;;-1:-1:-1;9509:41:0;;;;-1:-1:-1;;;9509:41:0;;;;;;8404:49;;;;;;;;;;-1:-1:-1;8404:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8876:34;;;;;;;;;;;;;;;;8082:96;;;;;;;;;;-1:-1:-1;8082:96:0;;;;-1:-1:-1;;;;;8082:96:0;;;8917:35;;;;;;;;;;;;;;;;11163:119;;;;;;;;;;-1:-1:-1;11163:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;11256:18:0;11229:7;11256:18;;;:9;:18;;;;;;;11163:119;6342:103;;;;;;;;;;;;;:::i;9205:56::-;;;;;;;;;;;;;;;;9268:54;;;;;;;;;;;;;;;;9041:38;;;;;;;;;;;;;;;;13146:774;;;;;;;;;;-1:-1:-1;13146:774:0;;;;;:::i;:::-;;:::i;8749:36::-;;;;;;;;;;;;;;;;8518:47;;;;;;;;;;-1:-1:-1;8518:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6107:87;;;;;;;;;;-1:-1:-1;6153:7:0;6180:6;-1:-1:-1;;;;;6180:6:0;6107:87;;10869;;;;;;;;;;;;;:::i;12707:431::-;;;;;;;;;;;;;:::i;9086:44::-;;;;;;;;;;;;;;;;11767:393;;;;;;;;;;-1:-1:-1;11767:393:0;;;;;:::i;:::-;;:::i;8959:29::-;;;;;;;;;;;;;;;;14296:192;;;;;;;;;;-1:-1:-1;14296:192:0;;;;;:::i;:::-;;:::i;7981:94::-;;;;;;;;;;-1:-1:-1;7981:94:0;;;;;;;-1:-1:-1;;;;;7981:94:0;;;8710:30;;;;;;;;;;;;;;;;8667:36;;;;;;;;;;;;;;;;9446:26;;;;;;;;;;-1:-1:-1;9446:26:0;;;;-1:-1:-1;;;;;9446:26:0;;;8792:37;;;;;;;;;;;;;;;;8460:51;;;;;;;;;;-1:-1:-1;8460:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8836:31;;;;;;;;;;;;;;;;9557:45;;;;;;;;;;-1:-1:-1;9557:45:0;;;;-1:-1:-1;;;9557:45:0;;;;;;8625:35;;;;;;;;;;;;;;;;11290:168;;;;;;;;;;-1:-1:-1;11290:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;11423:18:0;;;11396:7;11423:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11290:168;8997:37;;;;;;;;;;;;;;;;6453:238;;;;;;;;;;-1:-1:-1;6453:238:0;;;;;:::i;:::-;;:::i;9609:35::-;;;;;;;;;;-1:-1:-1;9609:35:0;;;;-1:-1:-1;;;9609:35:0;;;;;;10778:83;10815:13;10848:5;10841:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10778:83;:::o;12168:186::-;12268:4;12285:39;301:10;12308:7;12317:6;12285:8;:39::i;:::-;-1:-1:-1;12342:4:0;12168:186;;;;;:::o;13928:164::-;6066:13;:11;:13::i;:::-;13976:16:::1;:24:::0;;-1:-1:-1;;;;13976:24:0::1;::::0;;-1:-1:-1;;14011:12:0::1;:32:::0;;;14054:10:::1;:30:::0;13928:164::o;14496:446::-;14628:4;14645:36;14655:6;14663:9;14674:6;14645:9;:36::i;:::-;-1:-1:-1;14692:220:0;14715:6;301:10;14763:138;14819:6;14763:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14763:19:0;;;;;;:11;:19;;;;;;;;301:10;14763:33;;;;;;;;;;:37;:138::i;:::-;14692:8;:220::i;:::-;-1:-1:-1;14930:4:0;14496:446;;;;;;:::o;11466:293::-;301:10;11579:4;11668:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;11668:34:0;;;;;;;;;;11579:4;;11596:133;;11646:7;;11668:50;;11707:10;11668:38;:50::i;6342:103::-;6066:13;:11;:13::i;:::-;6407:30:::1;6434:1;6407:18;:30::i;:::-;6342:103::o:0;13146:774::-;6066:13;:11;:13::i;:::-;13417:16:::1;:37:::0;;;13465:16:::1;:37:::0;;;13513:11:::1;:28:::0;;;13574:79:::1;13527:14:::0;13574:38:::1;13436:18:::0;13484;13574:20:::1;:38::i;:::-;:42:::0;::::1;:79::i;:::-;13554:17;:99:::0;13666:17:::1;:39:::0;;;13716:17:::1;:39:::0;;;13766:12:::1;:30:::0;;;13830:82:::1;13781:15:::0;13830:40:::1;13686:19:::0;13736;13830:21:::1;:40::i;:82::-;13809:18;:103:::0;-1:-1:-1;;;;;;13146:774:0:o;10869:87::-;10908:13;10941:7;10934:14;;;;;:::i;12707:431::-;6066:13;:11;:13::i;:::-;12791:15:::1;;;;;;;;;-1:-1:-1::0;;;;;12791:15:0::1;-1:-1:-1::0;;;;;12791:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12773:55:0::1;;12851:4;12871:15;;;;;;;;;-1:-1:-1::0;;;;;12871:15:0::1;-1:-1:-1::0;;;;;12871:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12773:131;::::0;-1:-1:-1;;;;;;12773:131:0::1;::::0;;;;;;-1:-1:-1;;;;;4753:15:1;;;12773:131:0::1;::::0;::::1;4735:34:1::0;4805:15;;4785:18;;;4778:43;4670:18;;12773:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12759:11;:145:::0;;-1:-1:-1;;;;;;12759:145:0::1;-1:-1:-1::0;;;;;12759:145:0;;::::1;::::0;;::::1;::::0;;-1:-1:-1;12917:34:0;;;:12:::1;:34;::::0;;;;;;;:41;;-1:-1:-1;;12917:41:0;;::::1;-1:-1:-1::0;12917:41:0;;::::1;::::0;;;12997:11;;;;::::1;12969:41:::0;;:19:::1;:41:::0;;;;;:48;;;;::::1;::::0;;::::1;::::0;;;13061:4:::1;11256:18:::0;;:9;:18;;;;;13030:61:::1;::::0;13069:21:::1;13030:12;:61::i;:::-;13102:21;:28:::0;;-1:-1:-1;;;;13102:28:0::1;-1:-1:-1::0;;;13102:28:0::1;::::0;;12707:431::o;11767:393::-;11885:4;11902:228;301:10;11952:7;11974:145;12031:15;11974:145;;;;;;;;;;;;;;;;;301:10;11974:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;11974:34:0;;;;;;;;;;;;:38;:145::i;14296:192::-;14399:4;14416:42;301:10;14440:9;14451:6;14416:9;:42::i;6453:238::-;6066:13;:11;:13::i;:::-;-1:-1:-1;;;;;6556:22:0;::::1;6534:110;;;::::0;-1:-1:-1;;;6534:110:0;;5034:2:1;6534:110:0::1;::::0;::::1;5016:21:1::0;5073:2;5053:18;;;5046:30;5112:34;5092:18;;;5085:62;-1:-1:-1;;;5163:18:1;;;5156:36;5209:19;;6534:110:0::1;;;;;;;;;6655:28;6674:8;6655:18;:28::i;:::-;6453:238:::0;:::o;12362:337::-;-1:-1:-1;;;;;12455:19:0;;12447:68;;;;-1:-1:-1;;;12447:68:0;;5441:2:1;12447:68:0;;;5423:21:1;5480:2;5460:18;;;5453:30;5519:34;5499:18;;;5492:62;-1:-1:-1;;;5570:18:1;;;5563:34;5614:19;;12447:68:0;5239:400:1;12447:68:0;-1:-1:-1;;;;;12534:21:0;;12526:68;;;;-1:-1:-1;;;12526:68:0;;5846:2:1;12526:68:0;;;5828:21:1;5885:2;5865:18;;;5858:30;5924:34;5904:18;;;5897:62;-1:-1:-1;;;5975:18:1;;;5968:32;6017:19;;12526:68:0;5644:398:1;12526:68:0;-1:-1:-1;;;;;12607:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12659:32;;1591:25:1;;;12659:32:0;;1564:18:1;12659:32:0;;;;;;;12362:337;;;:::o;6202:132::-;6153:7;6180:6;-1:-1:-1;;;;;6180:6:0;301:10;6266:23;6258:68;;;;-1:-1:-1;;;6258:68:0;;6249:2:1;6258:68:0;;;6231:21:1;;;6268:18;;;6261:30;6327:34;6307:18;;;6300:62;6379:18;;6258:68:0;6047:356:1;14950:2415:0;15071:4;-1:-1:-1;;;;;15096:20:0;;15088:70;;;;-1:-1:-1;;;15088:70:0;;6610:2:1;15088:70:0;;;6592:21:1;6649:2;6629:18;;;6622:30;6688:34;6668:18;;;6661:62;-1:-1:-1;;;6739:18:1;;;6732:35;6784:19;;15088:70:0;6408:401:1;15088:70:0;-1:-1:-1;;;;;15177:23:0;;15169:71;;;;-1:-1:-1;;;15169:71:0;;7016:2:1;15169:71:0;;;6998:21:1;7055:2;7035:18;;;7028:30;7094:34;7074:18;;;7067:62;-1:-1:-1;;;7145:18:1;;;7138:33;7188:19;;15169:71:0;6814:399:1;15169:71:0;15298:16;;15275:6;;-1:-1:-1;;;15298:16:0;;;;15294:2064;;;15338:41;15353:6;15361:9;15372:6;15338:14;:41::i;:::-;15331:48;;;;;15294:2064;-1:-1:-1;;;;;15417:23:0;;;;;;:15;:23;;;;;;;;15416:24;:55;;;;-1:-1:-1;;;;;;15445:26:0;;;;;;:15;:26;;;;;;;;15444:27;15416:55;15412:232;;;15532:12;;15522:6;:22;;15492:136;;;;-1:-1:-1;;;15492:136:0;;7420:2:1;15492:136:0;;;7402:21:1;7459:2;7439:18;;;7432:30;7498:34;7478:18;;;7471:62;-1:-1:-1;;;7549:18:1;;;7542:38;7597:19;;15492:136:0;7218:404:1;15492:136:0;15709:4;15660:28;11256:18;;;:9;:18;;;;;;15753:16;;-1:-1:-1;;;15753:16:0;;;;15752:17;:61;;;;-1:-1:-1;;;;;;15790:23:0;;;;;;:12;:23;;;;;;;;15752:61;:103;;;;-1:-1:-1;15834:21:0;;-1:-1:-1;;;15834:21:0;;;;15752:103;15730:329;;;15894:25;;-1:-1:-1;;;15894:25:0;;;;15890:98;;;-1:-1:-1;15965:23:0;;15890:98;16007:36;16022:20;16007:14;:36::i;:::-;-1:-1:-1;;;;;16117:25:0;;16075:17;16117:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;16146:28:0;;;;;;:17;:28;;;;;;;;16117:57;16111:498;;-1:-1:-1;;;;;16200:20:0;;;;;;:12;:20;;;;;;;;16196:398;;;16257:38;16291:3;16257:29;16268:17;;16257:6;:10;;:29;;;;:::i;:::-;:33;;:38::i;:::-;16245:50;;16196:398;;;-1:-1:-1;;;;;16325:23:0;;;;;;:12;:23;;;;;;;;16321:273;;;16385:39;16420:3;16385:30;16396:18;;16385:6;:10;;:30;;;;:::i;:39::-;16463:8;;16373:51;;-1:-1:-1;;;;;;16463:8:0;;;;;;16453:18;;;;16449:126;;16510:41;16525:6;16533:9;16544:6;16510:14;:41::i;:::-;16500:51;;;;:::i;:::-;;;16449:126;16629:13;;16625:269;;16663:24;16678:9;16663:24;;:::i;:::-;16751:4;16733:24;;;;:9;:24;;;;;;16663;;-1:-1:-1;16733:79:0;;16784:9;16733:28;:79::i;:::-;16724:4;16706:24;;;;:9;:24;;;;;;;:106;;;;16836:42;;-1:-1:-1;;;;;16836:42:0;;;;;;;16868:9;1591:25:1;;1579:2;1564:18;;1445:177;16836:42:0;;;;;;;;16625:269;16914:16;;-1:-1:-1;;;16914:16:0;;;;:51;;;;-1:-1:-1;;;;;;16935:30:0;;;;;;:19;:30;;;;;;;;16934:31;16914:51;16910:134;;;17033:10;;16992:37;17017:11;16992:20;17002:9;-1:-1:-1;;;;;11256:18:0;11229:7;11256:18;;;:9;:18;;;;;;;11163:119;16992:37;:51;;16984:60;;;;;;17081:102;;;;;;;;;;;-1:-1:-1;;;17081:102:0;;;;;;;;-1:-1:-1;;;;;17081:17:0;;-1:-1:-1;17081:17:0;;;:9;:17;;;;;;;;:102;;17121:6;;17081:21;:102::i;:::-;-1:-1:-1;;;;;17061:17:0;;;;;;;:9;:17;;;;;;:122;;;;17221:20;;;;;;;:37;;17246:11;17221:24;:37::i;:::-;-1:-1:-1;;;;;17198:20:0;;;;;;;:9;:20;;;;;;;:60;;;;17280:40;;;;;;;;;;17308:11;1591:25:1;;1579:2;1564:18;;1445:177;17280:40:0;;;;;;;;17342:4;17335:11;;;;;;;1732:226;1852:7;1888:12;1880:6;;;;1872:29;;;;-1:-1:-1;;;1872:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1912:9:0;1924:5;1928:1;1924;:5;:::i;:::-;1912:17;1732:226;-1:-1:-1;;;;;1732:226:0:o;1399:181::-;1457:7;;1489:5;1493:1;1489;:5;:::i;:::-;1477:17;;1518:1;1513;:6;;1505:46;;;;-1:-1:-1;;;1505:46:0;;8224:2:1;1505:46:0;;;8206:21:1;8263:2;8243:18;;;8236:30;8302:29;8282:18;;;8275:57;8349:18;;1505:46:0;8022:351:1;6699:191:0;6773:16;6792:6;;-1:-1:-1;;;;;6809:17:0;;;-1:-1:-1;;;;;;6809:17:0;;;;;;6842:40;;6792:6;;;;;;;6842:40;;6773:16;6842:40;6762:128;6699:191;:::o;20191:366::-;20304:15;;20272:62;;20289:4;;-1:-1:-1;;;;;20304:15:0;20322:11;20272:8;:62::i;:::-;20347:15;;:202;;-1:-1:-1;;;20347:202:0;;20419:4;20347:202;;;8719:34:1;8769:18;;;8762:34;;;-1:-1:-1;8812:18:1;;;8805:34;;;8855:18;;;8848:34;-1:-1:-1;;;;;20497:11:0;8919:15:1;;8898:19;;;8891:44;20523:15:0;8951:19:1;;;8944:35;20347:15:0;;;;:31;;20386:9;;8653:19:1;;20347:202:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;20191:366;;:::o;17950:401::-;18114:90;;;;;;;;;;;-1:-1:-1;;;18114:90:0;;;;;;;;-1:-1:-1;;;;;18114:17:0;;18077:4;18114:17;;;:9;:17;;;;;;;:90;;18150:6;;18114:21;:90::i;:::-;-1:-1:-1;;;;;18094:17:0;;;;;;;:9;:17;;;;;;:110;;;;18238:20;;;;;;;:32;;18263:6;18238:24;:32::i;:::-;-1:-1:-1;;;;;18215:20:0;;;;;;;:9;:20;;;;;;;:55;;;;18286:35;;;;;;;;;;18314:6;1591:25:1;;1579:2;1564:18;;1445:177;18286:35:0;;;;;;;;-1:-1:-1;18339:4:0;17950:401;;;;;:::o;18359:1244::-;10007:16;:23;;-1:-1:-1;;;;10007:23:0;-1:-1:-1;;;10007:23:0;;;18514:24:::1;::::0;18479:15:::1;::::0;10007:23;;18453:107:::1;::::0;18558:1:::1;::::0;18453:86:::1;::::0;;;:7;;:25:::1;:42::i;:107::-;18431:129:::0;-1:-1:-1;18571:21:0::1;18595:24;:7:::0;18431:129;18595:11:::1;:24::i;:::-;18571:48;;18652:23;;18636:13;:39;18632:89;;;18690:31;18707:13;18690:16;:31::i;:::-;18856:15;::::0;18757:21:::1;::::0;18732:22:::1;::::0;18813:76:::1;::::0;18856:22:::1;::::0;18876:1:::1;18856:19;:22::i;:::-;18813:24;::::0;;:28:::1;:76::i;:::-;18791:98;;18902:26;18931:101;19030:1;18931:80;18999:11;18931:49;18964:15;;18931:14;:32;;:49;;;;:::i;:101::-;18902:130;;19043:22;19068:71;19117:11;19068:30;19087:10;;19068:14;:18;;:30;;;;:::i;:71::-;19043:96:::0;-1:-1:-1;19150:26:0::1;19179:82;19043:96:::0;19179:38:::1;:14:::0;19198:18;19179::::1;:38::i;:::-;:42:::0;::::1;:82::i;:::-;19150:111:::0;-1:-1:-1;19343:8:0::1;::::0;19322:50:::1;::::0;-1:-1:-1;;;;;19343:8:0::1;::::0;;::::1;;19353:18:::0;19322:20:::1;:50::i;:::-;19450:10;::::0;19429:48:::1;::::0;-1:-1:-1;;;;;19450:10:0::1;19462:14:::0;19429:20:::1;:48::i;:::-;19515:1;19494:18;:22;:41;;;;;19534:1;19520:11;:15;19494:41;19490:105;;;19550:45;19563:11;19576:18;19550:12;:45::i;:::-;-1:-1:-1::0;;10053:16:0;:24;;-1:-1:-1;;;;10053:24:0;;;-1:-1:-1;;;;;;18359:1244:0:o;1966:250::-;2024:7;2048:1;2053;2048:6;2044:47;;-1:-1:-1;2078:1:0;2071:8;;2044:47;2103:9;2115:5;2119:1;2115;:5;:::i;:::-;2103:17;-1:-1:-1;2148:1:0;2139:5;2143:1;2103:17;2139:5;:::i;:::-;:10;2131:56;;;;-1:-1:-1;;;2131:56:0;;9898:2:1;2131:56:0;;;9880:21:1;9937:2;9917:18;;;9910:30;9976:34;9956:18;;;9949:62;-1:-1:-1;;;10027:18:1;;;10020:31;10068:19;;2131:56:0;9696:397:1;2224:132:0;2282:7;2309:39;2313:1;2316;2309:39;;;;;;;;;;;;;;;;;:3;:39::i;17373:569::-;-1:-1:-1;;;;;17563:25:0;;17505:7;17563:25;;;:17;:25;;;;;;17539:6;;17563:25;;17562:26;:59;;;;-1:-1:-1;;;;;;17593:28:0;;;;;;:17;:28;;;;;;;;17592:29;17562:59;17558:356;;;17652:8;;-1:-1:-1;;;;;17642:18:0;;;17652:8;;;;;17642:18;17638:265;;-1:-1:-1;;;;;17685:20:0;;;;;;:12;:20;;;;;;;;17681:207;;;17736:38;17770:3;17736:29;17747:17;;17736:6;:10;;:29;;;;:::i;:38::-;17730:44;;17681:207;;;17829:39;17864:3;17829:30;17840:18;;17829:6;:10;;:30;;;;:::i;17681:207::-;17931:3;17373:569;-1:-1:-1;;;;17373:569:0:o;1588:136::-;1646:7;1673:43;1677:1;1680;1673:43;;;;;;;;;;;;;;;;;:3;:43::i;19611:572::-;19701:16;;;19715:1;19701:16;;;;;;;;19677:21;;19701:16;;;;;;;;;;-1:-1:-1;19701:16:0;19677:40;;19746:4;19728;19733:1;19728:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19728:23:0;;;:7;;;;;;;;;;:23;;;;19772:15;;:22;;;-1:-1:-1;;;19772:22:0;;;;:15;;;;;:20;;:22;;;;;19728:7;;19772:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19762:4;19767:1;19762:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19762:32:0;;;:7;;;;;;;;;:32;19839:15;;19807:62;;19824:4;;19839:15;19857:11;19807:8;:62::i;:::-;19882:15;;:240;;-1:-1:-1;;;19882:240:0;;-1:-1:-1;;;;;19882:15:0;;;;:66;;:240;;19963:11;;19882:15;;20033:4;;20060;;20096:15;;19882:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20140:35;20157:11;20170:4;20140:35;;;;;;;:::i;:::-;;;;;;;;19666:517;19611:572;:::o;14100:151::-;14217:26;;-1:-1:-1;;;;;14217:18:0;;;:26;;;;;14236:6;;14217:26;;;;14236:6;14217:18;:26;;;;;;;;;;;;;;;;;;;;;14100:151;;:::o;2364:225::-;2484:7;2519:12;2512:5;2504:28;;;;-1:-1:-1;;;2504:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2543:9:0;2555:5;2559:1;2555;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1627:456::-;1704:6;1712;1720;1773:2;1761:9;1752:7;1748:23;1744:32;1741:52;;;1789:1;1786;1779:12;1741:52;1828:9;1815:23;1847:31;1872:5;1847:31;:::i;:::-;1897:5;-1:-1:-1;1954:2:1;1939:18;;1926:32;1967:33;1926:32;1967:33;:::i;:::-;1627:456;;2019:7;;-1:-1:-1;;;2073:2:1;2058:18;;;;2045:32;;1627:456::o;2485:247::-;2544:6;2597:2;2585:9;2576:7;2572:23;2568:32;2565:52;;;2613:1;2610;2603:12;2565:52;2652:9;2639:23;2671:31;2696:5;2671:31;:::i;2961:523::-;3065:6;3073;3081;3089;3097;3105;3158:3;3146:9;3137:7;3133:23;3129:33;3126:53;;;3175:1;3172;3165:12;3126:53;-1:-1:-1;;3198:23:1;;;3268:2;3253:18;;3240:32;;-1:-1:-1;3319:2:1;3304:18;;3291:32;;3370:2;3355:18;;3342:32;;-1:-1:-1;3421:3:1;3406:19;;3393:33;;-1:-1:-1;3473:3:1;3458:19;3445:33;;-1:-1:-1;2961:523:1;-1:-1:-1;2961:523:1:o;3489:388::-;3557:6;3565;3618:2;3606:9;3597:7;3593:23;3589:32;3586:52;;;3634:1;3631;3624:12;3586:52;3673:9;3660:23;3692:31;3717:5;3692:31;:::i;:::-;3742:5;-1:-1:-1;3799:2:1;3784:18;;3771:32;3812:33;3771:32;3812:33;:::i;:::-;3864:7;3854:17;;;3489:388;;;;;:::o;3882:380::-;3961:1;3957:12;;;;4004;;;4025:61;;4079:4;4071:6;4067:17;4057:27;;4025:61;4132:2;4124:6;4121:14;4101:18;4098:38;4095:161;;4178:10;4173:3;4169:20;4166:1;4159:31;4213:4;4210:1;4203:15;4241:4;4238:1;4231:15;4095:161;;3882:380;;;:::o;4267:251::-;4337:6;4390:2;4378:9;4369:7;4365:23;4361:32;4358:52;;;4406:1;4403;4396:12;4358:52;4438:9;4432:16;4457:31;4482:5;4457:31;:::i;7627:127::-;7688:10;7683:3;7679:20;7676:1;7669:31;7719:4;7716:1;7709:15;7743:4;7740:1;7733:15;7759:128;7826:9;;;7847:11;;;7844:37;;;7861:18;;:::i;7892:125::-;7957:9;;;7978:10;;;7975:36;;;7991:18;;:::i;8990:306::-;9078:6;9086;9094;9147:2;9135:9;9126:7;9122:23;9118:32;9115:52;;;9163:1;9160;9153:12;9115:52;9192:9;9186:16;9176:26;;9242:2;9231:9;9227:18;9221:25;9211:35;;9286:2;9275:9;9271:18;9265:25;9255:35;;8990:306;;;;;:::o;9301:168::-;9374:9;;;9405;;9422:15;;;9416:22;;9402:37;9392:71;;9443:18;;:::i;9474:217::-;9514:1;9540;9530:132;;9584:10;9579:3;9575:20;9572:1;9565:31;9619:4;9616:1;9609:15;9647:4;9644:1;9637:15;9530:132;-1:-1:-1;9676:9:1;;9474:217::o;10230:127::-;10291:10;10286:3;10282:20;10279:1;10272:31;10322:4;10319:1;10312:15;10346:4;10343:1;10336:15;10362:461;10415:3;10453:5;10447:12;10480:6;10475:3;10468:19;10506:4;10535:2;10530:3;10526:12;10519:19;;10572:2;10565:5;10561:14;10593:1;10603:195;10617:6;10614:1;10611:13;10603:195;;;10682:13;;-1:-1:-1;;;;;10678:39:1;10666:52;;10738:12;;;;10773:15;;;;10714:1;10632:9;10603:195;;;-1:-1:-1;10814:3:1;;10362:461;-1:-1:-1;;;;;10362:461:1:o;10828:582::-;11127:6;11116:9;11109:25;11170:6;11165:2;11154:9;11150:18;11143:34;11213:3;11208:2;11197:9;11193:18;11186:31;11090:4;11234:57;11286:3;11275:9;11271:19;11263:6;11234:57;:::i;:::-;-1:-1:-1;;;;;11327:32:1;;;;11322:2;11307:18;;11300:60;-1:-1:-1;11391:3:1;11376:19;11369:35;11226:65;10828:582;-1:-1:-1;;;10828:582:1:o;11415:332::-;11622:6;11611:9;11604:25;11665:2;11660;11649:9;11645:18;11638:30;11585:4;11685:56;11737:2;11726:9;11722:18;11714:6;11685:56;:::i
Swarm Source
ipfs://91830f45fdba5a3a218c006105d709b96b22420e292a3ec1f04c4ee08ad65aa4
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.