Cryo Explorer Ethereum Mainnet

Address Contract Verified

Address 0xCcd667d68B432D816f4cF8d4699858D1c73A685E
Balance 0 ETH
Nonce 1
Code Size 6415 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

6415 bytes
0x60806040526004361061007e575f3560e01c80638da5cb5b1161004d5780638da5cb5b146101d05780639e281a98146101fa578063ad5c464814610222578063f14210a61461024c57610114565b80633aecd0e314610118578063735de9f71461015457806374725b7a1461017e5780638bdb2afa146101a657610114565b36610114575f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610112576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010990610ec9565b60405180910390fd5b005b5f80fd5b348015610123575f80fd5b5061013e60048036038101906101399190610f52565b610274565b60405161014b9190610f95565b60405180910390f35b34801561015f575f80fd5b506101686102f4565b6040516101759190610fbd565b60405180910390f35b348015610189575f80fd5b506101a4600480360381019061019f9190611000565b610318565b005b3480156101b1575f80fd5b506101ba6108af565b6040516101c79190610fbd565b60405180910390f35b3480156101db575f80fd5b506101e46108d3565b6040516101f19190610fbd565b60405180910390f35b348015610205575f80fd5b50610220600480360381019061021b9190611064565b6108f8565b005b34801561022d575f80fd5b50610236610c24565b6040516102439190610fbd565b60405180910390f35b348015610257575f80fd5b50610272600480360381019061026d91906110a2565b610c48565b005b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016102ae9190610fbd565b602060405180830381865afa1580156102c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102ed91906110e1565b9050919050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039e90610ec9565b60405180910390fd5b5f8054906101000a900460ff16156103f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103eb90611156565b60405180910390fd5b60015f806101000a81548160ff0219169083151502179055505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361047b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610472906111be565b60405180910390fd5b5f83116104bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b490611226565b60405180910390fd5b82471015610500576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f7906112b4565b60405180910390fd5b42811015610543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053a9061131c565b60405180910390fd5b5f7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a439057f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2876040518363ffffffff1660e01b81526004016105bf92919061133a565b602060405180830381865afa1580156105da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105fe9190611375565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361066e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610665906113ea565b60405180910390fd5b5f600267ffffffffffffffff81111561068a57610689611408565b5b6040519080825280602002602001820160405280156106b85781602001602082028036833780820191505090505b5090507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2815f815181106106ef576106ee611435565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050858160018151811061073e5761073d611435565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff16637ff36ab587878530896040518663ffffffff1660e01b81526004016107d99493929190611519565b5f6040518083038185885af11580156107f4573d5f803e3d5ffd5b50505050506040513d5f823e3d601f19601f8201168201806040525081019061081d9190611686565b90508673ffffffffffffffffffffffffffffffffffffffff167f68e0fda9faa9544dc901077f4ebbfb6d0b08a86dca4e3b3364685d47c860481b878360018151811061086c5761086b611435565b5b60200260200101515f801b604051610886939291906116e5565b60405180910390a25050505f805f6101000a81548160ff02191690831515021790555050505050565b7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610987576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097e90610ec9565b60405180910390fd5b5f8054906101000a900460ff16156109d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cb90611156565b60405180910390fd5b60015f806101000a81548160ff021916908315150217905550808273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a279190610fbd565b602060405180830381865afa158015610a42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a6691906110e1565b1015610aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9e90611764565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610b03929190611782565b6020604051808303815f875af1158015610b1f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4391906117de565b610b82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7990611853565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff165f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8210728e7c071f615b840ee026032693858fbcd5e5359e67e438c890f59e562083604051610c009190610f95565b60405180910390a35f805f6101000a81548160ff0219169083151502179055505050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cce90610ec9565b60405180910390fd5b5f8054906101000a900460ff1615610d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1b90611156565b60405180910390fd5b60015f806101000a81548160ff02191690831515021790555047811115610d80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d77906118bb565b60405180910390fd5b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610de4573d5f803e3d5ffd5b505f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f94b2de810873337ed265c5f8cf98c9cffefa06b8607f9a2f1fbaebdfbcfbef1c82604051610e4c9190610f95565b60405180910390a25f805f6101000a81548160ff02191690831515021790555050565b5f82825260208201905092915050565b7f43616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f610eb3601783610e6f565b9150610ebe82610e7f565b602082019050919050565b5f6020820190508181035f830152610ee081610ea7565b9050919050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610f2182610ef8565b9050919050565b610f3181610f17565b8114610f3b575f80fd5b50565b5f81359050610f4c81610f28565b92915050565b5f60208284031215610f6757610f66610ef0565b5b5f610f7484828501610f3e565b91505092915050565b5f819050919050565b610f8f81610f7d565b82525050565b5f602082019050610fa85f830184610f86565b92915050565b610fb781610f17565b82525050565b5f602082019050610fd05f830184610fae565b92915050565b610fdf81610f7d565b8114610fe9575f80fd5b50565b5f81359050610ffa81610fd6565b92915050565b5f805f806080858703121561101857611017610ef0565b5b5f61102587828801610f3e565b945050602061103687828801610fec565b935050604061104787828801610fec565b925050606061105887828801610fec565b91505092959194509250565b5f806040838503121561107a57611079610ef0565b5b5f61108785828601610f3e565b925050602061109885828601610fec565b9150509250929050565b5f602082840312156110b7576110b6610ef0565b5b5f6110c484828501610fec565b91505092915050565b5f815190506110db81610fd6565b92915050565b5f602082840312156110f6576110f5610ef0565b5b5f611103848285016110cd565b91505092915050565b7f5265656e7472616e742063616c6c0000000000000000000000000000000000005f82015250565b5f611140600e83610e6f565b915061114b8261110c565b602082019050919050565b5f6020820190508181035f83015261116d81611134565b9050919050565b7f496e76616c696420746f6b656e206164647265737300000000000000000000005f82015250565b5f6111a8601583610e6f565b91506111b382611174565b602082019050919050565b5f6020820190508181035f8301526111d58161119c565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e20300000005f82015250565b5f611210601d83610e6f565b915061121b826111dc565b602082019050919050565b5f6020820190508181035f83015261123d81611204565b9050919050565b7f496e73756666696369656e74204554482062616c616e636520696e20636f6e745f8201527f7261637400000000000000000000000000000000000000000000000000000000602082015250565b5f61129e602483610e6f565b91506112a982611244565b604082019050919050565b5f6020820190508181035f8301526112cb81611292565b9050919050565b7f446561646c696e652068617320706173736564000000000000000000000000005f82015250565b5f611306601383610e6f565b9150611311826112d2565b602082019050919050565b5f6020820190508181035f830152611333816112fa565b9050919050565b5f60408201905061134d5f830185610fae565b61135a6020830184610fae565b9392505050565b5f8151905061136f81610f28565b92915050565b5f6020828403121561138a57611389610ef0565b5b5f61139784828501611361565b91505092915050565b7f5061697220646f6573206e6f74206578697374000000000000000000000000005f82015250565b5f6113d4601383610e6f565b91506113df826113a0565b602082019050919050565b5f6020820190508181035f830152611401816113c8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61149481610f17565b82525050565b5f6114a5838361148b565b60208301905092915050565b5f602082019050919050565b5f6114c782611462565b6114d1818561146c565b93506114dc8361147c565b805f5b8381101561150c5781516114f3888261149a565b97506114fe836114b1565b9250506001810190506114df565b5085935050505092915050565b5f60808201905061152c5f830187610f86565b818103602083015261153e81866114bd565b905061154d6040830185610fae565b61155a6060830184610f86565b95945050505050565b5f80fd5b5f601f19601f8301169050919050565b61158082611567565b810181811067ffffffffffffffff8211171561159f5761159e611408565b5b80604052505050565b5f6115b1610ee7565b90506115bd8282611577565b919050565b5f67ffffffffffffffff8211156115dc576115db611408565b5b602082029050602081019050919050565b5f80fd5b5f6116036115fe846115c2565b6115a8565b90508083825260208201905060208402830185811115611626576116256115ed565b5b835b8181101561164f578061163b88826110cd565b845260208401935050602081019050611628565b5050509392505050565b5f82601f83011261166d5761166c611563565b5b815161167d8482602086016115f1565b91505092915050565b5f6020828403121561169b5761169a610ef0565b5b5f82015167ffffffffffffffff8111156116b8576116b7610ef4565b5b6116c484828501611659565b91505092915050565b5f819050919050565b6116df816116cd565b82525050565b5f6060820190506116f85f830186610f86565b6117056020830185610f86565b61171260408301846116d6565b949350505050565b7f496e73756666696369656e7420746f6b656e2062616c616e63650000000000005f82015250565b5f61174e601a83610e6f565b91506117598261171a565b602082019050919050565b5f6020820190508181035f83015261177b81611742565b9050919050565b5f6040820190506117955f830185610fae565b6117a26020830184610f86565b9392505050565b5f8115159050919050565b6117bd816117a9565b81146117c7575f80fd5b50565b5f815190506117d8816117b4565b92915050565b5f602082840312156117f3576117f2610ef0565b5b5f611800848285016117ca565b91505092915050565b7f546f6b656e207472616e73666572206661696c656400000000000000000000005f82015250565b5f61183d601583610e6f565b915061184882611809565b602082019050919050565b5f6020820190508181035f83015261186a81611831565b9050919050565b7f496e73756666696369656e74204554482062616c616e636500000000000000005f82015250565b5f6118a5601883610e6f565b91506118b082611871565b602082019050919050565b5f6020820190508181035f8301526118d281611899565b905091905056fea26469706673582212203a2cca20b5922f5e0f5e6f032ee522bb51bcd8acc4e0eefb4370a8d8e50c76d564736f6c63430008170033

