creation_sourcecode: {{
    "language": "Solidity",
    "sources": {
      "contracts/Token.sol": {
        "content": "// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑Longevity↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑LONG↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n// SPDX-License-Identifier: UNLICENSE\npragma solidity 0.8.24;\n\nabstract contract Context {\n  function _msgSender() internal view virtual returns (address) {\n    return msg.sender;\n  }\n}\n\ninterface IERC20 {\n  function totalSupply() external view returns (uint256);\n  function balanceOf(address account) external view returns (uint256);\n  function transfer(address recipient, uint256 amount) external returns (bool);\n  function allowance(\n    address owner,\n    address spender\n  ) external view returns (uint256);\n  function approve(address spender, uint256 amount) external returns (bool);\n  function transferFrom(\n    address sender,\n    address recipient,\n    uint256 amount\n  ) external returns (bool);\n  event Transfer(address indexed from, address indexed to, uint256 value);\n  event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n\nlibrary SafeMath {\n  function add(uint256 a, uint256 b) internal pure returns (uint256) {\n    uint256 c = a + b;\n    require(c >= a, 'SafeMath: addition overflow');\n    return c;\n  }\n\n  function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n    return sub(a, b, 'SafeMath: subtraction overflow');\n  }\n\n  function sub(\n    uint256 a,\n    uint256 b,\n    string memory errorMessage\n  ) internal pure returns (uint256) {\n    require(b <= a, errorMessage);\n    uint256 c = a - b;\n    return c;\n  }\n\n  function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n    if (a == 0) {\n      return 0;\n    }\n    uint256 c = a * b;\n    require(c / a == b, 'SafeMath: multiplication overflow');\n    return c;\n  }\n\n  function div(uint256 a, uint256 b) internal pure returns (uint256) {\n    return div(a, b, 'SafeMath: division by zero');\n  }\n\n  function div(\n    uint256 a,\n    uint256 b,\n    string memory errorMessage\n  ) internal pure returns (uint256) {\n    require(b > 0, errorMessage);\n    uint256 c = a / b;\n    return c;\n  }\n}\n\ninterface IUniswapV2Factory {\n  function createPair(\n    address tokenA,\n    address tokenB\n  ) external returns (address pair);\n\n  function getPair(\n    address tokenA,\n    address tokenB\n  ) external view returns (address pair);\n}\n\ninterface IUniswapV2Router02 {\n  function swapExactTokensForETHSupportingFeeOnTransferTokens(\n    uint amountIn,\n    uint amountOutMin,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external;\n  function factory() external pure returns (address);\n  function WETH() external pure returns (address);\n  function addLiquidityETH(\n    address token,\n    uint amountTokenDesired,\n    uint amountTokenMin,\n    uint amountETHMin,\n    address to,\n    uint deadline\n  ) external payable returns (uint amountToken, uint amountETH, uint liquidity);\n}\n\ncontract Token is Context, IERC20 {\n  using SafeMath for uint256;\n  mapping(address => uint256) private _balances;\n  mapping(address => mapping(address => uint256)) private _allowances;\n  mapping(address => bool) private _isExcludedFromFee;\n  address payable private _taxWallet;\n\n  uint256 private _initialBuyTax = 18;\n  uint256 private _initialSellTax = 18;\n  uint256 private _finalBuyTax = 0;\n  uint256 private _finalSellTax = 0;\n  uint256 private _reduceBuyTaxAt = 10;\n  uint256 private _reduceSellTaxAt = 10;\n  uint256 private _preventSwapBefore = 20;\n  uint256 private _buyCount = 0;\n\n  uint8 private constant _decimals = 9;\n  uint256 private constant _tTotal = 42069000000 * 10 ** _decimals;\n  string private constant _name = unicode'Longevity';\n  string private constant _symbol = unicode'LONG';\n  uint256 public _taxSwapThreshold = 420000000 * 10 ** _decimals;\n  uint256 public _maxTaxSwap = 840000000 * 10 ** _decimals;\n\n  address private uniswapV2Pair;\n  IUniswapV2Router02 private uniswapV2Router;\n  bool private inSwap = false;\n\n  modifier lockTheSwap() {\n    inSwap = true;\n    _;\n    inSwap = false;\n  }\n\n  constructor() {\n    _taxWallet = payable(_msgSender());\n    _balances[_msgSender()] = _tTotal;\n    uniswapV2Router = IUniswapV2Router02(\n      0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D\n    );\n    uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(\n      address(this),\n      uniswapV2Router.WETH()\n    );\n    _isExcludedFromFee[address(this)] = true;\n    _isExcludedFromFee[address(uniswapV2Router)] = true;\n    _isExcludedFromFee[_taxWallet] = true;\n\n    emit Transfer(address(0), address(this), _tTotal);\n  }\n\n  function name() public pure returns (string memory) {\n    return _name;\n  }\n\n  function symbol() public pure returns (string memory) {\n    return _symbol;\n  }\n\n  function decimals() public pure returns (uint8) {\n    return _decimals;\n  }\n\n  function totalSupply() public pure override returns (uint256) {\n    return _tTotal;\n  }\n\n  function balanceOf(address account) public view override returns (uint256) {\n    return _balances[account];\n  }\n\n  function transfer(\n    address recipient,\n    uint256 amount\n  ) public override returns (bool) {\n    _transfer(_msgSender(), recipient, amount);\n    return true;\n  }\n\n  function allowance(\n    address owner,\n    address spender\n  ) public view override returns (uint256) {\n    return _allowances[owner][spender];\n  }\n\n  function approve(\n    address spender,\n    uint256 amount\n  ) public override returns (bool) {\n    _approve(_msgSender(), spender, amount);\n    return true;\n  }\n\n  function transferFrom(\n    address sender,\n    address recipient,\n    uint256 amount\n  ) public override returns (bool) {\n    _transfer(sender, recipient, amount);\n    _approve(\n      sender,\n      _msgSender(),\n      _allowances[sender][_msgSender()].sub(\n        amount,\n        'ERC20: transfer amount exceeds allowance'\n      )\n    );\n    return true;\n  }\n\n  function _approve(address owner, address spender, uint256 amount) private {\n    require(owner != address(0), 'ERC20: approve from the zero address');\n    require(spender != address(0), 'ERC20: approve to the zero address');\n    _allowances[owner][spender] = amount;\n    emit Approval(owner, spender, amount);\n  }\n\n  function _transfer(address from, address to, uint256 amount) private {\n    require(from != address(0), 'ERC20: transfer from the zero address');\n    require(to != address(0), 'ERC20: transfer to the zero address');\n    require(amount > 0, 'Transfer amount must be greater than zero');\n    uint256 taxAmount = 0;\n    if (!inSwap && to != _taxWallet) {\n      if (from == uniswapV2Pair && !_isExcludedFromFee[to]) {\n        taxAmount = amount\n          .mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax)\n          .div(100);\n        _buyCount++;\n      }\n\n      if (to == uniswapV2Pair && !_isExcludedFromFee[from]) {\n        taxAmount = amount\n          .mul((_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax)\n          .div(100);\n      }\n\n      uint256 contractTokenBalance = _balances[address(this)];\n      if (\n        to == uniswapV2Pair &&\n        contractTokenBalance > _taxSwapThreshold &&\n        _buyCount > _preventSwapBefore\n      ) {\n        swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));\n        uint256 contractETHBalance = address(this).balance;\n        if (contractETHBalance > 0) {\n          sendETHToFee(address(this).balance);\n        }\n      }\n    }\n\n    if (taxAmount > 0) {\n      _balances[address(this)] = _balances[address(this)].add(taxAmount);\n      emit Transfer(from, address(this), taxAmount);\n    }\n    _balances[from] = _balances[from].sub(amount);\n    _balances[to] = _balances[to].add(amount.sub(taxAmount));\n    emit Transfer(from, to, amount.sub(taxAmount));\n  }\n\n  function min(uint256 a, uint256 b) private pure returns (uint256) {\n    return (a > b) ? b : a;\n  }\n\n  function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {\n    address[] memory path = new address[](2);\n    path[0] = address(this);\n    path[1] = uniswapV2Router.WETH();\n    _approve(address(this), address(uniswapV2Router), tokenAmount);\n    uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(\n      tokenAmount,\n      0,\n      path,\n      address(this),\n      block.timestamp\n    );\n  }\n\n  function sendETHToFee(uint256 amount) private {\n    _taxWallet.transfer(amount);\n  }\n\n  function reduceFee(uint256 _newFee) external {\n    require(_msgSender() == _taxWallet);\n    require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax);\n    _finalBuyTax = _newFee;\n    _finalSellTax = _newFee;\n  }\n\n  function rescueERC20(address _address, uint256 percent) external {\n    require(_msgSender() == _taxWallet);\n    uint256 _amount = IERC20(_address)\n      .balanceOf(address(this))\n      .mul(percent)\n      .div(100);\n    IERC20(_address).transfer(_taxWallet, _amount);\n  }\n\n  function manualSwap() external {\n    require(_msgSender() == _taxWallet);\n    uint256 tokenBalance = balanceOf(address(this));\n    if (tokenBalance > 0) {\n      swapTokensForEth(tokenBalance);\n    }\n    uint256 ethBalance = address(this).balance;\n    if (ethBalance > 0) {\n      sendETHToFee(ethBalance);\n    }\n  }\n\n  receive() external payable {}\n}\n"
      }
    },
    "settings": {
      "metadata": {
        "bytecodeHash": "none"
      },
      "optimizer": {
        "enabled": true,
        "runs": 200
      },
      "evmVersion": "paris",
      "outputSelection": {
        "*": {
          "*": [
            "evm.bytecode",
            "evm.deployedBytecode",
            "devdoc",
            "userdoc",
            "metadata",
            "abi"
          ]
        }
      },
      "libraries": {}
    }
  }}