Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x0AFf507aC29B8CEA2FB10d2ad14408c2d79A35AD
Balance 0 ETH
Nonce 1
Code Size 7070 bytes
Last Active
Indexed Transactions 23 (24,292,56924,323,867)
Gas Used (indexed) 498,606
External Etherscan · Sourcify

Contract Bytecode

7070 bytes
0x6080604052600436106101b2575f3560e01c806370a08231116100e7578063bc205ad311610087578063dd62ed3e11610062578063dd62ed3e1461055a578063e2f456051461059e578063ed9442f6146105b3578063fb201b1d146105d3575f5ffd5b8063bc205ad3146104e8578063d201b01e14610507578063d85ba06314610526575f5ffd5b80638da5cb5b116100c25780638da5cb5b1461046257806395d89b411461047e5780639a7a23d6146104aa578063a9059cbb146104c9575f5ffd5b806370a08231146103e3578063715018a61461041757806385ecafd71461042b575f5ffd5b8063437f781511610152578063590ffdce1161012d578063590ffdce146103665780636402511e1461038557806366650dae146103a45780636a486a8e146103c3575f5ffd5b8063437f7815146102f557806349bd5a5e146103145780634fcd244614610347575f5ffd5b806318160ddd1161018d57806318160ddd1461026d578063186c13841461029457806323b872dd146102b5578063313ce567146102d4575f5ffd5b806306fdde03146101bd578063095ea7b3146101ff5780631694505e1461022e575f5ffd5b366101b957005b5f5ffd5b3480156101c8575f5ffd5b506040805180820190915260088152674372797054616c6b60c01b60208201525b6040516101f6919061185d565b60405180910390f35b34801561020a575f5ffd5b5061021e6102193660046118ad565b6105e7565b60405190151581526020016101f6565b348015610239575f5ffd5b50610255737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016101f6565b348015610278575f5ffd5b506a084595161401484a0000005b6040519081526020016101f6565b34801561029f575f5ffd5b506102b36102ae3660046118e5565b6105fd565b005b3480156102c0575f5ffd5b5061021e6102cf366004611905565b6106c1565b3480156102df575f5ffd5b5060125b60405160ff90911681526020016101f6565b348015610300575f5ffd5b506102b361030f36600461193f565b610770565b34801561031f575f5ffd5b506102557f00000000000000000000000044bdbc621752f0bc4043c67d2e6c4434b4ba63ec81565b348015610352575f5ffd5b506102b3610361366004611958565b610819565b348015610371575f5ffd5b506102b3610380366004611996565b610957565b348015610390575f5ffd5b506102b361039f3660046119cb565b6109b9565b3480156103af575f5ffd5b506102b36103be366004611996565b610b16565b3480156103ce575f5ffd5b506002546102e390600160b01b900460ff1681565b3480156103ee575f5ffd5b506102866103fd36600461193f565b6001600160a01b03165f9081526003602052604090205490565b348015610422575f5ffd5b506102b3610b78565b348015610436575f5ffd5b5061021e61044536600461193f565b6001600160a01b03165f9081526005602052604090205460ff1690565b34801561046d575f5ffd5b505f546001600160a01b0316610255565b348015610489575f5ffd5b5060408051808201909152600481526354414c4b60e01b60208201526101e9565b3480156104b5575f5ffd5b506102b36104c4366004611996565b610bc1565b3480156104d4575f5ffd5b5061021e6104e33660046118ad565b610ca4565b3480156104f3575f5ffd5b506102b36105023660046119e2565b610cb0565b348015610512575f5ffd5b506102b361052136600461193f565b610d62565b348015610531575f5ffd5b5060025461054790600160a01b900461ffff1681565b60405161ffff90911681526020016101f6565b348015610565575f5ffd5b506102866105743660046119e2565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b3480156105a9575f5ffd5b5061028660015481565b3480156105be575f5ffd5b506002546102e390600160b81b900460ff1681565b3480156105de575f5ffd5b506102b3610e79565b5f6105f3338484610f13565b5060015b92915050565b3361060f5f546001600160a01b031690565b6001600160a01b03161461063e5760405162461bcd60e51b815260040161063590611a0a565b60405180910390fd5b6002805460ff60b81b1916600160b81b60ff84811682029290921792839055909104166064146106be5760405162461bcd60e51b815260206004820152602560248201527f446973747269627574696f6e206861766520746f20626520657175616c20746f604482015264203130302560d81b6064820152608401610635565b50565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f19811461075a578281101561074d5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610635565b61075a8533858403610f13565b610765858585611036565b506001949350505050565b336107825f546001600160a01b031690565b6001600160a01b0316146107a85760405162461bcd60e51b815260040161063590611a0a565b6001600160a01b0381166107f75760405162461bcd60e51b8152602060048201526016602482015275416464726573732063616e6e6f74206265207a65726f60501b6044820152606401610635565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b3361082b5f546001600160a01b031690565b6001600160a01b0316146108515760405162461bcd60e51b815260040161063590611a0a565b6101908260ff1611156108b95760405162461bcd60e51b815260206004820152602a60248201527f4275792066656573206d757374206265206c657373207468616e206f7220657160448201526975616c20746f2034302560b01b6064820152608401610635565b6101908160ff1611156109225760405162461bcd60e51b815260206004820152602b60248201527f53656c6c2066656573206d757374206265206c657373207468616e206f72206560448201526a7175616c20746f2034302560a81b6064820152608401610635565b6002805462ffffff60a01b191660ff938416600160a01b0260ff60b01b191617600160b01b9290931691909102919091179055565b336109695f546001600160a01b031690565b6001600160a01b03161461098f5760405162461bcd60e51b815260040161063590611a0a565b6001600160a01b03919091165f908152600560205260409020805460ff1916911515919091179055565b336109cb5f546001600160a01b031690565b6001600160a01b0316146109f15760405162461bcd60e51b815260040161063590611a0a565b620186a0610a0b6a084595161401484a0000006001611a53565b610a159190611a6a565b811015610a825760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527420302e30303125206f662074686520737570706c7960581b6064820152608401610635565b6103e8610a9b6a084595161401484a0000006005611a53565b610aa59190611a6a565b811115610b115760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f7420626520686967686572207468616044820152736e20302e3525206f662074686520737570706c7960601b6064820152608401610635565b600155565b33610b285f546001600160a01b031690565b6001600160a01b031614610b4e5760405162461bcd60e51b815260040161063590611a0a565b6001600160a01b03919091165f908152600660205260409020805460ff1916911515919091179055565b33610b8a5f546001600160a01b031690565b6001600160a01b031614610bb05760405162461bcd60e51b815260040161063590611a0a565b5f80546001600160a01b0319169055565b33610bd35f546001600160a01b031690565b6001600160a01b031614610bf95760405162461bcd60e51b815260040161063590611a0a565b7f00000000000000000000000044bdbc621752f0bc4043c67d2e6c4434b4ba63ec6001600160a01b0316826001600160a01b031603610c7a5760405162461bcd60e51b815260206004820152601a60248201527f54686520706169722063616e6e6f742062652072656d6f7665640000000000006044820152606401610635565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b5f6105f3338484611036565b33610cc25f546001600160a01b031690565b6001600160a01b031614610ce85760405162461bcd60e51b815260040161063590611a0a565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa158015610d2c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d509190611a89565b9050610d5d83838361152f565b505050565b33610d745f546001600160a01b031690565b6001600160a01b031614610d9a5760405162461bcd60e51b815260040161063590611a0a565b6001600160a01b038116610de25760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610635565b5f816001600160a01b0316476040515f6040518083038185875af1925050503d805f8114610e2b576040519150601f19603f3d011682016040523d82523d5f602084013e610e30565b606091505b5050905080610e755760405162461bcd60e51b815260206004820152601160248201527015da5d1a191c985dd85b0819985a5b1959607a1b6044820152606401610635565b5050565b33610e8b5f546001600160a01b031690565b6001600160a01b031614610eb15760405162461bcd60e51b815260040161063590611a0a565b600254600160c81b900460ff1615610efe5760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481b185d5b98da195960821b6044820152606401610635565b6002805460ff60c81b1916600160c81b179055565b6001600160a01b038316610f755760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610635565b6001600160a01b038216610fd65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610635565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661109a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610635565b6001600160a01b0382166110fc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610635565b5f811161115d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610635565b600254600160c81b900460ff161580156111b157505f546001600160a01b0384811691161480159061119857506001600160a01b0383163014155b80156111b157505f546001600160a01b03838116911614155b156111f45760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610635565b600154305f908152600360205260409020541080159081906112205750600254600160c01b900460ff16155b801561124457506001600160a01b0384165f9081526007602052604090205460ff16155b801561126857506001600160a01b0384165f9081526005602052604090205460ff16155b801561128c57506001600160a01b0383165f9081526005602052604090205460ff16155b156112ba576002805460ff60c01b1916600160c01b1790556112ac611656565b6002805460ff60c01b191690555b6002546001600160a01b0385165f9081526005602052604090205460ff600160c01b90920482161591168061130657506001600160a01b0384165f9081526005602052604090205460ff165b1561130e57505f5b6001600160a01b0385165f90815260036020526040902054838110156113855760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610635565b5f82156114bd576001600160a01b0386165f9081526007602052604090205460ff1680156113be5750600254600160b01b900460ff1615155b156113ef576002546103e8906113de90600160b01b900460ff1687611a53565b6113e89190611a6a565b9050611450565b6001600160a01b0387165f9081526007602052604090205460ff1680156114225750600254600160a01b900461ffff1615155b15611450576002546103e89061144390600160a01b900461ffff1687611a53565b61144d9190611a6a565b90505b80156114bd576001600160a01b0387165f8181526003602090815260408083208054869003905530808452928190208054860190555184815297849003979192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b6001600160a01b038088165f8181526003602052604080822080548a900390559289168082529083902080548901905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061151e9089815260200190565b60405180910390a350505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f9283929087169161158a9190611aa0565b5f604051808303815f865af19150503d805f81146115c3576040519150601f19603f3d011682016040523d82523d5f602084013e6115c8565b606091505b50915091508180156115f25750805115806115f25750808060200190518101906115f29190611ab6565b61164f5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657248656c7065723a20494e5445524e414c205452414e5346456044820152671497d1905253115160c21b6064820152608401610635565b5050505050565b6001545f611665826014611a53565b305f90815260036020526040902054111561168b57600154611688906014611a53565b91505b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106116be576116be611ad1565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061170657611706611ad1565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac9479061175d9086905f90869030904290600401611ae5565b5f604051808303815f87803b158015611774575f5ffd5b505af1158015611786573d5f5f3e3d5ffd5b504792505081159050611857576002545f906064906117af90600160b81b900460ff1684611a53565b6117b99190611a6a565b90505f6117c68284611b55565b6002546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611811576040519150601f19603f3d011682016040523d82523d5f602084013e611816565b606091505b505060408051888152602081018490529196507f28fc98272ce761178794ad6768050fea1648e07f1e2ffe15afd3a290f8381486910160405180910390a150505b50505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146118a8575f5ffd5b919050565b5f5f604083850312156118be575f5ffd5b6118c783611892565b946020939093013593505050565b803560ff811681146118a8575f5ffd5b5f602082840312156118f5575f5ffd5b6118fe826118d5565b9392505050565b5f5f5f60608486031215611917575f5ffd5b61192084611892565b925061192e60208501611892565b929592945050506040919091013590565b5f6020828403121561194f575f5ffd5b6118fe82611892565b5f5f60408385031215611969575f5ffd5b611972836118d5565b9150611980602084016118d5565b90509250929050565b80151581146106be575f5ffd5b5f5f604083850312156119a7575f5ffd5b6119b083611892565b915060208301356119c081611989565b809150509250929050565b5f602082840312156119db575f5ffd5b5035919050565b5f5f604083850312156119f3575f5ffd5b6119fc83611892565b915061198060208401611892565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176105f7576105f7611a3f565b5f82611a8457634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611a99575f5ffd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f60208284031215611ac6575f5ffd5b81516118fe81611989565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611b355783516001600160a01b0316835260209384019390920191600101611b0e565b50506001600160a01b039590951660608401525050608001529392505050565b818103818111156105f7576105f7611a3f56fea26469706673582212200ab78182465a208f9a2bba9f95c0b3d29da47cfc15c6eb3265aa571083358fd364736f6c634300081d0033

