Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000,000 F12
Holders
37
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
3,071,011,427.967195509 F12Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TehGreatRace
Compiler Version
v0.8.18+commit.87f61d96
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.4; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/utils/Context.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/utils/math/SafeMath.sol"; interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } error Zero_Address(string where); error Amount_Zero(); error Exceeds_MaxAmount(string Amount); error In_Cooldown(); error Already_Open(); error Withdraw_Failed(); error Sale_is_not_Safe(); contract TehGreatRace is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _rOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; mapping(address => bool) private bots; mapping(address => uint) private cooldown; uint256 private constant _tTotal = 1e13 * 10 ** 8; uint256 private _buyProjectFee = 0; uint256 private _previousBuyProjectFee = _buyProjectFee; uint256 private _sellProjectFee = 0; uint256 private _previousSellProjectFee = _sellProjectFee; address payable private _projectWallet; string private constant _name = "Teh Great Race"; string private constant _symbol = "F12"; uint8 private constant _decimals = 9; IUniswapV2Router02 public immutable uniswapV2Router; address public uniswapV2Pair; bool public tradingOpen; bool private swapping; bool private inSwap = false; bool private swapFeeForWethEnabled = false; bool private preventUnsafeSale = false; bool private cooldownEnabled = false; uint256 private _maxBuyAmount = _tTotal; uint256 private _maxSellAmount = _tTotal; uint256 private _maxWalletAmount = _tTotal; uint256 private swapTokensForWethAmount = 0; event MaxBuyAmountUpdated(uint256 _maxBuyAmount); event MaxSellAmountUpdated(uint256 _maxSellAmount); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor(address _uniswapV2Router, address projectWallet) { uniswapV2Router = IUniswapV2Router02(_uniswapV2Router); _projectWallet = payable(projectWallet); _rOwned[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_projectWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function transfer( address recipient, uint256 amount ) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function approve( address spender, uint256 amount ) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function setCooldownEnabled() external onlyOwner { cooldownEnabled = !cooldownEnabled; } function setSwapFeeForWethEnabled() external onlyOwner { swapFeeForWethEnabled = !swapFeeForWethEnabled; } function setPreventUnsafeSale() public onlyOwner { preventUnsafeSale = !preventUnsafeSale; } function _approve(address owner, address spender, uint256 amount) private { if (owner == address(0)) revert Zero_Address("owner"); if (spender == address(0)) revert Zero_Address("spender"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { if (from == address(0)) revert Zero_Address("transfer_from"); if (to == address(0)) revert Zero_Address("transfer_to"); if (amount <= 0) revert Amount_Zero(); bool takeTaxFee = false; bool swapForWeth = false; if ( from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping ) { require(!bots[from] && !bots[to]); takeTaxFee = true; if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] && cooldownEnabled ) { if (amount >= _maxBuyAmount) revert Exceeds_MaxAmount("Buy"); if (balanceOf(to) + amount >= _maxWalletAmount) revert Exceeds_MaxAmount("Wallet"); if (cooldown[to] > block.timestamp) revert In_Cooldown(); cooldown[to] = block.timestamp + (30 seconds); } if ( to == uniswapV2Pair && from != address(uniswapV2Router) && !_isExcludedFromFee[from] && cooldownEnabled ) { if (preventUnsafeSale) revert Sale_is_not_Safe(); if (amount >= _maxSellAmount) revert Exceeds_MaxAmount("Sell"); swapForWeth = true; } } if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) { takeTaxFee = false; } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwapWeth = (contractTokenBalance > swapTokensForWethAmount) && swapForWeth; if ( canSwapWeth && swapFeeForWethEnabled && !swapping && !_isExcludedFromFee[from] && !_isExcludedFromFee[to] ) { swapping = true; swapBack(); swapping = false; } _tokenTransfer(from, to, amount, takeTaxFee, swapForWeth); } function swapBack() private { uint256 tokensForProject = balanceOf(address(this)); bool success; if (tokensForProject == 0) { return; } if (tokensForProject > swapTokensForWethAmount * 10) { tokensForProject = swapTokensForWethAmount * 10; } uint256 initialETHBalance = address(this).balance; swapTokensForEth(tokensForProject); (success, ) = address(_projectWallet).call{ value: address(this).balance - initialETHBalance }(""); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function openTrading() external onlyOwner { if (tradingOpen) revert Already_Open(); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp + 10 minutes ); swapFeeForWethEnabled = true; cooldownEnabled = true; _maxBuyAmount = 1e11 * 10 ** 8; _maxSellAmount = 1e11 * 10 ** 8; _maxWalletAmount = 3e11 * 10 ** 8; swapTokensForWethAmount = 5e5 * 10 ** 8; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function setBots(address[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function setMaxBuyAmount(uint256 maxBuy) public onlyOwner { _maxBuyAmount = maxBuy; } function setMaxSellAmount(uint256 maxSell) public onlyOwner { _maxSellAmount = maxSell; } function setMaxWalletAmount(uint256 maxToken) public onlyOwner { _maxWalletAmount = maxToken; } function setSwapTokensForWethAmount(uint256 newAmount) public onlyOwner { if (newAmount <= 1e3 * 10 ** 9) revert(); if (newAmount >= 5e6 * 10 ** 9) revert(); swapTokensForWethAmount = newAmount; } function setProjectWallet(address projectWallet) public onlyOwner { if (projectWallet == address(0)) revert Zero_Address("wallet"); _isExcludedFromFee[_projectWallet] = false; _projectWallet = payable(projectWallet); _isExcludedFromFee[_projectWallet] = true; } function excludeFromFee(address account) public onlyOwner { _isExcludedFromFee[account] = true; } function includeInFee(address account) public onlyOwner { _isExcludedFromFee[account] = false; } function setBuyFee(uint256 buyProjectFee) external onlyOwner { _buyProjectFee = buyProjectFee; } function setSellFee(uint256 sellProjectFee) external onlyOwner { _sellProjectFee = sellProjectFee; } function removeAllFee() private { if ( _buyProjectFee == 0 && _sellProjectFee == 0 && _previousBuyProjectFee == 0 && _previousSellProjectFee == 0 ) return; _previousBuyProjectFee = _buyProjectFee; _previousSellProjectFee = _sellProjectFee; _buyProjectFee = 0; _sellProjectFee = 0; } function restoreAllFee() private { _buyProjectFee = _previousBuyProjectFee; _sellProjectFee = _previousSellProjectFee; } function delBot(address notbot) public onlyOwner { bots[notbot] = false; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeTaxFee, bool isSell ) private { if (!takeTaxFee) { removeAllFee(); } else { amount = _takeFees(sender, amount, isSell); } _transferStandard(sender, recipient, amount); if (!takeTaxFee) { restoreAllFee(); } } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { _rOwned[sender] = _rOwned[sender].sub(tAmount); _rOwned[recipient] = _rOwned[recipient].add(tAmount); emit Transfer(sender, recipient, tAmount); } function _takeFees( address sender, uint256 amount, bool isSell ) private returns (uint256) { uint256 pjctFee; if (isSell) { pjctFee = _sellProjectFee; } else { pjctFee = _buyProjectFee; } uint256 tokensForProject = amount.mul(pjctFee).div(100); if (tokensForProject > 0) { _transferStandard(sender, address(this), tokensForProject); } return amount -= tokensForProject; } receive() external payable {} function manualswap() public onlyOwner { uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function withdrawStuckETH() external onlyOwner { (bool success, ) = address(msg.sender).call{ value: address(this).balance }(""); if (!success) revert Withdraw_Failed(); } 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 _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _rOwned[account]; } function allowance( address owner, address spender ) public view override returns (uint256) { return _allowances[owner][spender]; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (utils/math/SafeMath.sol) pragma solidity ^0.8.0; // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the subtraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // 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 (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @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) { return a + b; } /** * @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 a - b; } /** * @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) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting 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 a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting 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) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * 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) { unchecked { require(b > 0, errorMessage); return a % b; } } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract 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() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(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"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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); /** * @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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, 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 `from` to `to` 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 from, address to, uint256 amount) external returns (bool); }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_uniswapV2Router","type":"address"},{"internalType":"address","name":"projectWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Already_Open","type":"error"},{"inputs":[],"name":"Amount_Zero","type":"error"},{"inputs":[{"internalType":"string","name":"Amount","type":"string"}],"name":"Exceeds_MaxAmount","type":"error"},{"inputs":[],"name":"In_Cooldown","type":"error"},{"inputs":[],"name":"Sale_is_not_Safe","type":"error"},{"inputs":[],"name":"Withdraw_Failed","type":"error"},{"inputs":[{"internalType":"string","name":"where","type":"string"}],"name":"Zero_Address","type":"error"},{"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":false,"internalType":"uint256","name":"_maxBuyAmount","type":"uint256"}],"name":"MaxBuyAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxSellAmount","type":"uint256"}],"name":"MaxSellAmountUpdated","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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyProjectFee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBuy","type":"uint256"}],"name":"setMaxBuyAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxSell","type":"uint256"}],"name":"setMaxSellAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxToken","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setPreventUnsafeSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"projectWallet","type":"address"}],"name":"setProjectWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sellProjectFee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setSwapFeeForWethEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"setSwapTokensForWethAmount","outputs":[],"stateMutability":"nonpayable","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":"tradingOpen","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"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a0604052600060065560065460075560006008556008546009556000600b60166101000a81548160ff0219169083151502179055506000600b60176101000a81548160ff0219169083151502179055506000600b60186101000a81548160ff0219169083151502179055506000600b60196101000a81548160ff021916908315150217905550683635c9adc5dea00000600c55683635c9adc5dea00000600d55683635c9adc5dea00000600e556000600f55348015620000bf57600080fd5b5060405162003c6238038062003c628339818101604052810190620000e59190620004f6565b62000105620000f96200039760201b60201c565b6200039f60201b60201c565b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550683635c9adc5dea0000060016000620001986200039760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620001ec6200046360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200031f6200039760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea0000060405162000387919062000558565b60405180910390a3505062000575565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004be8262000491565b9050919050565b620004d081620004b1565b8114620004dc57600080fd5b50565b600081519050620004f081620004c5565b92915050565b6000806040838503121562000510576200050f6200048c565b5b60006200052085828601620004df565b92505060206200053385828601620004df565b9150509250929050565b6000819050919050565b62000552816200053d565b82525050565b60006020820190506200056f600083018462000547565b92915050565b60805161368b620005d7600039600081816107ae01528181610dde01528181610e0e01528181610eb901528181610fe80152818161117901528181611a1e01528181611c9f015281816121c7015281816122a801526122cf015261368b6000f3fe6080604052600436106101e75760003560e01c80638b4cee0811610102578063dd62ed3e11610095578063f2fde38b11610064578063f2fde38b14610675578063f34eb0b81461069e578063f5648a4f146106c7578063ffb54a99146106de576101ee565b8063dd62ed3e146105cf578063e63aff631461060c578063e99c9d0914610623578063ea2f0b371461064c576101ee565b8063a9059cbb116100d1578063a9059cbb1461053b578063b515566a14610578578063c3c8cd80146105a1578063c9567bf9146105b8576101ee565b80638b4cee08146104a55780638da5cb5b146104ce57806395d89b41146104f9578063a235d6a414610524576101ee565b806327a14fc21161017a57806349bd5a5e1161014957806349bd5a5e146103fd57806370a0823114610428578063715018a6146104655780638a7804471461047c576101ee565b806327a14fc21461036957806327c8194b14610392578063313ce567146103a9578063437823ec146103d4576101ee565b80631694505e116101b65780631694505e146102ad57806318160ddd146102d857806323b872dd14610303578063273123b714610340576101ee565b806306fdde03146101f3578063095ea7b31461021e5780630cc835a31461025b5780630f83034b14610284576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b50610208610709565b604051610215919061280d565b60405180910390f35b34801561022a57600080fd5b50610245600480360381019061024091906128d7565b610746565b6040516102529190612932565b60405180910390f35b34801561026757600080fd5b50610282600480360381019061027d919061294d565b610764565b005b34801561029057600080fd5b506102ab60048036038101906102a6919061294d565b610776565b005b3480156102b957600080fd5b506102c26107ac565b6040516102cf91906129d9565b60405180910390f35b3480156102e457600080fd5b506102ed6107d0565b6040516102fa9190612a03565b60405180910390f35b34801561030f57600080fd5b5061032a60048036038101906103259190612a1e565b6107e1565b6040516103379190612932565b60405180910390f35b34801561034c57600080fd5b5061036760048036038101906103629190612a71565b6108ba565b005b34801561037557600080fd5b50610390600480360381019061038b919061294d565b61091d565b005b34801561039e57600080fd5b506103a761092f565b005b3480156103b557600080fd5b506103be610963565b6040516103cb9190612aba565b60405180910390f35b3480156103e057600080fd5b506103fb60048036038101906103f69190612a71565b61096c565b005b34801561040957600080fd5b506104126109cf565b60405161041f9190612ae4565b60405180910390f35b34801561043457600080fd5b5061044f600480360381019061044a9190612a71565b6109f5565b60405161045c9190612a03565b60405180910390f35b34801561047157600080fd5b5061047a610a3e565b005b34801561048857600080fd5b506104a3600480360381019061049e9190612a71565b610a52565b005b3480156104b157600080fd5b506104cc60048036038101906104c7919061294d565b610c01565b005b3480156104da57600080fd5b506104e3610c13565b6040516104f09190612ae4565b60405180910390f35b34801561050557600080fd5b5061050e610c3c565b60405161051b919061280d565b60405180910390f35b34801561053057600080fd5b50610539610c79565b005b34801561054757600080fd5b50610562600480360381019061055d91906128d7565b610cad565b60405161056f9190612932565b60405180910390f35b34801561058457600080fd5b5061059f600480360381019061059a9190612c47565b610ccb565b005b3480156105ad57600080fd5b506105b6610d68565b005b3480156105c457600080fd5b506105cd610d89565b005b3480156105db57600080fd5b506105f660048036038101906105f19190612c90565b61121c565b6040516106039190612a03565b60405180910390f35b34801561061857600080fd5b506106216112a3565b005b34801561062f57600080fd5b5061064a6004803603810190610645919061294d565b6112d7565b005b34801561065857600080fd5b50610673600480360381019061066e9190612a71565b6112e9565b005b34801561068157600080fd5b5061069c60048036038101906106979190612a71565b61134c565b005b3480156106aa57600080fd5b506106c560048036038101906106c0919061294d565b6113cf565b005b3480156106d357600080fd5b506106dc6113e1565b005b3480156106ea57600080fd5b506106f361148f565b6040516107009190612932565b60405180910390f35b60606040518060400160405280600e81526020017f5465682047726561742052616365000000000000000000000000000000000000815250905090565b600061075a6107536114a2565b84846114aa565b6001905092915050565b61076c611673565b8060068190555050565b61077e611673565b64e8d4a51000811161078f57600080fd5b6611c37937e0800081106107a257600080fd5b80600f8190555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000683635c9adc5dea00000905090565b60006107ee8484846116f1565b6108af846107fa6114a2565b6108aa8560405180606001604052806028815260200161362e60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108606114a2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff49092919063ffffffff16565b6114aa565b600190509392505050565b6108c2611673565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610925611673565b80600e8190555050565b610937611673565b600b60179054906101000a900460ff1615600b60176101000a81548160ff021916908315150217905550565b60006009905090565b610974611673565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a46611673565b610a506000612049565b565b610a5a611673565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ac9576040517f0f2d6085000000000000000000000000000000000000000000000000000000008152600401610ac090612d1c565b60405180910390fd5b600060036000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160036000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610c09611673565b8060088190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4631320000000000000000000000000000000000000000000000000000000000815250905090565b610c81611673565b600b60189054906101000a900460ff1615600b60186101000a81548160ff021916908315150217905550565b6000610cc1610cba6114a2565b84846116f1565b6001905092915050565b610cd3611673565b60005b8151811015610d6457600160046000848481518110610cf857610cf7612d3c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d5c90612d9a565b915050610cd6565b5050565b610d70611673565b6000610d7b306109f5565b9050610d868161210d565b50565b610d91611673565b600b60149054906101000a900460ff1615610dd8576040517fb570a37400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e0c307f0000000000000000000000000000000000000000000000000000000000000000683635c9adc5dea000006114aa565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9b9190612df7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396307f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f469190612df7565b6040518363ffffffff1660e01b8152600401610f63929190612e24565b6020604051808303816000875af1158015610f82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa69190612df7565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d719473061102d306109f5565b600080611038610c13565b610258426110469190612e4d565b6040518863ffffffff1660e01b815260040161106796959493929190612ebc565b60606040518083038185885af1158015611085573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110aa9190612f32565b5050506001600b60176101000a81548160ff0219169083151502179055506001600b60196101000a81548160ff021916908315150217905550678ac7230489e80000600c81905550678ac7230489e80000600d819055506801a055690d9db80000600e81905550652d79883d2000600f819055506001600b60146101000a81548160ff021916908315150217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111d6929190612f85565b6020604051808303816000875af11580156111f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112199190612fda565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112ab611673565b600b60199054906101000a900460ff1615600b60196101000a81548160ff021916908315150217905550565b6112df611673565b80600d8190555050565b6112f1611673565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611354611673565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ba90613079565b60405180910390fd5b6113cc81612049565b50565b6113d7611673565b80600c8190555050565b6113e9611673565b60003373ffffffffffffffffffffffffffffffffffffffff164760405161140f906130ca565b60006040518083038185875af1925050503d806000811461144c576040519150601f19603f3d011682016040523d82523d6000602084013e611451565b606091505b505090508061148c576040517f11cdafc200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b600b60149054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611519576040517f0f2d60850000000000000000000000000000000000000000000000000000000081526004016115109061312b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611588576040517f0f2d608500000000000000000000000000000000000000000000000000000000815260040161157f90613197565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116669190612a03565b60405180910390a3505050565b61167b6114a2565b73ffffffffffffffffffffffffffffffffffffffff16611699610c13565b73ffffffffffffffffffffffffffffffffffffffff16146116ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e690613203565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611760576040517f0f2d60850000000000000000000000000000000000000000000000000000000081526004016117579061326f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117cf576040517f0f2d60850000000000000000000000000000000000000000000000000000000081526004016117c6906132db565b60405180910390fd5b60008111611809576040517f950e6d2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080611814610c13565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156118825750611852610c13565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156118bb5750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156118f5575061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561190e5750600b60159054906101000a900460ff16155b15611df257600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119b75750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6119c057600080fd5b60019150600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611a6d57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611ac35750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611adb5750600b60199054906101000a900460ff165b15611c4557600c548310611b24576040517f21c5c35d000000000000000000000000000000000000000000000000000000008152600401611b1b90613347565b60405180910390fd5b600e5483611b31866109f5565b611b3b9190612e4d565b10611b7b576040517f21c5c35d000000000000000000000000000000000000000000000000000000008152600401611b72906133b3565b60405180910390fd5b42600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611bf4576040517fe786fd5700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601e42611c019190612e4d565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611cee57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611d445750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d5c5750600b60199054906101000a900460ff165b15611df157600b60189054906101000a900460ff1615611da8576040517f0da544c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d548310611dec576040517f21c5c35d000000000000000000000000000000000000000000000000000000008152600401611de39061341f565b60405180910390fd5b600190505b5b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e935750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611e9d57600091505b6000611ea8306109f5565b90506000600f5482118015611eba5750825b9050808015611ed55750600b60179054906101000a900460ff165b8015611eee5750600b60159054906101000a900460ff16155b8015611f445750600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f9a5750600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611fde576001600b60156101000a81548160ff021916908315150217905550611fc2612380565b6000600b60156101000a81548160ff0219169083151502179055505b611feb8787878787612472565b50505050505050565b600083831115829061203c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612033919061280d565b60405180910390fd5b5082840390509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600b60166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561214557612144612b04565b5b6040519080825280602002602001820160405280156121735781602001602082028036833780820191505090505b509050308160008151811061218b5761218a612d3c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612230573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122549190612df7565b8160018151811061226857612267612d3c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122cd307f0000000000000000000000000000000000000000000000000000000000000000846114aa565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161232f9594939291906134fd565b600060405180830381600087803b15801561234957600080fd5b505af115801561235d573d6000803e3d6000fd5b50505050506000600b60166101000a81548160ff02191690831515021790555050565b600061238b306109f5565b9050600080820361239d575050612470565b600a600f546123ac9190613557565b8211156123c557600a600f546123c29190613557565b91505b60004790506123d38361210d565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681476124189190613599565b604051612424906130ca565b60006040518083038185875af1925050503d8060008114612461576040519150601f19603f3d011682016040523d82523d6000602084013e612466565b606091505b5050809250505050505b565b816124845761247f6124b2565b612492565b61248f85848361250b565b92505b61249d85858561257d565b816124ab576124aa612711565b5b5050505050565b60006006541480156124c657506000600854145b80156124d457506000600754145b80156124e257506000600954145b61250957600654600781905550600854600981905550600060068190555060006008819055505b565b600080821561251e576008549050612524565b60065490505b600061254c606461253e848861272590919063ffffffff16565b61273b90919063ffffffff16565b905060008111156125635761256286308361257d565b5b808561256f9190613599565b945084925050509392505050565b6125cf81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461275190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061266481600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461276790919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127049190612a03565b60405180910390a3505050565b600754600681905550600954600881905550565b600081836127339190613557565b905092915050565b6000818361274991906135fc565b905092915050565b6000818361275f9190613599565b905092915050565b600081836127759190612e4d565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156127b757808201518184015260208101905061279c565b60008484015250505050565b6000601f19601f8301169050919050565b60006127df8261277d565b6127e98185612788565b93506127f9818560208601612799565b612802816127c3565b840191505092915050565b6000602082019050818103600083015261282781846127d4565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061286e82612843565b9050919050565b61287e81612863565b811461288957600080fd5b50565b60008135905061289b81612875565b92915050565b6000819050919050565b6128b4816128a1565b81146128bf57600080fd5b50565b6000813590506128d1816128ab565b92915050565b600080604083850312156128ee576128ed612839565b5b60006128fc8582860161288c565b925050602061290d858286016128c2565b9150509250929050565b60008115159050919050565b61292c81612917565b82525050565b60006020820190506129476000830184612923565b92915050565b60006020828403121561296357612962612839565b5b6000612971848285016128c2565b91505092915050565b6000819050919050565b600061299f61299a61299584612843565b61297a565b612843565b9050919050565b60006129b182612984565b9050919050565b60006129c3826129a6565b9050919050565b6129d3816129b8565b82525050565b60006020820190506129ee60008301846129ca565b92915050565b6129fd816128a1565b82525050565b6000602082019050612a1860008301846129f4565b92915050565b600080600060608486031215612a3757612a36612839565b5b6000612a458682870161288c565b9350506020612a568682870161288c565b9250506040612a67868287016128c2565b9150509250925092565b600060208284031215612a8757612a86612839565b5b6000612a958482850161288c565b91505092915050565b600060ff82169050919050565b612ab481612a9e565b82525050565b6000602082019050612acf6000830184612aab565b92915050565b612ade81612863565b82525050565b6000602082019050612af96000830184612ad5565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612b3c826127c3565b810181811067ffffffffffffffff82111715612b5b57612b5a612b04565b5b80604052505050565b6000612b6e61282f565b9050612b7a8282612b33565b919050565b600067ffffffffffffffff821115612b9a57612b99612b04565b5b602082029050602081019050919050565b600080fd5b6000612bc3612bbe84612b7f565b612b64565b90508083825260208201905060208402830185811115612be657612be5612bab565b5b835b81811015612c0f5780612bfb888261288c565b845260208401935050602081019050612be8565b5050509392505050565b600082601f830112612c2e57612c2d612aff565b5b8135612c3e848260208601612bb0565b91505092915050565b600060208284031215612c5d57612c5c612839565b5b600082013567ffffffffffffffff811115612c7b57612c7a61283e565b5b612c8784828501612c19565b91505092915050565b60008060408385031215612ca757612ca6612839565b5b6000612cb58582860161288c565b9250506020612cc68582860161288c565b9150509250929050565b7f77616c6c65740000000000000000000000000000000000000000000000000000600082015250565b6000612d06600683612788565b9150612d1182612cd0565b602082019050919050565b60006020820190508181036000830152612d3581612cf9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612da5826128a1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612dd757612dd6612d6b565b5b600182019050919050565b600081519050612df181612875565b92915050565b600060208284031215612e0d57612e0c612839565b5b6000612e1b84828501612de2565b91505092915050565b6000604082019050612e396000830185612ad5565b612e466020830184612ad5565b9392505050565b6000612e58826128a1565b9150612e63836128a1565b9250828201905080821115612e7b57612e7a612d6b565b5b92915050565b6000819050919050565b6000612ea6612ea1612e9c84612e81565b61297a565b6128a1565b9050919050565b612eb681612e8b565b82525050565b600060c082019050612ed16000830189612ad5565b612ede60208301886129f4565b612eeb6040830187612ead565b612ef86060830186612ead565b612f056080830185612ad5565b612f1260a08301846129f4565b979650505050505050565b600081519050612f2c816128ab565b92915050565b600080600060608486031215612f4b57612f4a612839565b5b6000612f5986828701612f1d565b9350506020612f6a86828701612f1d565b9250506040612f7b86828701612f1d565b9150509250925092565b6000604082019050612f9a6000830185612ad5565b612fa760208301846129f4565b9392505050565b612fb781612917565b8114612fc257600080fd5b50565b600081519050612fd481612fae565b92915050565b600060208284031215612ff057612fef612839565b5b6000612ffe84828501612fc5565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613063602683612788565b915061306e82613007565b604082019050919050565b6000602082019050818103600083015261309281613056565b9050919050565b600081905092915050565b50565b60006130b4600083613099565b91506130bf826130a4565b600082019050919050565b60006130d5826130a7565b9150819050919050565b7f6f776e6572000000000000000000000000000000000000000000000000000000600082015250565b6000613115600583612788565b9150613120826130df565b602082019050919050565b6000602082019050818103600083015261314481613108565b9050919050565b7f7370656e64657200000000000000000000000000000000000000000000000000600082015250565b6000613181600783612788565b915061318c8261314b565b602082019050919050565b600060208201905081810360008301526131b081613174565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006131ed602083612788565b91506131f8826131b7565b602082019050919050565b6000602082019050818103600083015261321c816131e0565b9050919050565b7f7472616e736665725f66726f6d00000000000000000000000000000000000000600082015250565b6000613259600d83612788565b915061326482613223565b602082019050919050565b600060208201905081810360008301526132888161324c565b9050919050565b7f7472616e736665725f746f000000000000000000000000000000000000000000600082015250565b60006132c5600b83612788565b91506132d08261328f565b602082019050919050565b600060208201905081810360008301526132f4816132b8565b9050919050565b7f4275790000000000000000000000000000000000000000000000000000000000600082015250565b6000613331600383612788565b915061333c826132fb565b602082019050919050565b6000602082019050818103600083015261336081613324565b9050919050565b7f57616c6c65740000000000000000000000000000000000000000000000000000600082015250565b600061339d600683612788565b91506133a882613367565b602082019050919050565b600060208201905081810360008301526133cc81613390565b9050919050565b7f53656c6c00000000000000000000000000000000000000000000000000000000600082015250565b6000613409600483612788565b9150613414826133d3565b602082019050919050565b60006020820190508181036000830152613438816133fc565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61347481612863565b82525050565b6000613486838361346b565b60208301905092915050565b6000602082019050919050565b60006134aa8261343f565b6134b4818561344a565b93506134bf8361345b565b8060005b838110156134f05781516134d7888261347a565b97506134e283613492565b9250506001810190506134c3565b5085935050505092915050565b600060a08201905061351260008301886129f4565b61351f6020830187612ead565b8181036040830152613531818661349f565b90506135406060830185612ad5565b61354d60808301846129f4565b9695505050505050565b6000613562826128a1565b915061356d836128a1565b925082820261357b816128a1565b9150828204841483151761359257613591612d6b565b5b5092915050565b60006135a4826128a1565b91506135af836128a1565b92508282039050818111156135c7576135c6612d6b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613607826128a1565b9150613612836128a1565b925082613622576136216135cd565b5b82820490509291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fea585a27ef0d4261f05a6871b1373d09f10aaf90a83adc23db73ffcd16fdff164736f6c634300081200330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000d08fc56b8ebf2e572e2857f07367675456bbfd46
Deployed Bytecode
0x6080604052600436106101e75760003560e01c80638b4cee0811610102578063dd62ed3e11610095578063f2fde38b11610064578063f2fde38b14610675578063f34eb0b81461069e578063f5648a4f146106c7578063ffb54a99146106de576101ee565b8063dd62ed3e146105cf578063e63aff631461060c578063e99c9d0914610623578063ea2f0b371461064c576101ee565b8063a9059cbb116100d1578063a9059cbb1461053b578063b515566a14610578578063c3c8cd80146105a1578063c9567bf9146105b8576101ee565b80638b4cee08146104a55780638da5cb5b146104ce57806395d89b41146104f9578063a235d6a414610524576101ee565b806327a14fc21161017a57806349bd5a5e1161014957806349bd5a5e146103fd57806370a0823114610428578063715018a6146104655780638a7804471461047c576101ee565b806327a14fc21461036957806327c8194b14610392578063313ce567146103a9578063437823ec146103d4576101ee565b80631694505e116101b65780631694505e146102ad57806318160ddd146102d857806323b872dd14610303578063273123b714610340576101ee565b806306fdde03146101f3578063095ea7b31461021e5780630cc835a31461025b5780630f83034b14610284576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b50610208610709565b604051610215919061280d565b60405180910390f35b34801561022a57600080fd5b50610245600480360381019061024091906128d7565b610746565b6040516102529190612932565b60405180910390f35b34801561026757600080fd5b50610282600480360381019061027d919061294d565b610764565b005b34801561029057600080fd5b506102ab60048036038101906102a6919061294d565b610776565b005b3480156102b957600080fd5b506102c26107ac565b6040516102cf91906129d9565b60405180910390f35b3480156102e457600080fd5b506102ed6107d0565b6040516102fa9190612a03565b60405180910390f35b34801561030f57600080fd5b5061032a60048036038101906103259190612a1e565b6107e1565b6040516103379190612932565b60405180910390f35b34801561034c57600080fd5b5061036760048036038101906103629190612a71565b6108ba565b005b34801561037557600080fd5b50610390600480360381019061038b919061294d565b61091d565b005b34801561039e57600080fd5b506103a761092f565b005b3480156103b557600080fd5b506103be610963565b6040516103cb9190612aba565b60405180910390f35b3480156103e057600080fd5b506103fb60048036038101906103f69190612a71565b61096c565b005b34801561040957600080fd5b506104126109cf565b60405161041f9190612ae4565b60405180910390f35b34801561043457600080fd5b5061044f600480360381019061044a9190612a71565b6109f5565b60405161045c9190612a03565b60405180910390f35b34801561047157600080fd5b5061047a610a3e565b005b34801561048857600080fd5b506104a3600480360381019061049e9190612a71565b610a52565b005b3480156104b157600080fd5b506104cc60048036038101906104c7919061294d565b610c01565b005b3480156104da57600080fd5b506104e3610c13565b6040516104f09190612ae4565b60405180910390f35b34801561050557600080fd5b5061050e610c3c565b60405161051b919061280d565b60405180910390f35b34801561053057600080fd5b50610539610c79565b005b34801561054757600080fd5b50610562600480360381019061055d91906128d7565b610cad565b60405161056f9190612932565b60405180910390f35b34801561058457600080fd5b5061059f600480360381019061059a9190612c47565b610ccb565b005b3480156105ad57600080fd5b506105b6610d68565b005b3480156105c457600080fd5b506105cd610d89565b005b3480156105db57600080fd5b506105f660048036038101906105f19190612c90565b61121c565b6040516106039190612a03565b60405180910390f35b34801561061857600080fd5b506106216112a3565b005b34801561062f57600080fd5b5061064a6004803603810190610645919061294d565b6112d7565b005b34801561065857600080fd5b50610673600480360381019061066e9190612a71565b6112e9565b005b34801561068157600080fd5b5061069c60048036038101906106979190612a71565b61134c565b005b3480156106aa57600080fd5b506106c560048036038101906106c0919061294d565b6113cf565b005b3480156106d357600080fd5b506106dc6113e1565b005b3480156106ea57600080fd5b506106f361148f565b6040516107009190612932565b60405180910390f35b60606040518060400160405280600e81526020017f5465682047726561742052616365000000000000000000000000000000000000815250905090565b600061075a6107536114a2565b84846114aa565b6001905092915050565b61076c611673565b8060068190555050565b61077e611673565b64e8d4a51000811161078f57600080fd5b6611c37937e0800081106107a257600080fd5b80600f8190555050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000683635c9adc5dea00000905090565b60006107ee8484846116f1565b6108af846107fa6114a2565b6108aa8560405180606001604052806028815260200161362e60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108606114a2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff49092919063ffffffff16565b6114aa565b600190509392505050565b6108c2611673565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610925611673565b80600e8190555050565b610937611673565b600b60179054906101000a900460ff1615600b60176101000a81548160ff021916908315150217905550565b60006009905090565b610974611673565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a46611673565b610a506000612049565b565b610a5a611673565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ac9576040517f0f2d6085000000000000000000000000000000000000000000000000000000008152600401610ac090612d1c565b60405180910390fd5b600060036000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160036000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610c09611673565b8060088190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4631320000000000000000000000000000000000000000000000000000000000815250905090565b610c81611673565b600b60189054906101000a900460ff1615600b60186101000a81548160ff021916908315150217905550565b6000610cc1610cba6114a2565b84846116f1565b6001905092915050565b610cd3611673565b60005b8151811015610d6457600160046000848481518110610cf857610cf7612d3c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d5c90612d9a565b915050610cd6565b5050565b610d70611673565b6000610d7b306109f5565b9050610d868161210d565b50565b610d91611673565b600b60149054906101000a900460ff1615610dd8576040517fb570a37400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e0c307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d683635c9adc5dea000006114aa565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9b9190612df7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f469190612df7565b6040518363ffffffff1660e01b8152600401610f63929190612e24565b6020604051808303816000875af1158015610f82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa69190612df7565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d719473061102d306109f5565b600080611038610c13565b610258426110469190612e4d565b6040518863ffffffff1660e01b815260040161106796959493929190612ebc565b60606040518083038185885af1158015611085573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110aa9190612f32565b5050506001600b60176101000a81548160ff0219169083151502179055506001600b60196101000a81548160ff021916908315150217905550678ac7230489e80000600c81905550678ac7230489e80000600d819055506801a055690d9db80000600e81905550652d79883d2000600f819055506001600b60146101000a81548160ff021916908315150217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111d6929190612f85565b6020604051808303816000875af11580156111f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112199190612fda565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112ab611673565b600b60199054906101000a900460ff1615600b60196101000a81548160ff021916908315150217905550565b6112df611673565b80600d8190555050565b6112f1611673565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611354611673565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ba90613079565b60405180910390fd5b6113cc81612049565b50565b6113d7611673565b80600c8190555050565b6113e9611673565b60003373ffffffffffffffffffffffffffffffffffffffff164760405161140f906130ca565b60006040518083038185875af1925050503d806000811461144c576040519150601f19603f3d011682016040523d82523d6000602084013e611451565b606091505b505090508061148c576040517f11cdafc200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b600b60149054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611519576040517f0f2d60850000000000000000000000000000000000000000000000000000000081526004016115109061312b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611588576040517f0f2d608500000000000000000000000000000000000000000000000000000000815260040161157f90613197565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116669190612a03565b60405180910390a3505050565b61167b6114a2565b73ffffffffffffffffffffffffffffffffffffffff16611699610c13565b73ffffffffffffffffffffffffffffffffffffffff16146116ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e690613203565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611760576040517f0f2d60850000000000000000000000000000000000000000000000000000000081526004016117579061326f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117cf576040517f0f2d60850000000000000000000000000000000000000000000000000000000081526004016117c6906132db565b60405180910390fd5b60008111611809576040517f950e6d2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080611814610c13565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156118825750611852610c13565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156118bb5750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156118f5575061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561190e5750600b60159054906101000a900460ff16155b15611df257600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119b75750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6119c057600080fd5b60019150600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611a6d57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611ac35750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611adb5750600b60199054906101000a900460ff165b15611c4557600c548310611b24576040517f21c5c35d000000000000000000000000000000000000000000000000000000008152600401611b1b90613347565b60405180910390fd5b600e5483611b31866109f5565b611b3b9190612e4d565b10611b7b576040517f21c5c35d000000000000000000000000000000000000000000000000000000008152600401611b72906133b3565b60405180910390fd5b42600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611bf4576040517fe786fd5700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601e42611c019190612e4d565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611cee57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611d445750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d5c5750600b60199054906101000a900460ff165b15611df157600b60189054906101000a900460ff1615611da8576040517f0da544c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d548310611dec576040517f21c5c35d000000000000000000000000000000000000000000000000000000008152600401611de39061341f565b60405180910390fd5b600190505b5b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e935750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611e9d57600091505b6000611ea8306109f5565b90506000600f5482118015611eba5750825b9050808015611ed55750600b60179054906101000a900460ff165b8015611eee5750600b60159054906101000a900460ff16155b8015611f445750600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f9a5750600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611fde576001600b60156101000a81548160ff021916908315150217905550611fc2612380565b6000600b60156101000a81548160ff0219169083151502179055505b611feb8787878787612472565b50505050505050565b600083831115829061203c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612033919061280d565b60405180910390fd5b5082840390509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600b60166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561214557612144612b04565b5b6040519080825280602002602001820160405280156121735781602001602082028036833780820191505090505b509050308160008151811061218b5761218a612d3c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612230573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122549190612df7565b8160018151811061226857612267612d3c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122cd307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846114aa565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161232f9594939291906134fd565b600060405180830381600087803b15801561234957600080fd5b505af115801561235d573d6000803e3d6000fd5b50505050506000600b60166101000a81548160ff02191690831515021790555050565b600061238b306109f5565b9050600080820361239d575050612470565b600a600f546123ac9190613557565b8211156123c557600a600f546123c29190613557565b91505b60004790506123d38361210d565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681476124189190613599565b604051612424906130ca565b60006040518083038185875af1925050503d8060008114612461576040519150601f19603f3d011682016040523d82523d6000602084013e612466565b606091505b5050809250505050505b565b816124845761247f6124b2565b612492565b61248f85848361250b565b92505b61249d85858561257d565b816124ab576124aa612711565b5b5050505050565b60006006541480156124c657506000600854145b80156124d457506000600754145b80156124e257506000600954145b61250957600654600781905550600854600981905550600060068190555060006008819055505b565b600080821561251e576008549050612524565b60065490505b600061254c606461253e848861272590919063ffffffff16565b61273b90919063ffffffff16565b905060008111156125635761256286308361257d565b5b808561256f9190613599565b945084925050509392505050565b6125cf81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461275190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061266481600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461276790919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127049190612a03565b60405180910390a3505050565b600754600681905550600954600881905550565b600081836127339190613557565b905092915050565b6000818361274991906135fc565b905092915050565b6000818361275f9190613599565b905092915050565b600081836127759190612e4d565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156127b757808201518184015260208101905061279c565b60008484015250505050565b6000601f19601f8301169050919050565b60006127df8261277d565b6127e98185612788565b93506127f9818560208601612799565b612802816127c3565b840191505092915050565b6000602082019050818103600083015261282781846127d4565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061286e82612843565b9050919050565b61287e81612863565b811461288957600080fd5b50565b60008135905061289b81612875565b92915050565b6000819050919050565b6128b4816128a1565b81146128bf57600080fd5b50565b6000813590506128d1816128ab565b92915050565b600080604083850312156128ee576128ed612839565b5b60006128fc8582860161288c565b925050602061290d858286016128c2565b9150509250929050565b60008115159050919050565b61292c81612917565b82525050565b60006020820190506129476000830184612923565b92915050565b60006020828403121561296357612962612839565b5b6000612971848285016128c2565b91505092915050565b6000819050919050565b600061299f61299a61299584612843565b61297a565b612843565b9050919050565b60006129b182612984565b9050919050565b60006129c3826129a6565b9050919050565b6129d3816129b8565b82525050565b60006020820190506129ee60008301846129ca565b92915050565b6129fd816128a1565b82525050565b6000602082019050612a1860008301846129f4565b92915050565b600080600060608486031215612a3757612a36612839565b5b6000612a458682870161288c565b9350506020612a568682870161288c565b9250506040612a67868287016128c2565b9150509250925092565b600060208284031215612a8757612a86612839565b5b6000612a958482850161288c565b91505092915050565b600060ff82169050919050565b612ab481612a9e565b82525050565b6000602082019050612acf6000830184612aab565b92915050565b612ade81612863565b82525050565b6000602082019050612af96000830184612ad5565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612b3c826127c3565b810181811067ffffffffffffffff82111715612b5b57612b5a612b04565b5b80604052505050565b6000612b6e61282f565b9050612b7a8282612b33565b919050565b600067ffffffffffffffff821115612b9a57612b99612b04565b5b602082029050602081019050919050565b600080fd5b6000612bc3612bbe84612b7f565b612b64565b90508083825260208201905060208402830185811115612be657612be5612bab565b5b835b81811015612c0f5780612bfb888261288c565b845260208401935050602081019050612be8565b5050509392505050565b600082601f830112612c2e57612c2d612aff565b5b8135612c3e848260208601612bb0565b91505092915050565b600060208284031215612c5d57612c5c612839565b5b600082013567ffffffffffffffff811115612c7b57612c7a61283e565b5b612c8784828501612c19565b91505092915050565b60008060408385031215612ca757612ca6612839565b5b6000612cb58582860161288c565b9250506020612cc68582860161288c565b9150509250929050565b7f77616c6c65740000000000000000000000000000000000000000000000000000600082015250565b6000612d06600683612788565b9150612d1182612cd0565b602082019050919050565b60006020820190508181036000830152612d3581612cf9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612da5826128a1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612dd757612dd6612d6b565b5b600182019050919050565b600081519050612df181612875565b92915050565b600060208284031215612e0d57612e0c612839565b5b6000612e1b84828501612de2565b91505092915050565b6000604082019050612e396000830185612ad5565b612e466020830184612ad5565b9392505050565b6000612e58826128a1565b9150612e63836128a1565b9250828201905080821115612e7b57612e7a612d6b565b5b92915050565b6000819050919050565b6000612ea6612ea1612e9c84612e81565b61297a565b6128a1565b9050919050565b612eb681612e8b565b82525050565b600060c082019050612ed16000830189612ad5565b612ede60208301886129f4565b612eeb6040830187612ead565b612ef86060830186612ead565b612f056080830185612ad5565b612f1260a08301846129f4565b979650505050505050565b600081519050612f2c816128ab565b92915050565b600080600060608486031215612f4b57612f4a612839565b5b6000612f5986828701612f1d565b9350506020612f6a86828701612f1d565b9250506040612f7b86828701612f1d565b9150509250925092565b6000604082019050612f9a6000830185612ad5565b612fa760208301846129f4565b9392505050565b612fb781612917565b8114612fc257600080fd5b50565b600081519050612fd481612fae565b92915050565b600060208284031215612ff057612fef612839565b5b6000612ffe84828501612fc5565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613063602683612788565b915061306e82613007565b604082019050919050565b6000602082019050818103600083015261309281613056565b9050919050565b600081905092915050565b50565b60006130b4600083613099565b91506130bf826130a4565b600082019050919050565b60006130d5826130a7565b9150819050919050565b7f6f776e6572000000000000000000000000000000000000000000000000000000600082015250565b6000613115600583612788565b9150613120826130df565b602082019050919050565b6000602082019050818103600083015261314481613108565b9050919050565b7f7370656e64657200000000000000000000000000000000000000000000000000600082015250565b6000613181600783612788565b915061318c8261314b565b602082019050919050565b600060208201905081810360008301526131b081613174565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006131ed602083612788565b91506131f8826131b7565b602082019050919050565b6000602082019050818103600083015261321c816131e0565b9050919050565b7f7472616e736665725f66726f6d00000000000000000000000000000000000000600082015250565b6000613259600d83612788565b915061326482613223565b602082019050919050565b600060208201905081810360008301526132888161324c565b9050919050565b7f7472616e736665725f746f000000000000000000000000000000000000000000600082015250565b60006132c5600b83612788565b91506132d08261328f565b602082019050919050565b600060208201905081810360008301526132f4816132b8565b9050919050565b7f4275790000000000000000000000000000000000000000000000000000000000600082015250565b6000613331600383612788565b915061333c826132fb565b602082019050919050565b6000602082019050818103600083015261336081613324565b9050919050565b7f57616c6c65740000000000000000000000000000000000000000000000000000600082015250565b600061339d600683612788565b91506133a882613367565b602082019050919050565b600060208201905081810360008301526133cc81613390565b9050919050565b7f53656c6c00000000000000000000000000000000000000000000000000000000600082015250565b6000613409600483612788565b9150613414826133d3565b602082019050919050565b60006020820190508181036000830152613438816133fc565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61347481612863565b82525050565b6000613486838361346b565b60208301905092915050565b6000602082019050919050565b60006134aa8261343f565b6134b4818561344a565b93506134bf8361345b565b8060005b838110156134f05781516134d7888261347a565b97506134e283613492565b9250506001810190506134c3565b5085935050505092915050565b600060a08201905061351260008301886129f4565b61351f6020830187612ead565b8181036040830152613531818661349f565b90506135406060830185612ad5565b61354d60808301846129f4565b9695505050505050565b6000613562826128a1565b915061356d836128a1565b925082820261357b816128a1565b9150828204841483151761359257613591612d6b565b5b5092915050565b60006135a4826128a1565b91506135af836128a1565b92508282039050818111156135c7576135c6612d6b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613607826128a1565b9150613612836128a1565b925082613622576136216135cd565b5b82820490509291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fea585a27ef0d4261f05a6871b1373d09f10aaf90a83adc23db73ffcd16fdff164736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000d08fc56b8ebf2e572e2857f07367675456bbfd46
-----Decoded View---------------
Arg [0] : _uniswapV2Router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : projectWallet (address): 0xD08FC56b8eBf2E572e2857F07367675456bBfd46
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 000000000000000000000000d08fc56b8ebf2e572e2857f07367675456bbfd46
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.