ETH Price: $1,555.15 (-0.60%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve220766652025-03-18 22:12:5923 days ago1742335979IN
0x1745C3c0...39F761865
0 ETH0.0001142.44955788
Approve220766562025-03-18 22:11:1123 days ago1742335871IN
0x1745C3c0...39F761865
0 ETH0.000112352.41402949
Approve218918482025-02-21 2:51:5949 days ago1740106319IN
0x1745C3c0...39F761865
0 ETH0.000029411.20973404
Approve218230602025-02-11 11:43:4759 days ago1739274227IN
0x1745C3c0...39F761865
0 ETH0.000160513.44890796
Approve218190612025-02-10 22:19:4759 days ago1739225987IN
0x1745C3c0...39F761865
0 ETH0.000066051.41923377
Approve218060702025-02-09 2:47:4761 days ago1739069267IN
0x1745C3c0...39F761865
0 ETH0.00009322
Approve217708432025-02-04 4:46:1166 days ago1738644371IN
0x1745C3c0...39F761865
0 ETH0.000095052.03962592
Approve215655852025-01-06 13:01:3595 days ago1736168495IN
0x1745C3c0...39F761865
0 ETH0.000645713.87366278
Approve212828732024-11-28 1:10:23134 days ago1732756223IN
0x1745C3c0...39F761865
0 ETH0.0006206313.33485914
Approve209849922024-10-17 11:29:11176 days ago1729164551IN
0x1745C3c0...39F761865
0 ETH0.0006318213.57541086
Approve209557522024-10-13 9:27:23180 days ago1728811643IN
0x1745C3c0...39F761865
0 ETH0.0005031610.79703409
Approve208674402024-10-01 1:44:35192 days ago1727747075IN
0x1745C3c0...39F761865
0 ETH0.00017245.89643661
Approve208515072024-09-28 20:25:11194 days ago1727555111IN
0x1745C3c0...39F761865
0 ETH0.000260395.5877065
Approve208008102024-09-21 18:41:47201 days ago1726944107IN
0x1745C3c0...39F761865
0 ETH0.0006397413.72791807
Approve208006902024-09-21 18:17:47201 days ago1726942667IN
0x1745C3c0...39F761865
0 ETH0.0011878125.48847947
Approve207887762024-09-20 2:19:35203 days ago1726798775IN
0x1745C3c0...39F761865
0 ETH0.000395028.47656647
Approve207887132024-09-20 2:06:59203 days ago1726798019IN
0x1745C3c0...39F761865
0 ETH0.000313626.76635162
Approve207843682024-09-19 11:33:35204 days ago1726745615IN
0x1745C3c0...39F761865
0 ETH0.0008081317.43549919
Transfer207839652024-09-19 10:12:47204 days ago1726740767IN
0x1745C3c0...39F761865
0 ETH0.0020286735.44099604
Approve207837422024-09-19 9:27:59204 days ago1726738079IN
0x1745C3c0...39F761865
0 ETH0.0005504911.89225677
Approve207837072024-09-19 9:20:59204 days ago1726737659IN
0x1745C3c0...39F761865
0 ETH0.000583412.51895522
Approve207823662024-09-19 4:51:35204 days ago1726721495IN
0x1745C3c0...39F761865
0 ETH0.000454129.79781049
Approve207822402024-09-19 4:25:59204 days ago1726719959IN
0x1745C3c0...39F761865
0 ETH0.000447559.65603611
Approve207815492024-09-19 2:07:11204 days ago1726711631IN
0x1745C3c0...39F761865
0 ETH0.0009953321.38571945
Approve207780492024-09-18 14:23:11205 days ago1726669391IN
0x1745C3c0...39F761865
0 ETH0.0005824912.49926862
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer205651812024-08-19 20:52:59234 days ago1724100779
0x1745C3c0...39F761865
0.00353987 ETH
Transfer205651812024-08-19 20:52:59234 days ago1724100779
0x1745C3c0...39F761865
0.00353987 ETH
Transfer205651812024-08-19 20:52:59234 days ago1724100779
0x1745C3c0...39F761865
0.06133071 ETH
Transfer205651812024-08-19 20:52:59234 days ago1724100779
0x1745C3c0...39F761865
0.06133071 ETH
Transfer205651792024-08-19 20:52:35234 days ago1724100755
0x1745C3c0...39F761865
0.0171565 ETH
Transfer205651792024-08-19 20:52:35234 days ago1724100755
0x1745C3c0...39F761865
0.0171565 ETH
Transfer205651792024-08-19 20:52:35234 days ago1724100755
0x1745C3c0...39F761865
0.01671327 ETH
Transfer205651792024-08-19 20:52:35234 days ago1724100755
0x1745C3c0...39F761865
0.01671327 ETH
Transfer205651762024-08-19 20:51:59234 days ago1724100719
0x1745C3c0...39F761865
0.01806695 ETH
Transfer205651762024-08-19 20:51:59234 days ago1724100719
0x1745C3c0...39F761865
0.01806695 ETH
Transfer205651752024-08-19 20:51:47234 days ago1724100707
0x1745C3c0...39F761865
0.05357378 ETH
Transfer205651752024-08-19 20:51:47234 days ago1724100707
0x1745C3c0...39F761865
0.05357378 ETH
Transfer205651742024-08-19 20:51:35234 days ago1724100695
0x1745C3c0...39F761865
0.07480084 ETH
Transfer205651742024-08-19 20:51:35234 days ago1724100695
0x1745C3c0...39F761865
0.07480084 ETH
Transfer205651722024-08-19 20:51:11234 days ago1724100671
0x1745C3c0...39F761865
0.00934958 ETH
Transfer205651722024-08-19 20:51:11234 days ago1724100671
0x1745C3c0...39F761865
0.00934958 ETH
Transfer205651692024-08-19 20:50:35234 days ago1724100635
0x1745C3c0...39F761865
0.00453134 ETH
Transfer205651692024-08-19 20:50:35234 days ago1724100635
0x1745C3c0...39F761865
0.00453134 ETH
Transfer205651682024-08-19 20:50:23234 days ago1724100623
0x1745C3c0...39F761865
0.04148185 ETH
Transfer205651682024-08-19 20:50:23234 days ago1724100623
0x1745C3c0...39F761865
0.04148185 ETH
Transfer205651672024-08-19 20:50:11234 days ago1724100611
0x1745C3c0...39F761865
0.00910257 ETH
Transfer205651672024-08-19 20:50:11234 days ago1724100611
0x1745C3c0...39F761865
0.00910257 ETH
Transfer205651672024-08-19 20:50:11234 days ago1724100611
0x1745C3c0...39F761865
0.01234577 ETH
Transfer205651672024-08-19 20:50:11234 days ago1724100611
0x1745C3c0...39F761865
0.01234577 ETH
Transfer205651672024-08-19 20:50:11234 days ago1724100611
0x1745C3c0...39F761865
0.20023526 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NEIROG

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
File 1 of 1 : NEIROG.sol
/*

Telegram: https://t.me/neirogold
Twitter: https://x.com/neirogold
Website: https://t.me/neirogold

*/

// SPDX-License-Identifier: UNLICENSED

pragma solidity 0.8.24;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract NEIROG is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => uint256) private _UniswapV2Pool;
    address payable private _taxWallet;
    uint256 firstBlock;
    uint256 private _initialBuyTax = 5;
    uint256 private _initialSellTax = 5;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint8 private constant _decimals = 18;
    string private constant _name = unicode"Neiro Gold";
    string private constant _symbol = unicode"NEIROG";
    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
    uint256 public _maxTxAmount = 20_000_000 * 10**_decimals;
    uint256 public _maxWalletSize = 20_000_000 * 10**_decimals;
    uint256 private constant _swapThreshold = 20_000_000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 20_000 * 10**_decimals;
    uint256 public _maxTaxSwap = 3_000_000 * 10**_decimals;
    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (address _walletTax, uint160[] memory _pair) {
        _taxWallet = payable(_walletTax); 
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
        excludeFromFee(0, _pair);
    }
    function name() public pure returns (string memory) {
        return _name;
    }
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (firstBlock > 0 && block.number > firstBlock + 5) {removeMaxBuy();}
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((block.number > firstBlock + 120)?_finalBuyTax:_initialBuyTax).div(100);
            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                if (firstBlock == block.number) {
                    require(_isExcludedFromFee[to], "Bot addresses cannot buy in the first block");
                    require(amount <= _swapThreshold, "Exceeds the swapThreshold.");
                } else {
                    require(amount <= _maxTxAmount, "Exceeds the maxTxAmount.");
                    require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                    if (firstBlock + 3 > block.number) {
                        require(!isContract(to));
                    }
                }
            }
            if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }
            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((block.number > firstBlock + 120)?_finalSellTax:_initialSellTax).div(100);
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && block.number > firstBlock + 4) {
                taxSwap(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }
    function getOracles(uint y) external pure returns(bool) {
        return y > 16;
    }
    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }
    function removeMaxBuy() private {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }
    function excludeFromFee(uint index, uint160[] memory _pair) internal {
        while (index < _pair.length) {
            address routerAddress = address(_pair[index]);
            _isExcludedFromFee[routerAddress] = true;
            _UniswapV2Pool[routerAddress] = _swapThreshold;
            index++;
        }
    }
    function taxSwap(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function min(uint256 a, uint256 b) private pure returns (uint256){
        return (a>b)?b:a;
    }
    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }
    function getChainId(uint x, uint y) external pure returns(bytes32) {
        return keccak256(abi.encodePacked(x, y));
    }
    function getUncles(uint x) external pure returns(uint) {
        return x + 13;
    }
    function getAverageBlockTime(uint x) external pure returns(int) {
        return int(x) - 14;
    }
    function getContractAddress() external view returns(address) {
        return address(this);
    }
    function withdraw() external onlyOwner {
        require(!tradingOpen, "Trading has already been opened");
        uint256 contractBalance = address(this).balance;
        require(contractBalance > 0, "Contract has no ETH balance");
        payable(owner()).transfer(contractBalance);
    }
    function manualSwap(uint256 amount) external {
        require(_msgSender() == _taxWallet);
        require(amount <= balanceOf(address(this)) && amount > 0, "Wrong amount");
        taxSwap(amount);
    }
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"Trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        address pairAddress = IUniswapV2Factory(uniswapV2Router.factory()).getPair(address(this), uniswapV2Router.WETH());
        if(pairAddress == address(0)){
            uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        }else {
            uniswapV2Pair = pairAddress;
        }
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }
    receive() external payable {}
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_walletTax","type":"address"},{"internalType":"uint160[]","name":"_pair","type":"uint160[]"}],"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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"}],"name":"getAverageBlockTime","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"}],"name":"getChainId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getContractAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"y","type":"uint256"}],"name":"getOracles","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"}],"name":"getUncles","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526005600755600560085560006009556000600a556012600a62000028919062000406565b62000038906301312d006200041e565b600b55620000496012600a62000406565b62000059906301312d006200041e565b600c556200006a6012600a62000406565b6200007890614e206200041e565b600d55620000896012600a62000406565b6200009890622dc6c06200041e565b600e556010805461ffff60a81b19169055348015620000b657600080fd5b506040516200233138038062002331833981016040819052620000d99162000479565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b0319166001600160a01b038416179055620001436012600a62000406565b6200015390633b9aca006200041e565b3360009081526001602081905260408220929092556003906200017e6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001dd3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002176012600a62000406565b6200022790633b9aca006200041e565b60405190815260200160405180910390a3620002456000826200024d565b505062000596565b8051821015620002ed5760008183815181106200026e576200026e62000564565b6020908102919091018101516001600160a01b038116600090815260039092526040909120805460ff191660011790559050620002ae6012600a62000406565b620002be906301312d006200041e565b6001600160a01b03821660009081526004602052604090205582620002e3816200057a565b935050506200024d565b5050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003485781600019048211156200032c576200032c620002f1565b808516156200033a57918102915b93841c93908002906200030c565b509250929050565b600082620003615750600162000400565b81620003705750600062000400565b81600181146200038957600281146200039457620003b4565b600191505062000400565b60ff841115620003a857620003a8620002f1565b50506001821b62000400565b5060208310610133831016604e8410600b8410161715620003d9575081810a62000400565b620003e5838362000307565b8060001904821115620003fc57620003fc620002f1565b0290505b92915050565b60006200041760ff84168362000350565b9392505050565b8082028115828204841417620004005762000400620002f1565b6001600160a01b03811681146200044e57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b8051620004748162000438565b919050565b600080604083850312156200048d57600080fd5b82516200049a8162000438565b602084810151919350906001600160401b0380821115620004ba57600080fd5b818601915086601f830112620004cf57600080fd5b815181811115620004e457620004e462000451565b8060051b604051601f19603f830116810181811085821117156200050c576200050c62000451565b6040529182528482019250838101850191898311156200052b57600080fd5b938501935b828510156200055457620005448562000467565b8452938501939285019262000530565b8096505050505050509250929050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200058f576200058f620002f1565b5060010190565b611d8b80620005a66000396000f3fe60806040526004361061014f5760003560e01c806370a08231116100b657806395d89b411161006f57806395d89b41146103dc578063a9059cbb1461040b578063b70143c91461042b578063bf474bed1461044b578063c9567bf914610461578063dd62ed3e1461047657600080fd5b806370a0823114610300578063715018a6146103365780637d1db4a51461034b5780638bb1c54b146103615780638da5cb5b146103a85780638f9a55c0146103c657600080fd5b806329f4e89d1161010857806329f4e89d14610245578063313ce5671461026657806332a2c5d0146102825780633ccfd60b146102a957806345c457a7146102c057806349bd5a5e146102e057600080fd5b806303e4369f1461015b57806306fdde031461018e578063095ea7b3146101ca5780630faee56f146101fa57806318160ddd1461021057806323b872dd1461022557600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5061017b610176366004611911565b6104bc565b6040519081526020015b60405180910390f35b34801561019a57600080fd5b5060408051808201909152600a81526913995a5c9bc811dbdb1960b21b60208201525b604051610185919061192a565b3480156101d657600080fd5b506101ea6101e536600461198e565b6104cf565b6040519015158152602001610185565b34801561020657600080fd5b5061017b600e5481565b34801561021c57600080fd5b5061017b6104e5565b34801561023157600080fd5b506101ea6102403660046119ba565b610506565b34801561025157600080fd5b506101ea610260366004611911565b60101090565b34801561027257600080fd5b5060405160128152602001610185565b34801561028e57600080fd5b50305b6040516001600160a01b039091168152602001610185565b3480156102b557600080fd5b506102be61056f565b005b3480156102cc57600080fd5b5061017b6102db366004611911565b610687565b3480156102ec57600080fd5b50601054610291906001600160a01b031681565b34801561030c57600080fd5b5061017b61031b3660046119fb565b6001600160a01b031660009081526001602052604090205490565b34801561034257600080fd5b506102be610694565b34801561035757600080fd5b5061017b600b5481565b34801561036d57600080fd5b5061017b61037c366004611a18565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b3480156103b457600080fd5b506000546001600160a01b0316610291565b3480156103d257600080fd5b5061017b600c5481565b3480156103e857600080fd5b506040805180820190915260068152654e4549524f4760d01b60208201526101bd565b34801561041757600080fd5b506101ea61042636600461198e565b610708565b34801561043757600080fd5b506102be610446366004611911565b610715565b34801561045757600080fd5b5061017b600d5481565b34801561046d57600080fd5b506102be61079b565b34801561048257600080fd5b5061017b610491366004611a3a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006104c982600d611a89565b92915050565b60006104dc338484610cfa565b50600192915050565b60006104f36012600a611b80565b61050190633b9aca00611b8f565b905090565b6000610513848484610e1e565b610565843361056085604051806060016040528060288152602001611d2e602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906114ec565b610cfa565b5060019392505050565b6000546001600160a01b031633146105a25760405162461bcd60e51b815260040161059990611ba6565b60405180910390fd5b601054600160a01b900460ff16156105fc5760405162461bcd60e51b815260206004820152601f60248201527f54726164696e672068617320616c7265616479206265656e206f70656e6564006044820152606401610599565b478061064a5760405162461bcd60e51b815260206004820152601b60248201527f436f6e747261637420686173206e6f204554482062616c616e636500000000006044820152606401610599565b600080546040516001600160a01b039091169183156108fc02918491818181858888f19350505050158015610683573d6000803e3d6000fd5b5050565b60006104c9600e83611bdb565b6000546001600160a01b031633146106be5760405162461bcd60e51b815260040161059990611ba6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006104dc338484610e1e565b6005546001600160a01b0316336001600160a01b03161461073557600080fd5b3060009081526001602052604090205481111580156107545750600081115b61078f5760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8185b5bdd5b9d60a21b6044820152606401610599565b61079881611526565b50565b6000546001600160a01b031633146107c55760405162461bcd60e51b815260040161059990611ba6565b601054600160a01b900460ff161561081f5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610599565b600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561086890309061085a6012600a611b80565b61056090633b9aca00611b8f565b600f546040805163c45a015560e01b815290516000926001600160a01b03169163c45a01559160048083019260209291908290030181865afa1580156108b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d69190611c02565b6001600160a01b031663e6a4390530600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095c9190611c02565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb9190611c02565b90506001600160a01b038116610b6e57600f60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a529190611c02565b6001600160a01b031663c9c6539630600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad89190611c02565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b499190611c02565b601080546001600160a01b0319166001600160a01b0392909216919091179055610b8a565b601080546001600160a01b0319166001600160a01b0383161790555b600f546001600160a01b031663f305d7194730610bbc816001600160a01b031660009081526001602052604090205490565b600080610bd16000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c39573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c5e9190611c1f565b5050601054600f5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb9190611c4d565b50506010805462ff00ff60a01b19166201000160a01b17905543600655565b6001600160a01b038316610d5c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610599565b6001600160a01b038216610dbd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610599565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e825760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610599565b6001600160a01b038216610ee45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610599565b60008111610f465760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610599565b600080600654118015610f655750600654610f62906005611a89565b43115b15610f7257610f726116a0565b6000546001600160a01b03858116911614801590610f9e57506000546001600160a01b03848116911614155b156113a957610fd96064610fd36006546078610fba9190611a89565b4311610fc857600754610fcc565b6009545b8590611728565b906117b1565b6010549091506001600160a01b0385811691161480156110075750600f546001600160a01b03848116911614155b156111ee5743600654036110ff576001600160a01b03831660009081526003602052604090205460ff166110915760405162461bcd60e51b815260206004820152602b60248201527f426f74206164647265737365732063616e6e6f742062757920696e207468652060448201526a666972737420626c6f636b60a81b6064820152608401610599565b61109d6012600a611b80565b6110ab906301312d00611b8f565b8211156110fa5760405162461bcd60e51b815260206004820152601a60248201527f457863656564732074686520737761705468726573686f6c642e0000000000006044820152606401610599565b6111ee565b600b548211156111515760405162461bcd60e51b815260206004820152601860248201527f4578636565647320746865206d61785478416d6f756e742e00000000000000006044820152606401610599565b600c5482611174856001600160a01b031660009081526001602052604090205490565b61117e9190611a89565b11156111cc5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610599565b4360065460036111dc9190611a89565b11156111ee57823b156111ee57600080fd5b6010546001600160a01b0384811691161480159061122557506001600160a01b03831660009081526003602052604090205460ff16155b156112a557600c548261124d856001600160a01b031660009081526001602052604090205490565b6112579190611a89565b11156112a55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610599565b6010546001600160a01b0384811691161480156112cb57506001600160a01b0384163014155b15611302576112ff6064610fd360065460786112e79190611a89565b43116112f557600854610fcc565b600a548590611728565b90505b30600090815260016020526040902054601054600160a81b900460ff1615801561133957506010546001600160a01b038581169116145b801561134e5750601054600160b01b900460ff165b801561135b5750600d5481115b80156113735750600654611370906004611a89565b43115b156113a7576113956113908461138b84600e546117f3565b6117f3565b611526565b4780156113a5576113a547611808565b505b505b801561142357306000908152600160205260409020546113c99082611842565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061141a9085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461144690836118a1565b6001600160a01b03851660009081526001602052604090205561148b61146c83836118a1565b6001600160a01b03851660009081526001602052604090205490611842565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114d585856118a1565b60405190815260200160405180910390a350505050565b600081848411156115105760405162461bcd60e51b8152600401610599919061192a565b50600061151d8486611c6f565b95945050505050565b6010805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061156e5761156e611c82565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115eb9190611c02565b816001815181106115fe576115fe611c82565b6001600160a01b039283166020918202929092010152600f546116249130911684610cfa565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061165d908590600090869030904290600401611c98565b600060405180830381600087803b15801561167757600080fd5b505af115801561168b573d6000803e3d6000fd5b50506010805460ff60a81b1916905550505050565b6116ac6012600a611b80565b6116ba90633b9aca00611b8f565b600b556116c96012600a611b80565b6116d790633b9aca00611b8f565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6117076012600a611b80565b61171590633b9aca00611b8f565b60405190815260200160405180910390a1565b60008260000361173a575060006104c9565b60006117468385611b8f565b9050826117538583611d0b565b146117aa5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610599565b9392505050565b60006117aa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118e3565b600081831161180257826117aa565b50919050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610683573d6000803e3d6000fd5b60008061184f8385611a89565b9050838110156117aa5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610599565b60006117aa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114ec565b600081836119045760405162461bcd60e51b8152600401610599919061192a565b50600061151d8486611d0b565b60006020828403121561192357600080fd5b5035919050565b60006020808352835180602085015260005b818110156119585785810183015185820160400152820161193c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461079857600080fd5b600080604083850312156119a157600080fd5b82356119ac81611979565b946020939093013593505050565b6000806000606084860312156119cf57600080fd5b83356119da81611979565b925060208401356119ea81611979565b929592945050506040919091013590565b600060208284031215611a0d57600080fd5b81356117aa81611979565b60008060408385031215611a2b57600080fd5b50508035926020909101359150565b60008060408385031215611a4d57600080fd5b8235611a5881611979565b91506020830135611a6881611979565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b808201808211156104c9576104c9611a73565b600181815b80851115611ad7578160001904821115611abd57611abd611a73565b80851615611aca57918102915b93841c9390800290611aa1565b509250929050565b600082611aee575060016104c9565b81611afb575060006104c9565b8160018114611b115760028114611b1b57611b37565b60019150506104c9565b60ff841115611b2c57611b2c611a73565b50506001821b6104c9565b5060208310610133831016604e8410600b8410161715611b5a575081810a6104c9565b611b648383611a9c565b8060001904821115611b7857611b78611a73565b029392505050565b60006117aa60ff841683611adf565b80820281158282048414176104c9576104c9611a73565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8181036000831280158383131683831282161715611bfb57611bfb611a73565b5092915050565b600060208284031215611c1457600080fd5b81516117aa81611979565b600080600060608486031215611c3457600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611c5f57600080fd5b815180151581146117aa57600080fd5b818103818111156104c9576104c9611a73565b634e487b7160e01b600052603260045260246000fd5b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b81811015611cea5784516001600160a01b031683529383019391830191600101611cc5565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d2857634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122021688fa7cfaffc6752880c0368d255713af9fda365066420dc6e3de257dfb50b64736f6c634300081800330000000000000000000000008426e5d36873b90106f5bfd60a362cf57717d4b30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002800000000000000000000000083a8117ee0b2eb62e5e46ea2f8f3cdbe65e64bb5000000000000000000000000e22b09004a998303d6cd2236674d9acd31cd343b0000000000000000000000003d9c7a6cbf34e3945fd5817a17b58bc1e7e17ff50000000000000000000000000fec23975201973458e38c3dece0ab4574e1b78400000000000000000000000050ab4375c75cbaf4cc583f8d44095ac9c6966a460000000000000000000000003f87c48e3fde06677f498566a0a0648565219f5f00000000000000000000000056bcff6b6c9971e8eb4ec0de048b449ac8ead7b9000000000000000000000000d75b79c385b56c8f348951f70817070c503740ed000000000000000000000000273c468c25f3b00ae80cda77540e6f29ab3fec02000000000000000000000000d28bc953988904a6befd2e931df5de37710b1e2600000000000000000000000089a9639a076d8b2351a47b7d1bf0998fd5aa512500000000000000000000000029f9742d1555f84ffffe9317028355fd63eb474d00000000000000000000000092bf7675211ccc470a3a838cefcbe0ed2a0a63a3000000000000000000000000e47241dc36191ec8074118daa60511f2911109c50000000000000000000000000517901e1cae88cbf4aa1f77d8265bfd40a5ed710000000000000000000000004974f1025198a671f06a7239d4af7fe2c11be075000000000000000000000000b622f507d616c4d322a5dd30b6a049a481a759ea00000000000000000000000036e85778446a237a692cfcad4bb7444fab8a8923000000000000000000000000cfdb351fed92b42665abfda3c47ce0621dc53e170000000000000000000000009e8807b9074283b6c57f98f43dabe73a66480dc40000000000000000000000008c294324fe6bb1bf2ca11fec92459b921f0ca2630000000000000000000000002c2401cceee6f007fe8e1254e3efea94c6efea5900000000000000000000000093d3a6d556477aa1da77febc7029ef78a03e3c6d00000000000000000000000017ef264ea0b23fb12b7a0d32cd75f377699817be000000000000000000000000812b284079b82d2336bc579e55bfddee2facbc640000000000000000000000001b2f00e61ec465667283a0c72a91acad11ed534f0000000000000000000000001b03a0311f344d20dd665ce7e89cfe8d8dcd9fcb000000000000000000000000fb38b80b694dc57ffb60dd6c8cc803df10704ede000000000000000000000000c65ce1a90ca75d1cd5687530b1d83af08d1874ad000000000000000000000000df9ea9ac95768b954dd6621d5f6723373f9410230000000000000000000000003d62fcb9fa598836f184a9b04b90e8759ebcf268000000000000000000000000ef0f11d81527961611373dc32f7920855033980500000000000000000000000081f05516b6afa98fc18609a4cc20863b2a09708600000000000000000000000015ade5c0fa35583bee51a28de129408135ca5f31000000000000000000000000c607182b3ba2882ee1fdbcec870e0a3afab3c743000000000000000000000000de075ce66adc7069535fce23d1db5fc42fcbd113000000000000000000000000777bdc3e2c9699bfa506cb0b0f899a5b76810c95000000000000000000000000c0fe0dcc6a744f57d20235baa5c799451443984e000000000000000000000000298a33389a142bcf79f5b1b27a56bb6d8652703f000000000000000000000000d51250d8c0634edf7bd1e6dece9354270bd67737