Verified Source Code Partial Match

Compiler: v0.8.29+commit.ab55807c EVM: cancun Optimization: Yes (200 runs)
CrypTalk.sol 314 lines
// SPDX-License-Identifier: MIT

/*
TWITTER: https://x.com/cryptalknetwork
TELEGRAM: https://t.me/cryptalknetwork
WEBSITE: https://www.cryptalk.net/
*/

pragma solidity 0.8.29;
pragma experimental ABIEncoderV2;

abstract contract Ownable {
    address private _owner;

    constructor() {
        _owner = msg.sender;
    }

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

    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }

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

library SafeERC20 {
    function safeTransfer(address token, address to, uint256 value) internal {
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(IERC20.transfer.selector, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: INTERNAL TRANSFER_FAILED');
    }
}

interface IERC20 {
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external;
}

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

contract CrypTalk is Ownable {
    string private constant _name = unicode"CrypTalk";
    string private constant _symbol = unicode"TALK";
    uint256 private constant _totalSupply = 10_000_000 * 1e18;

    uint256 public swapTokensAtAmount = (_totalSupply * 2) / 10000;

    address private mktWallet = 0x7de44D46360Be1fb58632D54d77941c83a64B6C7;
    address private constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;

    uint16 public buyTotalFees = 300;
    uint8 public sellTotalFees = 100;

    uint8 public mktFee = 100;

    bool private swapping;
    bool private launched;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private _isExcludedMaxTransactionAmount;
    mapping(address => bool) private automatedMarketMakerPairs;

    event SwapAndLiquify(uint256 tokensSwapped, uint256 TreasuryETH);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    IUniswapV2Router02 public constant uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    
    address public immutable uniswapV2Pair;

    constructor() {
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), WETH);
        automatedMarketMakerPairs[uniswapV2Pair] = true;

        setExcludedFromFees(owner(), true);
        setExcludedFromFees(address(this), true);
        setExcludedFromFees(address(0xdead), true);
        setExcludedFromFees(mktWallet, true);
        
        setExcludedFromMaxTransaction(owner(), true);
        setExcludedFromMaxTransaction(address(uniswapV2Router), true);
        setExcludedFromMaxTransaction(address(this), true);
        setExcludedFromMaxTransaction(address(0xdead), true);
        setExcludedFromMaxTransaction(address(uniswapV2Pair), true);
        setExcludedFromMaxTransaction(mktWallet, true);

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _balances[msg.sender]);

        _approve(address(this), address(uniswapV2Router), type(uint256).max);
    }

    receive() external payable {}

    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 18;
    }

    function totalSupply() public pure returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

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

    function approve(address spender, uint256 amount) external returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function transfer(address recipient, uint256 amount) external returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool) {
        uint256 currentAllowance = _allowances[sender][msg.sender];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            unchecked {
                _approve(sender, msg.sender, currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

    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");

        if (!launched && (from != owner() && from != address(this) && to != owner())) {
            revert("Trading not enabled");
        }

        bool canSwap = balanceOf(address(this)) >= swapTokensAtAmount;

        if (canSwap && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            swapping = true;
            swapBack();
            swapping = false;
        }

        bool takeFee = !swapping;

        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 senderBalance = _balances[from];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");

        uint256 fees = 0;
        if (takeFee) {
            if (automatedMarketMakerPairs[to] && sellTotalFees > 0) {
                fees = (amount * sellTotalFees) / 1000;
            } else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) {
                fees = (amount * buyTotalFees) / 1000;
            }

            if (fees > 0) {
                unchecked {
                    amount = amount - fees;
                    _balances[from] -= fees;
                    _balances[address(this)] += fees;
                }
                emit Transfer(from, address(this), fees);
            }
        }
        unchecked {
            _balances[from] -= amount;
            _balances[to] += amount;
        }
        emit Transfer(from, to, amount);
    }

    function setDistributionFees(uint8 _MktFee) external onlyOwner {
        mktFee = _MktFee;
        require(mktFee == 100, "Distribution have to be equal to 100%");
    }

    function setFees(uint8 _buyTotalFees, uint8 _sellTotalFees) external onlyOwner {
        require(_buyTotalFees <= 400, "Buy fees must be less than or equal to 40%");
        require(_sellTotalFees <= 400, "Sell fees must be less than or equal to 40%");
        buyTotalFees = _buyTotalFees;
        sellTotalFees = _sellTotalFees;
    }

    function setExcludedFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
    }

    function setExcludedFromMaxTransaction(address account, bool excluded) public onlyOwner {
        _isExcludedMaxTransactionAmount[account] = excluded;
    }

    function openTrade() external onlyOwner {
        require(!launched, "Already launched");
        launched = true;
    }

