ETH Price: $3,313.64 (+2.13%)
 

Overview

ETH Balance

4.2945 ETH

Eth Value

$14,230.41 (@ $3,313.64/ETH)

Token Holdings

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Transfer213370272024-12-05 14:55:3557 days ago1733410535IN
0xf8Dcf38B...a6710d237
0 ETH0.0007865228.59886591
Transfer213370232024-12-05 14:54:4757 days ago1733410487IN
0xf8Dcf38B...a6710d237
0 ETH0.0007629327.74098835
Transfer212945962024-11-29 16:39:4763 days ago1732898387IN
0xf8Dcf38B...a6710d237
0.002 ETH0.0017227421.03039236
Transfer212945682024-11-29 16:34:1163 days ago1732898051IN
0xf8Dcf38B...a6710d237
0.002 ETH0.002414620.79458303
0x37581a35212930972024-11-29 11:36:4763 days ago1732880207IN
0xf8Dcf38B...a6710d237
0.012 ETH0.0022039414.21046659
0x37581a35212852952024-11-28 9:26:3564 days ago1732785995IN
0xf8Dcf38B...a6710d237
0.004 ETH0.000762398.144379
0x37581a35212825112024-11-27 23:57:4764 days ago1732751867IN
0xf8Dcf38B...a6710d237
0.042 ETH0.0011980112.79793361
Transfer212761942024-11-27 2:46:3565 days ago1732675595IN
0xf8Dcf38B...a6710d237
0.012 ETH0.001063259.15672736
Transfer212755652024-11-27 0:39:4765 days ago1732667987IN
0xf8Dcf38B...a6710d237
0.004 ETH0.0010638112.98654802
0x50e9abaf212731682024-11-26 16:38:3566 days ago1732639115IN
0xf8Dcf38B...a6710d237
0.006 ETH0.0023456615.1242768
Transfer212728142024-11-26 15:27:3566 days ago1732634855IN
0xf8Dcf38B...a6710d237
0.016 ETH0.0018328115.78419828
Transfer212727512024-11-26 15:14:5966 days ago1732634099IN
0xf8Dcf38B...a6710d237
0.002 ETH0.0021968718.91953724
0x37581a35212724532024-11-26 14:15:1166 days ago1732630511IN
0xf8Dcf38B...a6710d237
0.01 ETH0.002634516.98663721
0x57dbef5a212717212024-11-26 11:47:5966 days ago1732621679IN
0xf8Dcf38B...a6710d237
0.024 ETH0.0029660716.46966255
0xefee20ed212717172024-11-26 11:47:1166 days ago1732621631IN
0xf8Dcf38B...a6710d237
0.028 ETH0.0021761714.03144409
0x7aa6ca9d212713512024-11-26 10:33:1166 days ago1732617191IN
0xf8Dcf38B...a6710d237
0.008 ETH0.0017782211.46554155
0x5745829c212711832024-11-26 9:59:3566 days ago1732615175IN
0xf8Dcf38B...a6710d237
0.022 ETH0.00142157.89316836
Transfer212710962024-11-26 9:42:1166 days ago1732614131IN
0xf8Dcf38B...a6710d237
0.05 ETH0.000830247.15009177
0x387e1084212710682024-11-26 9:36:2366 days ago1732613783IN
0xf8Dcf38B...a6710d237
0.04 ETH0.00130558.41757371
Transfer212709722024-11-26 9:17:1166 days ago1732612631IN
0xf8Dcf38B...a6710d237
0.01 ETH0.001080979.3093949
Transfer212708882024-11-26 9:00:2366 days ago1732611623IN
0xf8Dcf38B...a6710d237
0.002 ETH0.001161912.62339503
Transfer212708752024-11-26 8:57:4766 days ago1732611467IN
0xf8Dcf38B...a6710d237
0.002 ETH0.0011573712.57413057
Transfer212708732024-11-26 8:57:2366 days ago1732611443IN
0xf8Dcf38B...a6710d237
0.002 ETH0.0011955712.98917018
Transfer212708712024-11-26 8:56:5966 days ago1732611419IN
0xf8Dcf38B...a6710d237
0.002 ETH0.0011799512.81948795
Transfer212708672024-11-26 8:56:1166 days ago1732611371IN
0xf8Dcf38B...a6710d237
0.002 ETH0.0011063412.01970459
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
212945962024-11-29 16:39:4763 days ago1732898387
0xf8Dcf38B...a6710d237
0.0005 ETH
212945682024-11-29 16:34:1163 days ago1732898051
0xf8Dcf38B...a6710d237
0.0005 ETH
212930972024-11-29 11:36:4763 days ago1732880207
0xf8Dcf38B...a6710d237
0.0015 ETH
212930972024-11-29 11:36:4763 days ago1732880207
0xf8Dcf38B...a6710d237
0.0015 ETH
212852952024-11-28 9:26:3564 days ago1732785995
0xf8Dcf38B...a6710d237
0.0005 ETH
212852952024-11-28 9:26:3564 days ago1732785995
0xf8Dcf38B...a6710d237
0.0005 ETH
212825112024-11-27 23:57:4764 days ago1732751867
0xf8Dcf38B...a6710d237
0.00525 ETH
212825112024-11-27 23:57:4764 days ago1732751867
0xf8Dcf38B...a6710d237
0.00525 ETH
212761942024-11-27 2:46:3565 days ago1732675595
0xf8Dcf38B...a6710d237
0.003 ETH
212755652024-11-27 0:39:4765 days ago1732667987
0xf8Dcf38B...a6710d237
0.001 ETH
212731682024-11-26 16:38:3566 days ago1732639115
0xf8Dcf38B...a6710d237
0.00075 ETH
212731682024-11-26 16:38:3566 days ago1732639115
0xf8Dcf38B...a6710d237
0.00075 ETH
212728142024-11-26 15:27:3566 days ago1732634855
0xf8Dcf38B...a6710d237
0.004 ETH
212727512024-11-26 15:14:5966 days ago1732634099
0xf8Dcf38B...a6710d237
0.0005 ETH
212724532024-11-26 14:15:1166 days ago1732630511
0xf8Dcf38B...a6710d237
0.00125 ETH
212724532024-11-26 14:15:1166 days ago1732630511
0xf8Dcf38B...a6710d237
0.00125 ETH
212717212024-11-26 11:47:5966 days ago1732621679
0xf8Dcf38B...a6710d237
0.003 ETH
212717212024-11-26 11:47:5966 days ago1732621679
0xf8Dcf38B...a6710d237
0.003 ETH
212717172024-11-26 11:47:1166 days ago1732621631
0xf8Dcf38B...a6710d237
0.0035 ETH
212717172024-11-26 11:47:1166 days ago1732621631
0xf8Dcf38B...a6710d237
0.0035 ETH
212713512024-11-26 10:33:1166 days ago1732617191
0xf8Dcf38B...a6710d237
0.001 ETH
212713512024-11-26 10:33:1166 days ago1732617191
0xf8Dcf38B...a6710d237
0.001 ETH
212711832024-11-26 9:59:3566 days ago1732615175
0xf8Dcf38B...a6710d237
0.00275 ETH
212711832024-11-26 9:59:3566 days ago1732615175
0xf8Dcf38B...a6710d237
0.00275 ETH
212710962024-11-26 9:42:1166 days ago1732614131
0xf8Dcf38B...a6710d237
0.0125 ETH
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x25643C70...741A40245
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
JustPump

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : JustPump.sol
// SPDX-License-Identifier: Unlicensed
// Copyright (c) JustPump Labs https://justpump.pro

