ETH Price: $3,561.93 (+2.29%)
Gas: 4 Gwei

Contract

0x749d8582d569E62053f69588c998368465f37046
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Withdraw Tokens194610752024-03-18 10:25:5993 days ago1710757559IN
0x749d8582...465f37046
0 ETH0.0016716323.39580714
Withdraw Tokens194227232024-03-13 0:57:2398 days ago1710291443IN
0x749d8582...465f37046
0 ETH0.0034475438.93326143
Withdraw Tokens194129672024-03-11 16:12:35100 days ago1710173555IN
0x749d8582...465f37046
0 ETH0.0100536113.53592554
Withdraw Tokens194067632024-03-10 19:23:59101 days ago1710098639IN
0x749d8582...465f37046
0 ETH0.0054236361.24936415
Withdraw Tokens194052492024-03-10 14:19:59101 days ago1710080399IN
0x749d8582...465f37046
0 ETH0.0062096969.8802381
Withdraw Tokens194052462024-03-10 14:19:23101 days ago1710080363IN
0x749d8582...465f37046
0 ETH0.0061888569.64570984
Withdraw Tokens194051842024-03-10 14:06:59101 days ago1710079619IN
0x749d8582...465f37046
0 ETH0.0061296168.97907346
Withdraw Tokens194036942024-03-10 9:06:35101 days ago1710061595IN
0x749d8582...465f37046
0 ETH0.001497458.32819866
Withdraw Tokens194036932024-03-10 9:06:23101 days ago1710061583IN
0x749d8582...465f37046
0 ETH0.001518459.14651481
Withdraw Tokens194036932024-03-10 9:06:23101 days ago1710061583IN
0x749d8582...465f37046
0 ETH0.001518459.14651481
Withdraw Tokens193920042024-03-08 17:41:47103 days ago1709919707IN
0x749d8582...465f37046
0 ETH0.006544873.91086623
Withdraw Tokens193828922024-03-07 11:07:11104 days ago1709809631IN
0x749d8582...465f37046
0 ETH0.0052894659.52452652
Withdraw Tokens193827532024-03-07 10:39:23104 days ago1709807963IN
0x749d8582...465f37046
0 ETH0.0048072554.28857554
Withdraw Tokens193764442024-03-06 13:31:35105 days ago1709731895IN
0x749d8582...465f37046
0 ETH0.0047160665.71807527
Withdraw Tokens193722422024-03-05 23:26:23106 days ago1709681183IN
0x749d8582...465f37046
0 ETH0.0062226570.2727734
Withdraw Tokens193707642024-03-05 18:29:35106 days ago1709663375IN
0x749d8582...465f37046
0 ETH0.0085162596.17448408
Withdraw Tokens193702032024-03-05 16:37:11106 days ago1709656631IN
0x749d8582...465f37046
0 ETH0.01157978130.77115003
Withdraw Tokens193696552024-03-05 14:46:59106 days ago1709650019IN
0x749d8582...465f37046
0 ETH0.0087322798.61403965
Withdraw Tokens193686792024-03-05 11:30:59106 days ago1709638259IN
0x749d8582...465f37046
0 ETH0.0041755958.44077683
Withdraw Tokens193685312024-03-05 11:01:23106 days ago1709636483IN
0x749d8582...465f37046
0 ETH0.0046373864.90387229
Withdraw Tokens193685242024-03-05 10:59:59106 days ago1709636399IN
0x749d8582...465f37046
0 ETH0.0042134358.9704202
Withdraw Tokens193674912024-03-05 7:32:23106 days ago1709623943IN
0x749d8582...465f37046
0 ETH0.007049479.60926252
Withdraw Tokens193672242024-03-05 6:38:47106 days ago1709620727IN
0x749d8582...465f37046
0 ETH0.0055786563
Withdraw Tokens193655902024-03-05 1:09:47106 days ago1709600987IN
0x749d8582...465f37046
0 ETH0.0075247584.67905547
Withdraw Tokens193653822024-03-05 0:27:59106 days ago1709598479IN
0x749d8582...465f37046
0 ETH0.0072543881.63654948
View all transactions

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
193640652024-03-04 20:03:23107 days ago1709582603
0x749d8582...465f37046
30.44761082 ETH
193640652024-03-04 20:03:23107 days ago1709582603
0x749d8582...465f37046
29 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UniswapFirstBuy

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
File 1 of 3 : UniswapFirstBuy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

import "@openzeppelin/contracts/access/Ownable.sol";

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