/*    function unleash() external payable onlyOwner {
        require(!launched, "Already launched");
        uniswapV2Router.addLiquidityETH{value: msg.value}(
            address(this),
            _balances[address(this)],
            0,
            0,
            teamWallet,
            block.timestamp
        );
    }
*/
    function setAutomatedMarketMakerPair(address pair, bool value) external onlyOwner {
        require(pair != uniswapV2Pair, "The pair cannot be removed");
        automatedMarketMakerPairs[pair] = value;
    }

    function setSwapAtAmount(uint256 newSwapAmount) external onlyOwner {
        require(newSwapAmount >= (totalSupply() * 1) / 100000, "Swap amount cannot be lower than 0.001% of the supply");
        require(newSwapAmount <= (totalSupply() * 5) / 1000, "Swap amount cannot be higher than 0.5% of the supply");
        swapTokensAtAmount = newSwapAmount;
    }

    function updateMktWallet(address newAddress) external onlyOwner {
        require(newAddress != address(0), "Address cannot be zero");
        mktWallet = newAddress;
    }

    function excludedFromFee(address account) public view returns (bool) {
        return _isExcludedFromFees[account];
    }

    function withdrawStuckToken(address token, address to) external onlyOwner {
        uint256 _contractBalance = IERC20(token).balanceOf(address(this));
        SafeERC20.safeTransfer(token, to, _contractBalance); // Use safeTransfer
    }

    function withdrawStuckETH(address addr) external onlyOwner {
        require(addr != address(0), "Invalid address");

        (bool success, ) = addr.call{value: address(this).balance}("");
        require(success, "Withdrawal failed");
    }

    function swapBack() private {
        uint256 swapThreshold = swapTokensAtAmount;
        bool success;

        if (balanceOf(address(this)) > swapTokensAtAmount * 20) {
            swapThreshold = swapTokensAtAmount * 20;
        }

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(swapThreshold, 0, path, address(this), block.timestamp);

        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            uint256 ethForMkt = (ethBalance * mktFee) / 100;
            uint256 ethForTreasury = ethBalance - ethForMkt;

            (success, ) = address(mktWallet).call{value: ethForMkt}("");

            emit SwapAndLiquify(swapThreshold, ethForTreasury);
        }
    }
}