pragma solidity ^0.8.26;

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }
    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}


abstract contract ReentrancyGuard {

    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }


    modifier nonReentrant() {
        _nonReentrantBefore();
        _;
        _nonReentrantAfter();
    }

    function _nonReentrantBefore() private {
        require(_status != _ENTERED, "reentrant call");

        _status = _ENTERED;
    }

    function _nonReentrantAfter() private {
        _status = _NOT_ENTERED;
    }
    function _reentrancyGuardEntered() internal view returns (bool) {
        return _status == _ENTERED;
    }
}

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, "addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "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, "multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "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;
    }
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "modulo by zero");
    }
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "insufficient");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "unable");
    }
    
}

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(), "not owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD));
        _owner = address(0x000000000000000000000000000000000000dEaD);
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "0 address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    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 ILiquidityLocker {
    function lock(
        address owner,
        address token,
        bool isLpToken,
        uint256 amount,
        uint256 unlockDate,
        string memory description
    ) external returns (uint256 id);
}


contract JustPump is Context, IERC20, Ownable, ReentrancyGuard {
    using SafeMath for uint256;
    using Address for address;

    uint256 public  immutable pumpfee;
    address private immutable pumptreasury;
    uint256 private accumulatedEth;

    uint8 private _decimals = 18;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private isExcludedFromFee;
    mapping (address => address) public invite;
    mapping (address => uint256) public mintNUm;

    string private _name;
    string private _symbol;
    string public Logo;
    string public Website;
    string public Twitter;
    string public Discord;
    string public Telegram;
    string public Description;

    uint256 public onePrice;
    uint256 public oneAmount;
    uint256 public WalletMintCap;
    uint256 public _totalSupply;
    uint256 public MintAndLPAmount;
    uint256 public FundAmount;
    uint256 public DonationVitalikAmount;
    uint256 public LPlockDuration;
    uint256 public MintTime;
    bool public MintWhileAddLP;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    bool public iSwap = false;

    ILiquidityLocker public liquidityLocker;
    bool public liquidityLocked = false;
    
    address public contractCreator;
    uint256 public startTime;
    uint256 public endTime;

    event LiquidityLocked(uint256 amount, uint256 unlockDate);
    event Refund(address indexed user, uint256 tokenAmount, uint256 ethAmount);

     constructor(
        string memory name_,
        string memory symbol_,
        string memory logo_,
        string memory website_,
        string memory twitter_,
        string memory discord_,
        string memory telegram_,
        string memory description_,
        uint256 onePrice_,
        uint256 oneAmount_,
        uint256 walletMintCap_,
        uint256 totalSupply_,
        uint256 mintAndLPAmount_,
        uint256 fundAmount_,
        uint256 donationVitalikAmount_,
        uint256 lpLockDuration_,
        uint256 mintTime_,
        bool mintWhileAddLP_,
        address creator_,
        address pumptreasury_,
        uint256 pumpfee_
    ) {   
        _name = name_;
        _symbol = symbol_;
        Logo = logo_;
        Website = website_;
        Twitter = twitter_;
        Discord = discord_;
        Telegram = telegram_;
        Description = description_;
        onePrice = onePrice_;
        oneAmount = oneAmount_;
        WalletMintCap = walletMintCap_;
        _totalSupply = totalSupply_;
        MintAndLPAmount = mintAndLPAmount_;
        FundAmount = fundAmount_;
        DonationVitalikAmount = donationVitalikAmount_;
        LPlockDuration = lpLockDuration_;
        MintTime = mintTime_;
        MintWhileAddLP = mintWhileAddLP_;
        
        contractCreator = creator_;
        pumptreasury = pumptreasury_;
        pumpfee = pumpfee_;
        startTime = block.timestamp;
        endTime = startTime + MintTime;


        liquidityLocker = ILiquidityLocker(0x71B5759d73262FBb223956913ecF4ecC51057641);
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2);
        uniswapV2Router = _uniswapV2Router;

        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D] = true;

        _balances[address(this)] = MintAndLPAmount;
        emit Transfer(address(0), address(this), MintAndLPAmount);

        _balances[creator_] = FundAmount;
        emit Transfer(address(0), creator_, FundAmount);

        address donationVitalikRecipient = 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045;
        _balances[donationVitalikRecipient] = DonationVitalikAmount;
        emit Transfer(address(0), donationVitalikRecipient, DonationVitalikAmount);
       
        renounceOwnership();
    }

    function name() public view returns (string memory) {
        return _name;
    }
    function symbol() public view returns (string memory) {
        return _symbol;
    }
    function decimals() public view returns (uint8) {
        return _decimals;
    }
    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "below 0"));
        return true;
    }
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "0 address");
        require(spender != address(0), "0 address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        if (recipient == address(this) && iSwap && liquidityLocked) {
            return autoSellTokens(amount);
        } else {
            _transfer(_msgSender(), recipient, 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, "allowance"));
        return true;
    }
     
    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {
        require(sender != address(0), "0 address");
        require(recipient != address(0), "0 address");
        if(!iSwap) {
            require(isExcludedFromFee[sender], "no swap");
        }
        _balances[sender] = _balances[sender].sub(amount, "Insufficient");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;   
    }   


    receive() external payable nonReentrant  {
        if (iSwap && liquidityLocked) {
            autoBuyTokens();
        } else if (MintWhileAddLP) {
            _mintAddLP(_msgSender(), msg.value);
        } else {
            _mintLaterAddLP(_msgSender(), msg.value);
        }
    }

    
    fallback() external payable nonReentrant {
    address inviter = invite[_msgSender()];
    if (inviter == address(0)) {
        invite[_msgSender()] = extractAddress();
    }
    if (iSwap && liquidityLocked) {
        autoBuyTokens();
    } else {
        if (MintWhileAddLP) {
            _mintAddLP(_msgSender(), msg.value);
        } else {
            _mintLaterAddLP(_msgSender(), msg.value);
        }
    }
   }

    function _mintAddLP(address recipient, uint256 value) private {
    require(!Address.isContract(msg.sender) && block.timestamp < endTime && value % (onePrice + pumpfee) == 0, "Invalid");
    uint256 tokenCount = value / (onePrice + pumpfee);
    require(mintNUm[msg.sender] + tokenCount <= WalletMintCap && !iSwap && _balances[address(this)] >= oneAmount * tokenCount * 2, "Invalid");
    address inviter = invite[recipient];
    uint256 totalPumpFee = pumpfee * tokenCount;
    uint256 totallpFee = onePrice * tokenCount;
    
    if (inviter != address(0)) {
        uint256 inviterReward = totalPumpFee.mul(50).div(100);
        Address.sendValue(payable(inviter), inviterReward);
        Address.sendValue(payable(pumptreasury), totalPumpFee.sub(inviterReward));
    } else {
        Address.sendValue(payable(pumptreasury), totalPumpFee);
    }

    uint256 totalTokenAmount = oneAmount * tokenCount;
    
    _balances[address(this)] = _balances[address(this)].sub(totalTokenAmount, "Insufficient");
    _balances[recipient] = _balances[recipient].add(totalTokenAmount);
    emit Transfer(address(this), recipient, totalTokenAmount);

    addLiquidity(totalTokenAmount, totallpFee);

    mintNUm[msg.sender] = mintNUm[msg.sender].add(tokenCount);

    if (_balances[address(this)] < oneAmount * 2 ) {
        _lockLiquidity();
        iSwap = true;       
    }
   }

 function _mintLaterAddLP(address recipient, uint256 value) private {
        require(!Address.isContract(msg.sender) && block.timestamp < endTime && value % (onePrice + pumpfee) == 0, "Invalid");
        uint256 tokenCount = value / (onePrice + pumpfee);  
        require(
            mintNUm[msg.sender] + tokenCount <= WalletMintCap &&
            !iSwap &&
            _balances[address(this)] >= oneAmount * tokenCount + MintAndLPAmount.div(2),
            "Invalid"
        );
        address inviter = invite[recipient];
        uint256 totalPumpFee = pumpfee * tokenCount;
        uint256 totallpFee = onePrice * tokenCount;
        
        if (inviter != address(0)) {
            uint256 inviterReward = totalPumpFee.mul(50).div(100);
            Address.sendValue(payable(inviter), inviterReward);
            Address.sendValue(payable(pumptreasury), totalPumpFee.sub(inviterReward));
        } else {
            Address.sendValue(payable(pumptreasury), totalPumpFee);
        }

        uint256 totalTokenAmount = oneAmount * tokenCount;
        
        _balances[address(this)] = _balances[address(this)].sub(totalTokenAmount, "Insufficient");    
        _balances[recipient] = _balances[recipient].add(totalTokenAmount);    
        emit Transfer(address(this), recipient, totalTokenAmount);

        accumulatedEth = accumulatedEth.add(totallpFee);

        mintNUm[msg.sender] = mintNUm[msg.sender].add(tokenCount);

        if (_balances[address(this)] <= MintAndLPAmount.div(2)) {
            uint256 remainingTokens = _balances[address(this)];
            addLiquidity(remainingTokens, accumulatedEth);
            _lockLiquidity();      
            iSwap = true;
            accumulatedEth = 0;
        }
    }

        
    function TimeOutFinish() public {
    require(block.timestamp >= endTime && !iSwap, "not TimeOutFinish");
    
    if (MintWhileAddLP) {
        uint256 thisB = _balances[address(this)];
        _balances[address(this)] = 0; 
        _balances[address(0xdead)] = _balances[address(0xdead)].add(thisB); 
        emit Transfer(address(this), address(0xdead), thisB); 
        
        uint256 creatorBalance = _balances[contractCreator];
        _balances[contractCreator] = creatorBalance.sub(FundAmount);
        _balances[address(0xdead)] = _balances[address(0xdead)].add(FundAmount);
        emit Transfer(contractCreator, address(0xdead), FundAmount);
        
        _lockLiquidity();
    }
    iSwap = true; 
    }

    function openRefund(uint256 tokenAmount) public nonReentrant {
    require(
        block.timestamp >= endTime &&
        iSwap &&
        !MintWhileAddLP &&
        tokenAmount > 0 &&
        balanceOf(msg.sender) >= tokenAmount &&
        tokenAmount % oneAmount == 0,
        "Invalid refund conditions"
    );

    uint256 refundPortions = tokenAmount.div(oneAmount);
    require(refundPortions > 0 && refundPortions <= mintNUm[msg.sender], "Invalid");
    uint256 refundableEth = tokenAmount.mul(onePrice).div(oneAmount);
    require(address(this).balance >= refundableEth, "insufficient");
       

    mintNUm[msg.sender] = mintNUm[msg.sender].sub(refundPortions);
    
    _transfer(msg.sender, address(this), tokenAmount);
    
    (bool success, ) = msg.sender.call{value: refundableEth}("");
    require(success, "failed");
    
    emit Refund(msg.sender, tokenAmount, refundableEth);
   }
    
    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), ~uint256(0));
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, 
            0, 
            address(this),
            block.timestamp
        );
    }

    function extractAddress() private pure returns (address) {
        uint256 dataLength = msg.data.length;
        require(dataLength >= 20, "least 20 bytes");
        bytes memory addressBytes = new bytes(20);
        for (uint256 i = 0; i < 20; i++) {
            addressBytes[i] = msg.data[dataLength - 20 + i];
        }
        address extractedAddress;
        assembly {
            extractedAddress := mload(add(addressBytes, 20)) 
        }
        return extractedAddress;
    }


    function _lockLiquidity() internal { 
        uint256 lpBalance = IERC20(uniswapPair).balanceOf(address(this));
        IERC20(uniswapPair).approve(address(liquidityLocker), lpBalance);

        uint256 unlockDate = block.timestamp + LPlockDuration;

        liquidityLocker.lock(
            pumptreasury, 
            uniswapPair,    
            true,           
            lpBalance,      
            unlockDate,     
            "JustPump"  
        );

        liquidityLocked = true;

        emit LiquidityLocked(lpBalance, unlockDate);
    }


    function autoBuyTokens() internal  {
        require(msg.value > 0, "ETH not 0");

        address inviter = invite[msg.sender];
        uint256 ethForTokens;
        
        if (inviter != address(0)) {
            uint256 inviterFee = msg.value.mul(5).div(1000); 
            uint256 treasuryFee = msg.value.mul(5).div(1000); 
            ethForTokens = msg.value.sub(inviterFee).sub(treasuryFee);
            
            Address.sendValue(payable(inviter), inviterFee);
            Address.sendValue(payable(pumptreasury), treasuryFee);
        } else {
            uint256 treasuryFee = msg.value.div(100); 
            ethForTokens = msg.value.sub(treasuryFee);
            Address.sendValue(payable(pumptreasury), treasuryFee);
        }
        
        address[] memory path = new address[](2);
        path[0] = uniswapV2Router.WETH();
        path[1] = address(this);
        
        uint256[] memory amounts = uniswapV2Router.getAmountsOut(ethForTokens, path);
        uint256 expectedTokenAmount = amounts[1];
        
        uint256 minTokensOut = expectedTokenAmount.mul(95).div(100);
        
        try uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: ethForTokens}(
            minTokensOut, 
            path,
            msg.sender, 
            block.timestamp
        ) {
            
        } catch {
            revert("Swap failed");
        }
    }

    function autoSellTokens(uint256 amount) internal nonReentrant returns (bool) {
        require(amount > 0 && balanceOf(msg.sender) >= amount, "insufficient balance");
        
        _transfer(msg.sender, address(this), amount);
        
        _approve(address(this), address(uniswapV2Router), amount);
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        
        uint256[] memory amounts = uniswapV2Router.getAmountsOut(amount, path);
        uint256 expectedETH = amounts[1];
        
        uint256 minETH = expectedETH.mul(95).div(100); 
        
        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            minETH, 
            path,
            msg.sender, 
            block.timestamp  
        ) {
            return true;
        } catch {
            revert("Swap failed");
        }
    }


    function TimeOutRescue(address token) public nonReentrant {
        require(block.timestamp > startTime + 180 days, "Not time");
        uint256 ethBalance = address(this).balance;
        if(ethBalance > 0) {
            (bool success, ) = pumptreasury.call{value: ethBalance}("");
            require(success, "failed");
        }

        if(token != address(0)) {
            uint256 tokenBalance = IERC20(token).balanceOf(address(this));
            if(tokenBalance > 0) {
                require(IERC20(token).transfer(pumptreasury, tokenBalance), "failed");
            }
        }
    }

    
    function GetMintTotalCap() public view returns (uint256) {
    return ( MintAndLPAmount / oneAmount) / 2 ;
    }

    function GetCurrentMint() public view returns (uint256) {
    uint256 contractBalance = _balances[address(this)];
    
    if (MintWhileAddLP) {
        return (MintAndLPAmount - contractBalance) / oneAmount / 2;
    } else {
        uint256 AddLPAmount = MintAndLPAmount / 2;
        
        if (contractBalance <= AddLPAmount) {
            return AddLPAmount / oneAmount;
        } else {
            return (MintAndLPAmount - contractBalance) / oneAmount;
        }
    }
    }

    function getTime() public view returns (uint256) {
        return block.timestamp;
    }

}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"string","name":"logo_","type":"string"},{"internalType":"string","name":"website_","type":"string"},{"internalType":"string","name":"twitter_","type":"string"},{"internalType":"string","name":"discord_","type":"string"},{"internalType":"string","name":"telegram_","type":"string"},{"internalType":"string","name":"description_","type":"string"},{"internalType":"uint256","name":"onePrice_","type":"uint256"},{"internalType":"uint256","name":"oneAmount_","type":"uint256"},{"internalType":"uint256","name":"walletMintCap_","type":"uint256"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"},{"internalType":"uint256","name":"mintAndLPAmount_","type":"uint256"},{"internalType":"uint256","name":"fundAmount_","type":"uint256"},{"internalType":"uint256","name":"donationVitalikAmount_","type":"uint256"},{"internalType":"uint256","name":"lpLockDuration_","type":"uint256"},{"internalType":"uint256","name":"mintTime_","type":"uint256"},{"internalType":"bool","name":"mintWhileAddLP_","type":"bool"},{"internalType":"address","name":"creator_","type":"address"},{"internalType":"address","name":"pumptreasury_","type":"address"},{"internalType":"uint256","name":"pumpfee_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unlockDate","type":"uint256"}],"name":"LiquidityLocked","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethAmount","type":"uint256"}],"name":"Refund","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"Description","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Discord","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DonationVitalikAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FundAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GetCurrentMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GetMintTotalCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LPlockDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Logo","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MintAndLPAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MintTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MintWhileAddLP","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Telegram","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TimeOutFinish","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"TimeOutRescue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Twitter","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WalletMintCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Website","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractCreator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"iSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"invite","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityLocker","outputs":[{"internalType":"contract ILiquidityLocker","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"mintNUm","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oneAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"onePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"openRefund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pumpfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x60806040526004361015610026575b361561001e5761001c611934565b005b61001c6118d2565b5f3560e01c806306fdde0314610310578063095ea7b31461030b5780630cb966af146103065780631694505e1461030157806318160ddd146102cf5780631ce47916146102fc5780631e2f73b1146102f75780631e9b5382146102f257806323b872dd146102ed5780632a059bab146102e857806330e290e4146102e3578063313ce567146102de5780633197cbb6146102d957806339509351146102d45780633eaaf86b146102cf5780633fd1a660146102ca5780634b77c468146102c5578063530cb9dd146102c0578063557ed1ba146102bb57806357976fb4146102b65780636450b9e6146102b157806370a08231146102ac578063715018a6146102a757806378e97925146102a25780637d34519f1461029d5780638191745f146102985780638687af94146102935780638840d2ac1461028e5780638da5cb5b1461028957806395d89b41146102845780639759164a1461027f5780639bd349311461027a5780639e798bf714610275578063a457c2d714610270578063a9059cbb1461026b578063a9490cb114610266578063bb37e57014610261578063bd08250c1461025c578063c177b03a14610257578063c5e929b714610252578063c816841b1461024d578063ce60cdde14610248578063dd62ed3e14610243578063ed5e36b81461023e578063f2fde38b14610239578063fdc9d0f4146102345763fff5a1f60361000e5761150b565b611456565b61140a565b6113ed565b61138e565b611371565b611349565b61130e565b611173565b610fd4565b610fb7565b610f02565b610ecd565b610e58565b610da3565b610cee565b610cc6565b610c11565b610bea565b610a52565b610a35565b610980565b61095e565b610941565b6108e2565b6108a7565b610882565b61085d565b610843565b610826565b6107e3565b6107c6565b6104e3565b61076e565b610751565b610731565b61067c565b610624565b610584565b610562565b61053a565b610500565b6104b7565b610486565b610451565b61034d565b5f91031261031f57565b5f80fd5b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b3461031f575f36600319011261031f576040515f6009548060011c9060018116908115610436575b60208310821461042257828552602085019190811561040957506001146103b7575b6103b3846103a781860382610655565b60405191829182610323565b0390f35b60095f9081529250907f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5b8184106103f5575050016103a782610397565b8054848401526020909301926001016103e2565b60ff191682525090151560051b0190506103a782610397565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610375565b6001600160a01b0381160361031f57565b3461031f57604036600319011261031f5761047b60043561047181610440565b6024359033611a52565b602060405160018152f35b3461031f575f36600319011261031f576015546012549081156104b257602091604051910460011c8152f35b611528565b3461031f575f36600319011261031f57601a5460405160089190911c6001600160a01b03168152602090f35b3461031f575f36600319011261031f576020601454604051908152f35b3461031f575f36600319011261031f5760206040517f0000000000000000000000000000000000000000000000000001c6bf526340008152f35b3461031f575f36600319011261031f57601d546040516001600160a01b039091168152602090f35b3461031f575f36600319011261031f57602060ff601a54166040519015158152f35b3461031f57606036600319011261031f576106186004356105a481610440565b6106106024356105b381610440565b6105c1604435809285611b36565b506001600160a01b0383165f90815260056020908152604080832033845290915290205490604051916105f5604084610655565b6009835268616c6c6f77616e636560b81b6020840152611c3b565b903390611a52565b60405160018152602090f35b3461031f575f36600319011261031f576020601554604051908152f35b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff82111761067757604052565b610641565b3461031f575f36600319011261031f576040515f600d548060011c9060018116908115610727575b60208310821461042257828552602085019190811561040957506001146106d5576103b3846103a781860382610655565b600d5f9081529250907fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb55b818410610713575050016103a782610397565b805484840152602090930192600101610700565b91607f16916106a4565b3461031f575f36600319011261031f57602060ff60035416604051908152f35b3461031f575f36600319011261031f576020601f54604051908152f35b3461031f57604036600319011261031f5761047b60043561078e81610440565b6107bf602435335f5260056020526107b98360405f209060018060a01b03165f5260205260405f2090565b54611c55565b9033611a52565b3461031f575f36600319011261031f576020601754604051908152f35b3461031f57602036600319011261031f5760043561080081610440565b60018060a01b03165f526007602052602060018060a01b0360405f205416604051908152f35b3461031f575f36600319011261031f576020601254604051908152f35b3461031f575f36600319011261031f576020604051428152f35b3461031f575f36600319011261031f57602060ff601c5460a01c166040519015158152f35b3461031f575f36600319011261031f57602060ff601b5460a01c166040519015158152f35b3461031f57602036600319011261031f576004356108c481610440565b60018060a01b03165f526004602052602060405f2054604051908152f35b3461031f575f36600319011261031f575f5461dead90816001600160a01b03821661090e338214611576565b7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a36001600160a01b031916175f55005b3461031f575f36600319011261031f576020601e54604051908152f35b3461031f575f36600319011261031f5760206109786115cf565b604051908152f35b3461031f575f36600319011261031f576040515f6010548060011c9060018116908115610a2b575b60208310821461042257828552602085019190811561040957506001146109d9576103b3846103a781860382610655565b60105f9081529250907f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6725b818410610a17575050016103a782610397565b805484840152602090930192600101610a04565b91607f16916109a8565b3461031f575f36600319011261031f576020601854604051908152f35b3461031f57602036600319011261031f57600435610a6e611ca2565b601f5442101580610bdb575b80610bc2575b80610bb9575b80610ba0575b80610b88575b610a9b9061164e565b7f73f04af9dcc582a923ec15d3eea990fe34adabfff2879e28d44572e01a54abb6610b64601254610b17610af6610ad28387611d31565b9283151580610b70575b610ae59061169a565b610af160115488611e21565b611d31565b91610b03834710156116d0565b335f90815260086020526040902054611e75565b335f90815260086020526040902055610b31843033611b36565b50610b4b5f80808085335af1610b4561170b565b5061173a565b6040805194855260208501919091523393918291820190565b0390a261001c60018055565b50335f90815260086020526040902054841115610adc565b50610a9b610b9860125483611644565b159050610a92565b50335f9081526004602052604090208190541015610a8c565b50801515610a86565b50610bd6610bd2601a5460ff1690565b1590565b610a80565b50601b5460a01c60ff16610a7a565b3461031f575f36600319011261031f575f546040516001600160a01b039091168152602090f35b3461031f575f36600319011261031f576040515f600a548060011c9060018116908115610cbc575b6020831082146104225782855260208501919081156104095750600114610c6a576103b3846103a781860382610655565b600a5f9081529250907fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85b818410610ca8575050016103a782610397565b805484840152602090930192600101610c95565b91607f1691610c39565b3461031f575f36600319011261031f57601c546040516001600160a01b039091168152602090f35b3461031f575f36600319011261031f576040515f600b548060011c9060018116908115610d99575b6020831082146104225782855260208501919081156104095750600114610d47576103b3846103a781860382610655565b600b5f9081529250907f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db95b818410610d85575050016103a782610397565b805484840152602090930192600101610d72565b91607f1691610d16565b3461031f575f36600319011261031f576040515f600e548060011c9060018116908115610e4e575b6020831082146104225782855260208501919081156104095750600114610dfc576103b3846103a781860382610655565b600e5f9081529250907fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd5b818410610e3a575050016103a782610397565b805484840152602090930192600101610e27565b91607f1691610dcb565b3461031f57604036600319011261031f57610618600435610e7881610440565b6107bf602435335f526005602052610ea38360405f209060018060a01b03165f5260205260405f2090565b549060405191610eb4604084610655565b6007835266062656c6f7720360cc1b6020840152611c3b565b3461031f57604036600319011261031f576020610ef8600435610eef81610440565b6024359061176f565b6040519015158152f35b3461031f575f36600319011261031f576040515f600c548060011c9060018116908115610fad575b6020831082146104225782855260208501919081156104095750600114610f5b576103b3846103a781860382610655565b600c5f9081529250907fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c75b818410610f99575050016103a782610397565b805484840152602090930192600101610f86565b91607f1691610f2a565b3461031f575f36600319011261031f576020601954604051908152f35b3461031f57602036600319011261031f57600435610ff181610440565b610ff9611ca2565b61100e611007601e546117d4565b42116117f1565b478061113a575b506001600160a01b03168061102e575b61001c60018055565b6040516370a0823160e01b815230600482015290602082602481845afa918215611104575f92611109575b5081611066575b50611025565b60405163a9059cbb60e01b81527f0000000000000000000000002886df2241de0593f150d8f096464e29128420866001600160a01b031660048201526024810192909252602090829060449082905f905af18015611104576110ce915f916110d5575061173a565b5f80611060565b6110f7915060203d6020116110fd575b6110ef8183610655565b810190611842565b5f610b45565b503d6110e5565b611837565b61112c91925060203d602011611133575b6111248183610655565b810190611828565b905f611059565b503d61111a565b5f80808061116d947f0000000000000000000000002886df2241de0593f150d8f096464e29128420865af1610b4561170b565b5f611015565b3461031f575f36600319011261031f57601f54421015806112f0575b6111989061185a565b601a5460ff166111b8575b601b805460ff60a01b1916600160a01b179055005b305f90815260046020526040812080549082905561dead918290526111ea815f80516020612f258339815191526107b9565b61dead5f5260046020525f80516020612f258339815191525560405190815230905f80516020612f058339815191529080602081010390a3601d546001600160a01b03165f818152600460205260409020546016546112689161124d9190611e75565b6001600160a01b039092165f90815260046020526040902090565b5561dead5f52600460205261128e5f80516020612f258339815191525460165490611c55565b61dead5f5260046020525f80516020612f2583398151915255601d5461dead906001600160a01b03166016546040519081526001600160a01b03909116905f80516020612f058339815191529080602081010390a36112eb612256565b6111a3565b50611198611307610bd2601b5460ff9060a01c1690565b905061118f565b3461031f57602036600319011261031f5760043561132b81610440565b60018060a01b03165f526008602052602060405f2054604051908152f35b3461031f575f36600319011261031f57601b546040516001600160a01b039091168152602090f35b3461031f575f36600319011261031f576020601154604051908152f35b3461031f57604036600319011261031f5760206113e46004356113b081610440565b602435906113bd82610440565b60018060a01b03165f526005835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461031f575f36600319011261031f576020601654604051908152f35b3461031f57602036600319011261031f5760043561142781610440565b5f546001600160a01b0381169161143f338414611576565b6001600160a01b031691829061090e82151561189a565b3461031f575f36600319011261031f576040515f600f548060011c9060018116908115611501575b60208310821461042257828552602085019190811561040957506001146114af576103b3846103a781860382610655565b600f5f9081529250907f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8025b8184106114ed575050016103a782610397565b8054848401526020909301926001016114da565b91607f169161147e565b3461031f575f36600319011261031f576020601354604051908152f35b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b81156104b2570490565b67ffffffffffffffff811161067757601f01601f191660200190565b1561157d57565b60405162461bcd60e51b81526020600482015260096024820152683737ba1037bbb732b960b91b6044820152606490fd5b6013198101919082116115bd57565b61153c565b919082039182116115bd57565b305f90815260046020526040902054601a5460ff161561160d576116046115fb61160a926015546115c2565b60125490611550565b60011c90565b90565b60155490600182901c9081811161162d575061160a915060125490611550565b905081039081116115bd5760125461160a91611550565b81156104b2570690565b1561165557565b60405162461bcd60e51b815260206004820152601960248201527f496e76616c696420726566756e6420636f6e646974696f6e73000000000000006044820152606490fd5b156116a157565b60405162461bcd60e51b8152602060048201526007602482015266125b9d985b1a5960ca1b6044820152606490fd5b156116d757565b60405162461bcd60e51b815260206004820152600c60248201526b1a5b9cdd59999a58da595b9d60a21b6044820152606490fd5b3d15611735573d9061171c8261155a565b9161172a6040519384610655565b82523d5f602084013e565b606090565b1561174157565b60405162461bcd60e51b815260206004820152600660248201526519985a5b195960d21b6044820152606490fd5b906001600160a01b0382163014806117c5575b806117b6575b156117a65761179f915061179a611ca2565b61204f565b6001805590565b6117b09133611b36565b50600190565b5060ff601c5460a01c16611788565b5060ff601b5460a01c16611782565b9062ed4e0082018092116115bd57565b919082018092116115bd57565b156117f857565b60405162461bcd60e51b81526020600482015260086024820152674e6f742074696d6560c01b6044820152606490fd5b9081602091031261031f575190565b6040513d5f823e3d90fd5b9081602091031261031f5751801515810361031f5790565b1561186157565b60405162461bcd60e51b81526020600482015260116024820152700dcdee840a8d2daca9eeae88cd2dcd2e6d607b1b6044820152606490fd5b156118a157565b60405162461bcd60e51b815260206004820152600960248201526830206164647265737360b81b6044820152606490fd5b6118da611ca2565b60ff601b5460a01c1680611925575b15611901576118f6612aa7565b6118ff60018055565b565b601a5460ff161561191b5761191634336127ac565b6118f6565b611916343361246b565b5060ff601c5460a01c166118e9565b61193c611ca2565b335f908152600760205260409020546001600160a01b031615611984575b601b5460a01c60ff16806119755715611901576118f6612aa7565b50601c5460a01c60ff166118e9565b60143610611a1c57611994612cce565b5f5b601481106119da575060140151335f9081526007602052604090206119d5919080546001600160a01b0319166001600160a01b03909216919091179055565b61195a565b80611a096119fb6119f56001946119f0366115ae565b6117e4565b36612cf0565b356001600160f81b03191690565b5f1a611a158285612cfa565b5301611996565b60405162461bcd60e51b815260206004820152600e60248201526d6c6561737420323020627974657360901b6044820152606490fd5b90916001600160a01b03909116907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590602090611a9084151561189a565b6001600160a01b038516948190611acc90611aac88151561189a565b865f526005855260405f209060018060a01b03165f5260205260405f2090565b55604051908152a3565b15611add57565b60405162461bcd60e51b815260206004820152600760248201526606e6f20737761760cc1b6044820152606490fd5b60405190611b1b604083610655565b600c82526b125b9cdd59999a58da595b9d60a21b6020830152565b916001600160a01b038316915f80516020612f0583398151915291611be791611b6085151561189a565b6001600160a01b03811695611b7687151561189a565b60ff601b5460a01c1615611bef575b6001600160a01b0381165f908152600460205260409020611bb49061124d905485611bae611b0c565b91611c3b565b55611bd661124d836107b98460018060a01b03165f52600460205260405f2090565b556040519081529081906020820190565b0390a3600190565b855f526006602052611c0e611c0960405f2060ff90541690565b611ad6565b611b85565b15611c1b5750565b60405162461bcd60e51b8152908190611c379060048301610323565b0390fd5b91611c499083831115611c13565b81039081116115bd5790565b908101908181116115bd578110611c695790565b60405162461bcd60e51b81526020600482015260116024820152706164646974696f6e206f766572666c6f7760781b6044820152606490fd5b600260015414611cb3576002600155565b60405162461bcd60e51b815260206004820152600e60248201526d1c99595b9d1c985b9d0818d85b1b60921b6044820152606490fd5b60405190611cf8604083610655565b601082526f6469766973696f6e206279207a65726f60801b6020830152565b6103e890611d2d611d26611ce9565b6001611c13565b0490565b611d39611ce9565b611d468315918215611c13565b6104b2570490565b908160011b91808304600214901517156115bd57565b818102929181159184041417156115bd57565b8015611ddc57605f810290810480605f036115bd57605e1901611d975790565b60405162461bcd60e51b815260206004820152601760248201527f6d756c7469706c69636174696f6e206f766572666c6f770000000000000000006044820152606490fd5b505f90565b8015611ddc5760328102908104806032036115bd5760311901611d975790565b8015611ddc5760058102908104806005036115bd5760041901611d975790565b908115611e3d57611e328183611d64565b91820403611d975790565b50505f90565b60405190611e52604083610655565b60148252737375627472616374696f6e206f766572666c6f7760601b6020830152565b61160a91611bae611e43565b15611e8857565b60405162461bcd60e51b8152602060048201526014602482015273696e73756666696369656e742062616c616e636560601b6044820152606490fd5b67ffffffffffffffff81116106775760051b60200190565b60405160609190611eed8382610655565b6002815291601f1901366020840137565b634e487b7160e01b5f52603260045260245ffd5b805115611f1f5760200190565b611efe565b805160011015611f1f5760400190565b9081602091031261031f575161160a81610440565b60208183031261031f5780519067ffffffffffffffff821161031f57019080601f8301121561031f578151611f7d81611ec4565b92611f8b6040519485610655565b81845260208085019260051b82010192831161031f57602001905b828210611fb35750505090565b8151815260209182019101611fa6565b90602080835192838152019201905f5b818110611fe05750505090565b82516001600160a01b0316845260209384019390920191600101611fd3565b60409061160a939281528160208201520190611fc3565b919260809361203b92979695978452602084015260a0604084015260a0830190611fc3565b6001600160a01b0390951660608201520152565b8015158061223e575b61206190611e81565b61206c813033611b36565b50601a546120999082906120939060081c6001600160a01b03165b6001600160a01b031690565b30611a52565b6120a1611edc565b6120bd306120ae83611f12565b6001600160a01b039091169052565b601a546120d59060081c6001600160a01b0316612087565b6040516315ab88c960e31b8152602081600481855afa801561110457612106915f9161220f575b506120ae84611f24565b60405163d06ca61f60e01b81525f8180612124868860048401611fff565b0381855afa80156111045761214761214d9161215b935f916121ed575b50611f24565b51611d77565b612155611ce9565b90612d0b565b90803b1561031f5761218b935f80946040519687958694859363791ac94760e01b85524292339260048701612016565b03925af190816121d3575b506121ce5760405162461bcd60e51b815260206004820152600b60248201526a14ddd85c0819985a5b195960aa1b6044820152606490fd5b600190565b806121e15f6121e793610655565b80610315565b5f612196565b61220991503d805f833e6122018183610655565b810190611f49565b5f612141565b612231915060203d602011612237575b6122298183610655565b810190611f34565b5f6120fc565b503d61221f565b50335f90815260046020526040902054811115612058565b601b5461226d90612087906001600160a01b031681565b6040516370a0823160e01b815230600482015290602082602481845afa908115611104576122ee925f92612449575b50601c5460209183916122b7906001600160a01b0316612087565b60405163095ea7b360e01b81526001600160a01b0390911660048201526024810192909252909384919082905f9082906044820190565b03925af1918215611104576123b79261242c575b5061230f601854426117e4565b90602082612327612087601c5460018060a01b031690565b601b54604051630727935760e01b81526001600160a01b037f0000000000000000000000002886df2241de0593f150d8f096464e29128420868116600483015290911660248201526001604482015260648101859052608481019290925260c060a4830152600860c48301526704a75737450756d760c41b60e4830152909485919082905f908290610104820190565b03925af1928315611104577fcb75aa8347c098d414422e8cafbbe4e2c1a229f5b27bf425984b2b9792aa787a9361240f575b50601c805460ff60a01b1916600160a01b179055604080519182526020820192909252a1565b6124279060203d602011611133576111248183610655565b6123e9565b6124449060203d6020116110fd576110ef8183610655565b612302565b602091925061246490823d8411611133576111248183610655565b919061229c565b61264361263e61265693612481610bd233612d32565b806127a1575b8061275f575b6124969061169a565b601154936124cf7f0000000000000000000000000000000000000000000000000001c6bf52634000926124c984886117e4565b90611550565b335f9081526008602052604090209095906124ed9087905b546117e4565b601354101580612748575b80612708575b6125079061169a565b6125458661253f8161253961252c8760018060a01b03165f52600760205260405f2090565b546001600160a01b031690565b96611d64565b92611d64565b926001600160a01b031680156126cf578161257b9161257361256c61214d6125aa96611de1565b8092612d68565b611bae611e43565b7f0000000000000000000000002886df2241de0593f150d8f096464e29128420866001600160a01b0316612d68565b6125b685601254611d64565b305f9081526004602052604090206125d2905482611bae611b0c565b305f90815260046020526040808220929092556001600160a01b0384168152206125fd9082906107b9565b6001600160a01b03929092165f8181526004602090815260409182902094909455519182529130915f80516020612f058339815191529190a3600254611c55565b600255565b335f9081526008602052604090206107b9565b335f90815260086020526040902055305f90815260046020526040902054612688601554612682611ce9565b90612d18565b101561269057565b305f908152600460205260409020546002546126ab91612dde565b6126b3612256565b601b805460ff60a01b1916600160a01b1790556118ff5f600255565b50612703907f0000000000000000000000002886df2241de0593f150d8f096464e29128420866001600160a01b0316612d68565b6125aa565b50305f908152600460205260409020612507905461273f61272b89601254611d64565b612739601554612682611ce9565b906117e4565b111590506124fe565b50601b5461275a9060a01c60ff161590565b6124f8565b506124966127996127936011547f0000000000000000000000000000000000000000000000000001c6bf52634000906117e4565b83611644565b15905061248d565b50601f544210612487565b612643612927926127bf610bd233612d32565b80612a31575b806129f5575b6127d49061169a565b601154926128077f0000000000000000000000000000000000000000000000000001c6bf52634000926124c984876117e4565b335f9081526008602052604090209094906128239086906124e7565b6013541015806129de575b806129ad575b61283d9061169a565b6128628561253f8161253961252c8760018060a01b03165f52600760205260405f2090565b926001600160a01b03168015612974578161257b9161257361256c61214d61288996611de1565b61289584601254611d64565b305f9081526004602052604090209091906128b4905483611bae611b0c565b305f90815260046020526040808220929092556001600160a01b0383168152206128df9083906107b9565b6001600160a01b0382165f908152600460205260409020556040518281526001600160a01b039091169030905f80516020612f058339815191529080602081010390a3612dde565b335f90815260086020526040902055305f90815260046020526040902054612950601254611d4e565b1161295757565b61295f612256565b601b805460ff60a01b1916600160a01b179055565b506129a8907f0000000000000000000000002886df2241de0593f150d8f096464e29128420866001600160a01b0316612d68565b612889565b50305f90815260046020526040902061283d90546129d56129d088601254611d64565b611d4e565b11159050612834565b50601b546129f09060a01c60ff161590565b61282e565b506127d4612a296127936011547f0000000000000000000000000000000000000000000000000001c6bf52634000906117e4565b1590506127cb565b50601f5442106127c5565b15612a4357565b60405162461bcd60e51b81526020600482015260096024820152680455448206e6f7420360bc1b6044820152606490fd5b90606092612a9391969594968352608060208401526080830190611fc3565b6001600160a01b0390951660408201520152565b612ab2341515612a3c565b335f908152600760205260409020612ac99061252c565b6001600160a01b03168015612c7257612b2b612af5612ae734611e01565b612aef611ce9565b90612d24565b61257b612b09612b0434611e01565b611d17565b91612b2583612b20612b19611e43565b8434611c3b565b611e75565b94612d68565b612b33611edc565b601a54909190612b4e9060081c6001600160a01b0316612087565b916040516315ab88c960e31b8152602081600481875afa801561110457612b80915f91612c53575b506120ae83611f12565b612b8d306120ae83611f24565b60405163d06ca61f60e01b81525f8180612bab858760048401611fff565b0381875afa80156111045761214761214d91612bcd935f916121ed5750611f24565b92803b1561031f5760405163b6f9de9560e01b8152935f93859384928391612bfc914291339160048601612a74565b03925af19081612c3f575b506118ff5760405162461bcd60e51b815260206004820152600b60248201526a14ddd85c0819985a5b195960aa1b6044820152606490fd5b806121e15f612c4d93610655565b5f612c07565b612c6c915060203d602011612237576122298183610655565b5f612b76565b50612c84612c7e611ce9565b34612d0b565b612cc9612c99612c92611e43565b8334611c3b565b917f0000000000000000000000002886df2241de0593f150d8f096464e29128420866001600160a01b0316612d68565b612b2b565b60408051909190612cdf8382610655565b6014815291601f1901366020840137565b811015611f1f5790565b908151811015611f1f570160200190565b611d2d6064926001611c13565b90611604906001611c13565b611d2d6103e8926001611c13565b3f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114159081612d61575090565b9050151590565b5f8080938193612d7a824710156116d0565b6001600160a01b03165af1612d8d61170b565b5015612d9557565b60405162461bcd60e51b8152602060048201526006602482015265756e61626c6560d01b6044820152606490fd5b9081606091031261031f578051916040602083015192015190565b601a54606091612ec69160081c6001600160a01b031630612e0081151561189a565b6001600160a01b03821691612e1683151561189a565b5f8281526005602090815260408083206001600160a01b039094168352929052205f1990557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206040515f198152a3601a54612e7e9060081c6001600160a01b0316612087565b60405163f305d71960e01b8152306004820181905260248201939093525f60448201819052606482015260848101929092524260a483015290938492839190829060c4820190565b03925af1801561110457612ed75750565b612ef89060603d606011612efd575b612ef08183610655565b810190612dc3565b505050565b503d612ee656feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dda2646970667358221220f64b037b69c0b86aaefdb7dd52a3fa68d99130c200985c1526e6b64dfd0aa7df64736f6c634300081a0033

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.