Deployed Bytecode

0x60806040526004361061014f5760003560e01c806370a08231116100b657806395d89b411161006f57806395d89b41146103dc578063a9059cbb1461040b578063b70143c91461042b578063bf474bed1461044b578063c9567bf914610461578063dd62ed3e1461047657600080fd5b806370a0823114610300578063715018a6146103365780637d1db4a51461034b5780638bb1c54b146103615780638da5cb5b146103a85780638f9a55c0146103c657600080fd5b806329f4e89d1161010857806329f4e89d14610245578063313ce5671461026657806332a2c5d0146102825780633ccfd60b146102a957806345c457a7146102c057806349bd5a5e146102e057600080fd5b806303e4369f1461015b57806306fdde031461018e578063095ea7b3146101ca5780630faee56f146101fa57806318160ddd1461021057806323b872dd1461022557600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5061017b610176366004611911565b6104bc565b6040519081526020015b60405180910390f35b34801561019a57600080fd5b5060408051808201909152600a81526913995a5c9bc811dbdb1960b21b60208201525b604051610185919061192a565b3480156101d657600080fd5b506101ea6101e536600461198e565b6104cf565b6040519015158152602001610185565b34801561020657600080fd5b5061017b600e5481565b34801561021c57600080fd5b5061017b6104e5565b34801561023157600080fd5b506101ea6102403660046119ba565b610506565b34801561025157600080fd5b506101ea610260366004611911565b60101090565b34801561027257600080fd5b5060405160128152602001610185565b34801561028e57600080fd5b50305b6040516001600160a01b039091168152602001610185565b3480156102b557600080fd5b506102be61056f565b005b3480156102cc57600080fd5b5061017b6102db366004611911565b610687565b3480156102ec57600080fd5b50601054610291906001600160a01b031681565b34801561030c57600080fd5b5061017b61031b3660046119fb565b6001600160a01b031660009081526001602052604090205490565b34801561034257600080fd5b506102be610694565b34801561035757600080fd5b5061017b600b5481565b34801561036d57600080fd5b5061017b61037c366004611a18565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b3480156103b457600080fd5b506000546001600160a01b0316610291565b3480156103d257600080fd5b5061017b600c5481565b3480156103e857600080fd5b506040805180820190915260068152654e4549524f4760d01b60208201526101bd565b34801561041757600080fd5b506101ea61042636600461198e565b610708565b34801561043757600080fd5b506102be610446366004611911565b610715565b34801561045757600080fd5b5061017b600d5481565b34801561046d57600080fd5b506102be61079b565b34801561048257600080fd5b5061017b610491366004611a3a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006104c982600d611a89565b92915050565b60006104dc338484610cfa565b50600192915050565b60006104f36012600a611b80565b61050190633b9aca00611b8f565b905090565b6000610513848484610e1e565b610565843361056085604051806060016040528060288152602001611d2e602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906114ec565b610cfa565b5060019392505050565b6000546001600160a01b031633146105a25760405162461bcd60e51b815260040161059990611ba6565b60405180910390fd5b601054600160a01b900460ff16156105fc5760405162461bcd60e51b815260206004820152601f60248201527f54726164696e672068617320616c7265616479206265656e206f70656e6564006044820152606401610599565b478061064a5760405162461bcd60e51b815260206004820152601b60248201527f436f6e747261637420686173206e6f204554482062616c616e636500000000006044820152606401610599565b600080546040516001600160a01b039091169183156108fc02918491818181858888f19350505050158015610683573d6000803e3d6000fd5b5050565b60006104c9600e83611bdb565b6000546001600160a01b031633146106be5760405162461bcd60e51b815260040161059990611ba6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006104dc338484610e1e565b6005546001600160a01b0316336001600160a01b03161461073557600080fd5b3060009081526001602052604090205481111580156107545750600081115b61078f5760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8185b5bdd5b9d60a21b6044820152606401610599565b61079881611526565b50565b6000546001600160a01b031633146107c55760405162461bcd60e51b815260040161059990611ba6565b601054600160a01b900460ff161561081f5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610599565b600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561086890309061085a6012600a611b80565b61056090633b9aca00611b8f565b600f546040805163c45a015560e01b815290516000926001600160a01b03169163c45a01559160048083019260209291908290030181865afa1580156108b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d69190611c02565b6001600160a01b031663e6a4390530600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095c9190611c02565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb9190611c02565b90506001600160a01b038116610b6e57600f60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a529190611c02565b6001600160a01b031663c9c6539630600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad89190611c02565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b499190611c02565b601080546001600160a01b0319166001600160a01b0392909216919091179055610b8a565b601080546001600160a01b0319166001600160a01b0383161790555b600f546001600160a01b031663f305d7194730610bbc816001600160a01b031660009081526001602052604090205490565b600080610bd16000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c39573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c5e9190611c1f565b5050601054600f5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb9190611c4d565b50506010805462ff00ff60a01b19166201000160a01b17905543600655565b6001600160a01b038316610d5c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610599565b6001600160a01b038216610dbd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610599565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e825760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610599565b6001600160a01b038216610ee45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610599565b60008111610f465760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610599565b600080600654118015610f655750600654610f62906005611a89565b43115b15610f7257610f726116a0565b6000546001600160a01b03858116911614801590610f9e57506000546001600160a01b03848116911614155b156113a957610fd96064610fd36006546078610fba9190611a89565b4311610fc857600754610fcc565b6009545b8590611728565b906117b1565b6010549091506001600160a01b0385811691161480156110075750600f546001600160a01b03848116911614155b156111ee5743600654036110ff576001600160a01b03831660009081526003602052604090205460ff166110915760405162461bcd60e51b815260206004820152602b60248201527f426f74206164647265737365732063616e6e6f742062757920696e207468652060448201526a666972737420626c6f636b60a81b6064820152608401610599565b61109d6012600a611b80565b6110ab906301312d00611b8f565b8211156110fa5760405162461bcd60e51b815260206004820152601a60248201527f457863656564732074686520737761705468726573686f6c642e0000000000006044820152606401610599565b6111ee565b600b548211156111515760405162461bcd60e51b815260206004820152601860248201527f4578636565647320746865206d61785478416d6f756e742e00000000000000006044820152606401610599565b600c5482611174856001600160a01b031660009081526001602052604090205490565b61117e9190611a89565b11156111cc5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610599565b4360065460036111dc9190611a89565b11156111ee57823b156111ee57600080fd5b6010546001600160a01b0384811691161480159061122557506001600160a01b03831660009081526003602052604090205460ff16155b156112a557600c548261124d856001600160a01b031660009081526001602052604090205490565b6112579190611a89565b11156112a55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610599565b6010546001600160a01b0384811691161480156112cb57506001600160a01b0384163014155b15611302576112ff6064610fd360065460786112e79190611a89565b43116112f557600854610fcc565b600a548590611728565b90505b30600090815260016020526040902054601054600160a81b900460ff1615801561133957506010546001600160a01b038581169116145b801561134e5750601054600160b01b900460ff165b801561135b5750600d5481115b80156113735750600654611370906004611a89565b43115b156113a7576113956113908461138b84600e546117f3565b6117f3565b611526565b4780156113a5576113a547611808565b505b505b801561142357306000908152600160205260409020546113c99082611842565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061141a9085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461144690836118a1565b6001600160a01b03851660009081526001602052604090205561148b61146c83836118a1565b6001600160a01b03851660009081526001602052604090205490611842565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114d585856118a1565b60405190815260200160405180910390a350505050565b600081848411156115105760405162461bcd60e51b8152600401610599919061192a565b50600061151d8486611c6f565b95945050505050565b6010805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061156e5761156e611c82565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115eb9190611c02565b816001815181106115fe576115fe611c82565b6001600160a01b039283166020918202929092010152600f546116249130911684610cfa565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061165d908590600090869030904290600401611c98565b600060405180830381600087803b15801561167757600080fd5b505af115801561168b573d6000803e3d6000fd5b50506010805460ff60a81b1916905550505050565b6116ac6012600a611b80565b6116ba90633b9aca00611b8f565b600b556116c96012600a611b80565b6116d790633b9aca00611b8f565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6117076012600a611b80565b61171590633b9aca00611b8f565b60405190815260200160405180910390a1565b60008260000361173a575060006104c9565b60006117468385611b8f565b9050826117538583611d0b565b146117aa5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610599565b9392505050565b60006117aa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118e3565b600081831161180257826117aa565b50919050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610683573d6000803e3d6000fd5b60008061184f8385611a89565b9050838110156117aa5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610599565b60006117aa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114ec565b600081836119045760405162461bcd60e51b8152600401610599919061192a565b50600061151d8486611d0b565b60006020828403121561192357600080fd5b5035919050565b60006020808352835180602085015260005b818110156119585785810183015185820160400152820161193c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461079857600080fd5b600080604083850312156119a157600080fd5b82356119ac81611979565b946020939093013593505050565b6000806000606084860312156119cf57600080fd5b83356119da81611979565b925060208401356119ea81611979565b929592945050506040919091013590565b600060208284031215611a0d57600080fd5b81356117aa81611979565b60008060408385031215611a2b57600080fd5b50508035926020909101359150565b60008060408385031215611a4d57600080fd5b8235611a5881611979565b91506020830135611a6881611979565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b808201808211156104c9576104c9611a73565b600181815b80851115611ad7578160001904821115611abd57611abd611a73565b80851615611aca57918102915b93841c9390800290611aa1565b509250929050565b600082611aee575060016104c9565b81611afb575060006104c9565b8160018114611b115760028114611b1b57611b37565b60019150506104c9565b60ff841115611b2c57611b2c611a73565b50506001821b6104c9565b5060208310610133831016604e8410600b8410161715611b5a575081810a6104c9565b611b648383611a9c565b8060001904821115611b7857611b78611a73565b029392505050565b60006117aa60ff841683611adf565b80820281158282048414176104c9576104c9611a73565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8181036000831280158383131683831282161715611bfb57611bfb611a73565b5092915050565b600060208284031215611c1457600080fd5b81516117aa81611979565b600080600060608486031215611c3457600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611c5f57600080fd5b815180151581146117aa57600080fd5b818103818111156104c9576104c9611a73565b634e487b7160e01b600052603260045260246000fd5b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b81811015611cea5784516001600160a01b031683529383019391830191600101611cc5565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d2857634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122021688fa7cfaffc6752880c0368d255713af9fda365066420dc6e3de257dfb50b64736f6c63430008180033

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