Read Contract

allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
buyTotalFees 0xd85ba063 → uint16
decimals 0x313ce567 → uint8
excludedFromFee 0x85ecafd7 → bool
mktFee 0xed9442f6 → uint8
name 0x06fdde03 → string
owner 0x8da5cb5b → address
sellTotalFees 0x6a486a8e → uint8
swapTokensAtAmount 0xe2f45605 → uint256
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
uniswapV2Pair 0x49bd5a5e → address
uniswapV2Router 0x1694505e → address

Write Contract 14 functions

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

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
openTrade 0xfb201b1d
No parameters
renounceOwnership 0x715018a6
No parameters
setAutomatedMarketMakerPair 0x9a7a23d6
address pair
bool value
setDistributionFees 0x186c1384
uint8 _MktFee
setExcludedFromFees 0x590ffdce
address account
bool excluded
setExcludedFromMaxTransaction 0x66650dae
address account
bool excluded
setFees 0x4fcd2446
uint8 _buyTotalFees
uint8 _sellTotalFees
setSwapAtAmount 0x6402511e
uint256 newSwapAmount
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
updateMktWallet 0x437f7815
address newAddress
withdrawStuckETH 0xd201b01e
address addr
withdrawStuckToken 0xbc205ad3
address token
address to

Recent Transactions