interface ITaxToken {
    function addInitialLiquidity(uint256 tokenAmount) external payable;
    function transfer(address to, uint256 amount) external returns (bool);
    function approve(address spender, uint256 amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
    function transferOwnership(address newOwner) external;
}

contract UniswapFirstBuy is Ownable {
    uint256 public totalEthContributed;
    uint256 public totalTokensBought;

    uint256 public maxContribution = 0.5 ether;
    mapping(address => uint256) public ethContributions;

    ITaxToken public token;

    bool public isOpen = true;
    bool public isLiquidityAdded = false;

    IUniswapV2Router02 public immutable uniswapV2Router;

    event EthContributed(address addr, uint256 amount);

    constructor(address uniswapAddress)
    {
        uniswapV2Router = IUniswapV2Router02(
            uniswapAddress //Uniswap V2 Router
        );
    }

    function setTokenAddress(address addr) public onlyOwner {
        token = ITaxToken(addr);
    }

    function setMaxContribution(uint256 newMax) public onlyOwner {
        maxContribution = newMax;
    }

    function setIsOpen(bool _isOpen) public onlyOwner {
        isOpen = _isOpen;
    }

    function launchToken(uint256 tokenAmount) public payable onlyOwner {
        require(!isLiquidityAdded, "Already launched");
        require(msg.value > 0, "Must send ETH");

        isOpen = false;

        token.approve(address(token), tokenAmount);
        token.addInitialLiquidity{value: msg.value}(tokenAmount);

        if (totalEthContributed > 0)
            buyTokensWithEth(totalEthContributed);

        isLiquidityAdded = true;
    }

    receive() external payable {
        require(isOpen, "Contributions closed now");
        require(msg.value > 0, "Must send ETH");
        require(ethContributions[msg.sender] + msg.value <= maxContribution, "Contribution exceeds limit");

        ethContributions[msg.sender] += msg.value;
        totalEthContributed += msg.value;

        emit EthContributed(msg.sender, msg.value);
    }

    // Function to buy tokens with the ETH pool
    function buyTokensWithEth(uint256 ethAmount) internal {
        require(address(this).balance >= ethAmount, "Insufficient ETH balance");

        // Set up the path to swap ETH for tokens
        address[] memory path = new address[](2);
        path[0] = uniswapV2Router.WETH();
        path[1] = address(token);

        uint256 initialTokenBalance = token.balanceOf(address(this));

        // Make the swap
        uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: ethAmount}(
            0, // accept any number of Tokens
            path,
            address(this),
            block.timestamp
        );

        // Update the total tokens bought
        totalTokensBought = token.balanceOf(address(this)) - initialTokenBalance;
    }

    // Function for users to withdraw their tokens
    function withdrawTokens() public {
        require(isLiquidityAdded, "Liquidity not yet added");
        uint256 userEthContribution = ethContributions[msg.sender];
        require(userEthContribution > 0, "No ETH contribution");

        uint256 tokenAmount = calculateTokenAmount(msg.sender);
        ethContributions[msg.sender] = 0;
        token.transfer(msg.sender, tokenAmount);
    }

    // Calculate the amount of tokens a user can withdraw
    function calculateTokenAmount(address userAddy) public view returns (uint256) {
        if (totalEthContributed == 0)
            return 0;

        return (ethContributions[userAddy] * totalTokensBought) / totalEthContributed;
    }

    function getCurrentContribution() public view returns (uint256) {
        return ethContributions[msg.sender];
    }

    function setTokenOwner(address newOwner) public onlyOwner {
        token.transferOwnership(newOwner);
    }

    function emergencyWithdraw() public onlyOwner {
        payable(owner()).transfer(address(this).balance);
    }
}