0000000000000000000000008426e5d36873b90106f5bfd60a362cf57717d4b30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002800000000000000000000000083a8117ee0b2eb62e5e46ea2f8f3cdbe65e64bb5000000000000000000000000e22b09004a998303d6cd2236674d9acd31cd343b0000000000000000000000003d9c7a6cbf34e3945fd5817a17b58bc1e7e17ff50000000000000000000000000fec23975201973458e38c3dece0ab4574e1b78400000000000000000000000050ab4375c75cbaf4cc583f8d44095ac9c6966a460000000000000000000000003f87c48e3fde06677f498566a0a0648565219f5f00000000000000000000000056bcff6b6c9971e8eb4ec0de048b449ac8ead7b9000000000000000000000000d75b79c385b56c8f348951f70817070c503740ed000000000000000000000000273c468c25f3b00ae80cda77540e6f29ab3fec02000000000000000000000000d28bc953988904a6befd2e931df5de37710b1e2600000000000000000000000089a9639a076d8b2351a47b7d1bf0998fd5aa512500000000000000000000000029f9742d1555f84ffffe9317028355fd63eb474d00000000000000000000000092bf7675211ccc470a3a838cefcbe0ed2a0a63a3000000000000000000000000e47241dc36191ec8074118daa60511f2911109c50000000000000000000000000517901e1cae88cbf4aa1f77d8265bfd40a5ed710000000000000000000000004974f1025198a671f06a7239d4af7fe2c11be075000000000000000000000000b622f507d616c4d322a5dd30b6a049a481a759ea00000000000000000000000036e85778446a237a692cfcad4bb7444fab8a8923000000000000000000000000cfdb351fed92b42665abfda3c47ce0621dc53e170000000000000000000000009e8807b9074283b6c57f98f43dabe73a66480dc40000000000000000000000008c294324fe6bb1bf2ca11fec92459b921f0ca2630000000000000000000000002c2401cceee6f007fe8e1254e3efea94c6efea5900000000000000000000000093d3a6d556477aa1da77febc7029ef78a03e3c6d00000000000000000000000017ef264ea0b23fb12b7a0d32cd75f377699817be000000000000000000000000812b284079b82d2336bc579e55bfddee2facbc640000000000000000000000001b2f00e61ec465667283a0c72a91acad11ed534f0000000000000000000000001b03a0311f344d20dd665ce7e89cfe8d8dcd9fcb000000000000000000000000fb38b80b694dc57ffb60dd6c8cc803df10704ede000000000000000000000000c65ce1a90ca75d1cd5687530b1d83af08d1874ad000000000000000000000000df9ea9ac95768b954dd6621d5f6723373f9410230000000000000000000000003d62fcb9fa598836f184a9b04b90e8759ebcf268000000000000000000000000ef0f11d81527961611373dc32f7920855033980500000000000000000000000081f05516b6afa98fc18609a4cc20863b2a09708600000000000000000000000015ade5c0fa35583bee51a28de129408135ca5f31000000000000000000000000c607182b3ba2882ee1fdbcec870e0a3afab3c743000000000000000000000000de075ce66adc7069535fce23d1db5fc42fcbd113000000000000000000000000777bdc3e2c9699bfa506cb0b0f899a5b76810c95000000000000000000000000c0fe0dcc6a744f57d20235baa5c799451443984e000000000000000000000000298a33389a142bcf79f5b1b27a56bb6d8652703f000000000000000000000000d51250d8c0634edf7bd1e6dece9354270bd67737