CSV View All 23 Transactions →
|
Hash Method Block Age From/To Value Txn Fee Type
0xf77b6254...f9a674 transfer 24,323,867 IN 0x4559bC2b...7804 0 ETH 0.000001913498 ETH EIP-1559
0x5d3d00ee...94ba6a approve 24,322,609 IN 0xbA9B2612...4378 0 ETH 0.000095320148 ETH EIP-1559
0x05c8b8af...3501cd approve 24,321,423 IN 0xC8B46775...ca32 0 ETH 0.000006130183 ETH EIP-1559
0x64bb39dd...589c89 transfer 24,318,920 IN 0x4F171286...E045 0 ETH 0.000011201298 ETH EIP-1559
0x41c8d8ad...8e8e7c approve 24,318,585 IN 0x0ADc6F41...Ffc2 0 ETH 0.000095264945 ETH EIP-1559
0xbb2c749f...f4cde4 approve 24,317,900 IN 0x7aAC8600...A657 0 ETH 0.000001707212 ETH EIP-1559
0x858a353c...039559 approve 24,313,944 IN 0x67Eae114...9b3C 0 ETH 0.000016912378 ETH EIP-1559
0xbe6d4240...d703e0 transfer 24,312,324 IN 0x9642b23E...5D4E 0 ETH 0.000004697013 ETH Legacy
0x012f3197...de0001 transfer 24,292,963 IN 0x9642b23E...5D4E 0 ETH 0.000013932828 ETH Legacy
0x63f21c74...ba4c03 approve 24,292,569 IN 0x1F4E44b4...4180 0 ETH 0.000003037470 ETH EIP-1559