Verified Source Code Full Match

Compiler: v0.8.23+commit.f704f362 EVM: shanghai Optimization: No
ManualSniperBotV2.sol 123 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

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

interface IUniswapV2Router {
    function swapExactETHForTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable returns (uint[] memory amounts);
}

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

contract ReentrancyGuard {
    bool private locked;
    modifier nonReentrant() {
        require(!locked, "Reentrant call");
        locked = true;
        _;
        locked = false;
    }
}

contract ManualSniperBotV2 is ReentrancyGuard {
    address public owner;
    address public immutable WETH;
    address public immutable uniswapFactory;
    address public immutable uniswapRouter;

    event SnipeExecuted(address indexed token, uint ethSpent, uint tokensBought, bytes32 txHash);
    event ETHWithdrawn(address indexed owner, uint amount);
    event TokenWithdrawn(address indexed owner, address indexed token, uint amount);

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

    constructor() {
        owner = msg.sender;
        WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; // WETH address on Mainnet
        uniswapFactory = 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f; // Uniswap V2 Factory
        uniswapRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // Uniswap V2 Router
    }

    /**
     * @notice Snipes a token on Uniswap V2 using the contract's ETH balance.
     * @param token The address of the token to snipe.
     * @param amountIn The amount of ETH to spend from the contract's balance.
     * @param minTokensOut Minimum amount of tokens to receive (slippage protection).
     * @param deadline Transaction deadline (Unix timestamp).
     */
    function snipeToken(
        address token,
        uint amountIn,
        uint minTokensOut,
        uint deadline
    ) external onlyOwner nonReentrant {
        require(token != address(0), "Invalid token address");
        require(amountIn > 0, "Amount must be greater than 0");
        require(address(this).balance >= amountIn, "Insufficient ETH balance in contract");
        require(deadline >= block.timestamp, "Deadline has passed");

        address pair = IUniswapV2Factory(uniswapFactory).getPair(WETH, token);
        require(pair != address(0), "Pair does not exist");

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

        uint[] memory amounts = IUniswapV2Router(uniswapRouter).swapExactETHForTokens{value: amountIn}(
            minTokensOut,
            path,
            address(this),
            deadline
        );

        emit SnipeExecuted(token, amountIn, amounts[1], bytes32(0));
    }

    /**
     * @notice Withdraws ETH from the contract to the owner's address.
     * @param amount The amount of ETH to withdraw.
     */
    function withdrawETH(uint amount) external onlyOwner nonReentrant {
        require(amount <= address(this).balance, "Insufficient ETH balance");
        payable(owner).transfer(amount);
        emit ETHWithdrawn(owner, amount);
    }

    /**
     * @notice Withdraws a specific token from the contract to the owner's address.
     * @param token The address of the token to withdraw.
     * @param amount The amount of tokens to withdraw.
     */
    function withdrawToken(address token, uint amount) external onlyOwner nonReentrant {
        require(IERC20(token).balanceOf(address(this)) >= amount, "Insufficient token balance");
        require(IERC20(token).transfer(owner, amount), "Token transfer failed");
        emit TokenWithdrawn(owner, token, amount);
    }

    /**
     * @notice Returns the balance of a specific token held by the contract.
     * @param token The address of the token to check.
     * @return The token balance.
     */
    function getTokenBalance(address token) external view returns (uint) {
        return IERC20(token).balanceOf(address(this));
    }

    /**
     * @notice Allows the owner to deposit ETH into the contract.
     */
    receive() external payable onlyOwner {}
}

Read Contract

WETH 0xad5c4648 → address
getTokenBalance 0x3aecd0e3 → uint256
owner 0x8da5cb5b → address
uniswapFactory 0x8bdb2afa → address
uniswapRouter 0x735de9f7 → address

Write Contract 3 functions

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

snipeToken 0x74725b7a
address token
uint256 amountIn
uint256 minTokensOut
uint256 deadline
withdrawETH 0xf14210a6
uint256 amount
withdrawToken 0x9e281a98
address token
uint256 amount

Recent Transactions

No transactions found for this address