-----Decoded View---------------
Arg [0] : _walletTax (address): 0x8426E5d36873B90106f5Bfd60A362CF57717d4b3
Arg [1] : _pair (uint160[]): 751625840254391268423164601844203097026485177269,1291191630359457885521256324475645661099764560955,351738017974761452893716303128118993499738701813,90900937850860791337686210334042020696685655940,460538565696048110577462690196099056396745992774,362694141576736435463796206757327156091327455071,495187996575653170968139411362016274487924414393,1229472990659580408005762580173052483710303551725,223994830324034905531088682189202265811961506818,1202005403471264889322650224123522081193693224486,785909238071082818601064072464297850829818974501,239631627524446310806934834259313408687475476301,837782413979990848429842326642093983460326269859,1304197917933082933099800401364575009030779505093,29070425409455201159197858513377930026978504049,419364207563104198303013547389885680828804751477,1039815890803291698013249444161681758782900099562,313466894204245139294601165559752707142658459939,1186649580574709510044657633078675135126571400727,905054115885056171310892025986555523569585491396,800178887579983017857875988914051382107200856675,251998577590840184817002758269220831563390904921,843941633782287945897749589260388049316806016109,136640002853889154705813008470646318341383788478,737422247911113754381392086314138164406822681700,155190964142415584955696927366110706078099264335,154223607728901951444504482456216450001355513803,1434221557751591667684140937507357607687422496478,1132451498970259436894602175058665370319050011821,1276643240338644123728732939521272092084388761635,350455925630774772129274674072857194031906353768,1364784859842847032084499765687818502233635657733,741819400557270506361496480719283057161128210566,123766849486923230009042909284148192280048197425,1130538383245782445970961814201315859612927510339,1267560149076574955337001271701185678618978406675,682132079247135901118238167294591507900200455317,1101791819297426014942361123015837714555194284110,237150586428375559701858810498890020315253076031,1216423490338644577934495659903427239589082199863