File 2 of 3 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 3 of 3 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.4) (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }

    function _contextSuffixLength() internal view virtual returns (uint256) {
        return 0;
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "evmVersion": "paris",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"uniswapAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"EthContributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"address","name":"userAddy","type":"address"}],"name":"calculateTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ethContributions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentContribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isLiquidityAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"launchToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"maxContribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_isOpen","type":"bool"}],"name":"setIsOpen","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMax","type":"uint256"}],"name":"setMaxContribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"setTokenOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract ITaxToken","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalEthContributed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokensBought","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526706f05b59d3b200006003556005805461ffff60a01b1916600160a01b17905534801561003057600080fd5b5060405161108938038061108983398101604081905261004f916100b9565b61005833610069565b6001600160a01b03166080526100e9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b608051610f776101126000396000818161030201528181610ae00152610c260152610f776000f3fe6080604052600436106101235760003560e01c80638d8f2adb116100a0578063db2e21bc11610064578063db2e21bc146104a0578063e192d69a146104b5578063e730395a146104d5578063f2fde38b14610502578063fc0c546a1461052257600080fd5b80638d8f2adb1461041f5780638da5cb5b14610434578063b8623d5314610452578063baa9e53114610474578063cb2822531461048a57600080fd5b806326a4e8d2116100e757806326a4e8d21461039257806347535d7b146103b25780636a19197b146103d3578063715018a6146103e65780638d3d6576146103fb57600080fd5b806303ed9d21146102ae578063085a10cf146102d05780631694505e146102f057806318e02bd9146103415780631e17ba391461036157600080fd5b366102a957600554600160a01b900460ff166101865760405162461bcd60e51b815260206004820152601860248201527f436f6e747269627574696f6e7320636c6f736564206e6f77000000000000000060448201526064015b60405180910390fd5b600034116101c65760405162461bcd60e51b815260206004820152600d60248201526c09aeae6e840e6cadcc8408aa89609b1b604482015260640161017d565b600354336000908152600460205260409020546101e4903490610d90565b11156102325760405162461bcd60e51b815260206004820152601a60248201527f436f6e747269627574696f6e2065786365656473206c696d6974000000000000604482015260640161017d565b3360009081526004602052604081208054349290610251908490610d90565b92505081905550346001600082825461026a9190610d90565b9091555050604080513381523460208201527f3cf41260384eb7040a848733f591c8de1c73ab0c73cb7ffb4bef44c102ee6448910160405180910390a1005b600080fd5b3480156102ba57600080fd5b506102ce6102c9366004610da3565b610542565b005b3480156102dc57600080fd5b506102ce6102eb366004610dca565b61054f565b3480156102fc57600080fd5b506103247f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561034d57600080fd5b506102ce61035c366004610e03565b610575565b34801561036d57600080fd5b5060055461038290600160a81b900460ff1681565b6040519015158152602001610338565b34801561039e57600080fd5b506102ce6103ad366004610e03565b6105df565b3480156103be57600080fd5b5060055461038290600160a01b900460ff1681565b6102ce6103e1366004610da3565b610609565b3480156103f257600080fd5b506102ce6107ad565b34801561040757600080fd5b5061041160035481565b604051908152602001610338565b34801561042b57600080fd5b506102ce6107c1565b34801561044057600080fd5b506000546001600160a01b0316610324565b34801561045e57600080fd5b5033600090815260046020526040902054610411565b34801561048057600080fd5b5061041160025481565b34801561049657600080fd5b5061041160015481565b3480156104ac57600080fd5b506102ce61090b565b3480156104c157600080fd5b506104116104d0366004610e03565b610950565b3480156104e157600080fd5b506104116104f0366004610e03565b60046020526000908152604090205481565b34801561050e57600080fd5b506102ce61051d366004610e03565b61099d565b34801561052e57600080fd5b50600554610324906001600160a01b031681565b61054a610a13565b600355565b610557610a13565b60058054911515600160a01b0260ff60a01b19909216919091179055565b61057d610a13565b60055460405163f2fde38b60e01b81526001600160a01b0383811660048301529091169063f2fde38b90602401600060405180830381600087803b1580156105c457600080fd5b505af11580156105d8573d6000803e3d6000fd5b5050505050565b6105e7610a13565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b610611610a13565b600554600160a81b900460ff161561065e5760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481b185d5b98da195960821b604482015260640161017d565b6000341161069e5760405162461bcd60e51b815260206004820152600d60248201526c09aeae6e840e6cadcc8408aa89609b1b604482015260640161017d565b6005805460ff60a01b19811690915560405163095ea7b360e01b81526001600160a01b0390911660048201819052602482018390529063095ea7b3906044016020604051808303816000875af11580156106fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107209190610e20565b506005546040516320d1166160e11b8152600481018390526001600160a01b03909116906341a22cc29034906024016000604051808303818588803b15801561076857600080fd5b505af115801561077c573d6000803e3d6000fd5b50505050506000600154111561079757610797600154610a6d565b506005805460ff60a81b1916600160a81b179055565b6107b5610a13565b6107bf6000610d2a565b565b600554600160a81b900460ff1661081a5760405162461bcd60e51b815260206004820152601760248201527f4c6971756964697479206e6f7420796574206164646564000000000000000000604482015260640161017d565b336000908152600460205260409020548061086d5760405162461bcd60e51b815260206004820152601360248201527227379022aa241031b7b73a3934b13aba34b7b760691b604482015260640161017d565b600061087833610950565b33600081815260046020819052604080832092909255600554915163a9059cbb60e01b815290810192909252602482018390529192506001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156108e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109069190610e20565b505050565b610913610a13565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f1935050505015801561094d573d6000803e3d6000fd5b50565b600060015460000361096457506000919050565b6001546002546001600160a01b03841660009081526004602052604090205461098d9190610e3d565b6109979190610e54565b92915050565b6109a5610a13565b6001600160a01b038116610a0a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161017d565b61094d81610d2a565b6000546001600160a01b031633146107bf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161017d565b80471015610abd5760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e74204554482062616c616e63650000000000000000604482015260640161017d565b6040805160028082526060820183526000926020830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b609190610e76565b81600081518110610b7357610b73610e93565b6001600160a01b039283166020918202929092010152600554825191169082906001908110610ba457610ba4610e93565b6001600160a01b0392831660209182029290920101526005546040516370a0823160e01b815230600482015260009291909116906370a0823190602401602060405180830381865afa158015610bfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c229190610ea9565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b6f9de958460008530426040518663ffffffff1660e01b8152600401610c789493929190610ec2565b6000604051808303818588803b158015610c9157600080fd5b505af1158015610ca5573d6000803e3d6000fd5b50506005546040516370a0823160e01b81523060048201528594506001600160a01b0390911692506370a082319150602401602060405180830381865afa158015610cf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d189190610ea9565b610d229190610f2e565b600255505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561099757610997610d7a565b600060208284031215610db557600080fd5b5035919050565b801515811461094d57600080fd5b600060208284031215610ddc57600080fd5b8135610de781610dbc565b9392505050565b6001600160a01b038116811461094d57600080fd5b600060208284031215610e1557600080fd5b8135610de781610dee565b600060208284031215610e3257600080fd5b8151610de781610dbc565b808202811582820484141761099757610997610d7a565b600082610e7157634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610e8857600080fd5b8151610de781610dee565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610ebb57600080fd5b5051919050565b60006080820186835260206080602085015281875180845260a08601915060208901935060005b81811015610f0e5784516001600160a01b031683529383019391830191600101610ee9565b50506001600160a01b039690961660408501525050506060015292915050565b8181038181111561099757610997610d7a56fea264697066735822122069fb86900efa47901468e6fff59f4f7104c36c34310057b3c149df10ef79892264736f6c634300081800330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x6080604052600436106101235760003560e01c80638d8f2adb116100a0578063db2e21bc11610064578063db2e21bc146104a0578063e192d69a146104b5578063e730395a146104d5578063f2fde38b14610502578063fc0c546a1461052257600080fd5b80638d8f2adb1461041f5780638da5cb5b14610434578063b8623d5314610452578063baa9e53114610474578063cb2822531461048a57600080fd5b806326a4e8d2116100e757806326a4e8d21461039257806347535d7b146103b25780636a19197b146103d3578063715018a6146103e65780638d3d6576146103fb57600080fd5b806303ed9d21146102ae578063085a10cf146102d05780631694505e146102f057806318e02bd9146103415780631e17ba391461036157600080fd5b366102a957600554600160a01b900460ff166101865760405162461bcd60e51b815260206004820152601860248201527f436f6e747269627574696f6e7320636c6f736564206e6f77000000000000000060448201526064015b60405180910390fd5b600034116101c65760405162461bcd60e51b815260206004820152600d60248201526c09aeae6e840e6cadcc8408aa89609b1b604482015260640161017d565b600354336000908152600460205260409020546101e4903490610d90565b11156102325760405162461bcd60e51b815260206004820152601a60248201527f436f6e747269627574696f6e2065786365656473206c696d6974000000000000604482015260640161017d565b3360009081526004602052604081208054349290610251908490610d90565b92505081905550346001600082825461026a9190610d90565b9091555050604080513381523460208201527f3cf41260384eb7040a848733f591c8de1c73ab0c73cb7ffb4bef44c102ee6448910160405180910390a1005b600080fd5b3480156102ba57600080fd5b506102ce6102c9366004610da3565b610542565b005b3480156102dc57600080fd5b506102ce6102eb366004610dca565b61054f565b3480156102fc57600080fd5b506103247f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561034d57600080fd5b506102ce61035c366004610e03565b610575565b34801561036d57600080fd5b5060055461038290600160a81b900460ff1681565b6040519015158152602001610338565b34801561039e57600080fd5b506102ce6103ad366004610e03565b6105df565b3480156103be57600080fd5b5060055461038290600160a01b900460ff1681565b6102ce6103e1366004610da3565b610609565b3480156103f257600080fd5b506102ce6107ad565b34801561040757600080fd5b5061041160035481565b604051908152602001610338565b34801561042b57600080fd5b506102ce6107c1565b34801561044057600080fd5b506000546001600160a01b0316610324565b34801561045e57600080fd5b5033600090815260046020526040902054610411565b34801561048057600080fd5b5061041160025481565b34801561049657600080fd5b5061041160015481565b3480156104ac57600080fd5b506102ce61090b565b3480156104c157600080fd5b506104116104d0366004610e03565b610950565b3480156104e157600080fd5b506104116104f0366004610e03565b60046020526000908152604090205481565b34801561050e57600080fd5b506102ce61051d366004610e03565b61099d565b34801561052e57600080fd5b50600554610324906001600160a01b031681565b61054a610a13565b600355565b610557610a13565b60058054911515600160a01b0260ff60a01b19909216919091179055565b61057d610a13565b60055460405163f2fde38b60e01b81526001600160a01b0383811660048301529091169063f2fde38b90602401600060405180830381600087803b1580156105c457600080fd5b505af11580156105d8573d6000803e3d6000fd5b5050505050565b6105e7610a13565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b610611610a13565b600554600160a81b900460ff161561065e5760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481b185d5b98da195960821b604482015260640161017d565b6000341161069e5760405162461bcd60e51b815260206004820152600d60248201526c09aeae6e840e6cadcc8408aa89609b1b604482015260640161017d565b6005805460ff60a01b19811690915560405163095ea7b360e01b81526001600160a01b0390911660048201819052602482018390529063095ea7b3906044016020604051808303816000875af11580156106fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107209190610e20565b506005546040516320d1166160e11b8152600481018390526001600160a01b03909116906341a22cc29034906024016000604051808303818588803b15801561076857600080fd5b505af115801561077c573d6000803e3d6000fd5b50505050506000600154111561079757610797600154610a6d565b506005805460ff60a81b1916600160a81b179055565b6107b5610a13565b6107bf6000610d2a565b565b600554600160a81b900460ff1661081a5760405162461bcd60e51b815260206004820152601760248201527f4c6971756964697479206e6f7420796574206164646564000000000000000000604482015260640161017d565b336000908152600460205260409020548061086d5760405162461bcd60e51b815260206004820152601360248201527227379022aa241031b7b73a3934b13aba34b7b760691b604482015260640161017d565b600061087833610950565b33600081815260046020819052604080832092909255600554915163a9059cbb60e01b815290810192909252602482018390529192506001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156108e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109069190610e20565b505050565b610913610a13565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f1935050505015801561094d573d6000803e3d6000fd5b50565b600060015460000361096457506000919050565b6001546002546001600160a01b03841660009081526004602052604090205461098d9190610e3d565b6109979190610e54565b92915050565b6109a5610a13565b6001600160a01b038116610a0a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161017d565b61094d81610d2a565b6000546001600160a01b031633146107bf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161017d565b80471015610abd5760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e74204554482062616c616e63650000000000000000604482015260640161017d565b6040805160028082526060820183526000926020830190803683370190505090507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b609190610e76565b81600081518110610b7357610b73610e93565b6001600160a01b039283166020918202929092010152600554825191169082906001908110610ba457610ba4610e93565b6001600160a01b0392831660209182029290920101526005546040516370a0823160e01b815230600482015260009291909116906370a0823190602401602060405180830381865afa158015610bfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c229190610ea9565b90507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663b6f9de958460008530426040518663ffffffff1660e01b8152600401610c789493929190610ec2565b6000604051808303818588803b158015610c9157600080fd5b505af1158015610ca5573d6000803e3d6000fd5b50506005546040516370a0823160e01b81523060048201528594506001600160a01b0390911692506370a082319150602401602060405180830381865afa158015610cf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d189190610ea9565b610d229190610f2e565b600255505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561099757610997610d7a565b600060208284031215610db557600080fd5b5035919050565b801515811461094d57600080fd5b600060208284031215610ddc57600080fd5b8135610de781610dbc565b9392505050565b6001600160a01b038116811461094d57600080fd5b600060208284031215610e1557600080fd5b8135610de781610dee565b600060208284031215610e3257600080fd5b8151610de781610dbc565b808202811582820484141761099757610997610d7a565b600082610e7157634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610e8857600080fd5b8151610de781610dee565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610ebb57600080fd5b5051919050565b60006080820186835260206080602085015281875180845260a08601915060208901935060005b81811015610f0e5784516001600160a01b031683529383019391830191600101610ee9565b50506001600160a01b039690961660408501525050506060015292915050565b8181038181111561099757610997610d7a56fea264697066735822122069fb86900efa47901468e6fff59f4f7104c36c34310057b3c149df10ef79892264736f6c63430008180033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : uniswapAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.