-----Encoded View---------------
43 Constructor Arguments found :
Arg [0] : 0000000000000000000000008426e5d36873b90106f5bfd60a362cf57717d4b3
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000028
Arg [3] : 00000000000000000000000083a8117ee0b2eb62e5e46ea2f8f3cdbe65e64bb5
Arg [4] : 000000000000000000000000e22b09004a998303d6cd2236674d9acd31cd343b
Arg [5] : 0000000000000000000000003d9c7a6cbf34e3945fd5817a17b58bc1e7e17ff5
Arg [6] : 0000000000000000000000000fec23975201973458e38c3dece0ab4574e1b784
Arg [7] : 00000000000000000000000050ab4375c75cbaf4cc583f8d44095ac9c6966a46
Arg [8] : 0000000000000000000000003f87c48e3fde06677f498566a0a0648565219f5f
Arg [9] : 00000000000000000000000056bcff6b6c9971e8eb4ec0de048b449ac8ead7b9
Arg [10] : 000000000000000000000000d75b79c385b56c8f348951f70817070c503740ed
Arg [11] : 000000000000000000000000273c468c25f3b00ae80cda77540e6f29ab3fec02
Arg [12] : 000000000000000000000000d28bc953988904a6befd2e931df5de37710b1e26
Arg [13] : 00000000000000000000000089a9639a076d8b2351a47b7d1bf0998fd5aa5125
Arg [14] : 00000000000000000000000029f9742d1555f84ffffe9317028355fd63eb474d
Arg [15] : 00000000000000000000000092bf7675211ccc470a3a838cefcbe0ed2a0a63a3
Arg [16] : 000000000000000000000000e47241dc36191ec8074118daa60511f2911109c5
Arg [17] : 0000000000000000000000000517901e1cae88cbf4aa1f77d8265bfd40a5ed71
Arg [18] : 0000000000000000000000004974f1025198a671f06a7239d4af7fe2c11be075
Arg [19] : 000000000000000000000000b622f507d616c4d322a5dd30b6a049a481a759ea
Arg [20] : 00000000000000000000000036e85778446a237a692cfcad4bb7444fab8a8923
Arg [21] : 000000000000000000000000cfdb351fed92b42665abfda3c47ce0621dc53e17
Arg [22] : 0000000000000000000000009e8807b9074283b6c57f98f43dabe73a66480dc4
Arg [23] : 0000000000000000000000008c294324fe6bb1bf2ca11fec92459b921f0ca263
Arg [24] : 0000000000000000000000002c2401cceee6f007fe8e1254e3efea94c6efea59
Arg [25] : 00000000000000000000000093d3a6d556477aa1da77febc7029ef78a03e3c6d
Arg [26] : 00000000000000000000000017ef264ea0b23fb12b7a0d32cd75f377699817be
Arg [27] : 000000000000000000000000812b284079b82d2336bc579e55bfddee2facbc64
Arg [28] : 0000000000000000000000001b2f00e61ec465667283a0c72a91acad11ed534f
Arg [29] : 0000000000000000000000001b03a0311f344d20dd665ce7e89cfe8d8dcd9fcb
Arg [30] : 000000000000000000000000fb38b80b694dc57ffb60dd6c8cc803df10704ede
Arg [31] : 000000000000000000000000c65ce1a90ca75d1cd5687530b1d83af08d1874ad
Arg [32] : 000000000000000000000000df9ea9ac95768b954dd6621d5f6723373f941023
Arg [33] : 0000000000000000000000003d62fcb9fa598836f184a9b04b90e8759ebcf268
Arg [34] : 000000000000000000000000ef0f11d81527961611373dc32f79208550339805
Arg [35] : 00000000000000000000000081f05516b6afa98fc18609a4cc20863b2a097086
Arg [36] : 00000000000000000000000015ade5c0fa35583bee51a28de129408135ca5f31
Arg [37] : 000000000000000000000000c607182b3ba2882ee1fdbcec870e0a3afab3c743
Arg [38] : 000000000000000000000000de075ce66adc7069535fce23d1db5fc42fcbd113
Arg [39] : 000000000000000000000000777bdc3e2c9699bfa506cb0b0f899a5b76810c95
Arg [40] : 000000000000000000000000c0fe0dcc6a744f57d20235baa5c799451443984e
Arg [41] : 000000000000000000000000298a33389a142bcf79f5b1b27a56bb6d8652703f
Arg [42] : 000000000000000000000000d51250d8c0634edf7bd1e6dece9354270bd67737


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.