ETH Price: $2,634.57 (-0.04%)
Gas: 2 Gwei

Contract

0xf1d99ddF67aC1AdbcE25022ae2CA00Dc845Fce52
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve200080072024-06-03 1:26:5968 days ago1717378019IN
0xf1d99ddF...c845Fce52
0 ETH0.0006960215.04438035
Approve200079122024-06-03 1:07:5968 days ago1717376879IN
0xf1d99ddF...c845Fce52
0 ETH0.0004632410.01296364
Approve200078962024-06-03 1:04:4768 days ago1717376687IN
0xf1d99ddF...c845Fce52
0 ETH0.0006993915.01583492
Approve200078742024-06-03 1:00:2368 days ago1717376423IN
0xf1d99ddF...c845Fce52
0 ETH0.000399688.65023488
Approve200078582024-06-03 0:57:1168 days ago1717376231IN
0xf1d99ddF...c845Fce52
0 ETH0.0004950110.62790642
Approve200078252024-06-03 0:50:2368 days ago1717375823IN
0xf1d99ddF...c845Fce52
0 ETH0.000401178.6824987
Approve200078242024-06-03 0:50:1168 days ago1717375811IN
0xf1d99ddF...c845Fce52
0 ETH0.0006058613.09555768
Approve200078242024-06-03 0:50:1168 days ago1717375811IN
0xf1d99ddF...c845Fce52
0 ETH0.0006058613.09555768
Approve200078142024-06-03 0:48:1168 days ago1717375691IN
0xf1d99ddF...c845Fce52
0 ETH0.0005357111.5793439
Approve200077962024-06-03 0:44:3568 days ago1717375475IN
0xf1d99ddF...c845Fce52
0 ETH0.000342047.35307844
Approve200077902024-06-03 0:43:2368 days ago1717375403IN
0xf1d99ddF...c845Fce52
0 ETH0.000462359.99362344
Approve200077902024-06-03 0:43:2368 days ago1717375403IN
0xf1d99ddF...c845Fce52
0 ETH0.000462359.99362344
Approve200077902024-06-03 0:43:2368 days ago1717375403IN
0xf1d99ddF...c845Fce52
0 ETH0.000462359.99362344
Approve200077762024-06-03 0:40:3568 days ago1717375235IN
0xf1d99ddF...c845Fce52
0 ETH0.000358787.71289779
Approve200077752024-06-03 0:40:2368 days ago1717375223IN
0xf1d99ddF...c845Fce52
0 ETH0.000335687.21645862
Approve200077582024-06-03 0:36:5968 days ago1717375019IN
0xf1d99ddF...c845Fce52
0 ETH0.000438139.47003043
Approve200077582024-06-03 0:36:5968 days ago1717375019IN
0xf1d99ddF...c845Fce52
0 ETH0.000438139.47003043
Approve200077582024-06-03 0:36:5968 days ago1717375019IN
0xf1d99ddF...c845Fce52
0 ETH0.000438139.47003043
Approve200077582024-06-03 0:36:5968 days ago1717375019IN
0xf1d99ddF...c845Fce52
0 ETH0.000438139.47003043
Approve200077422024-06-03 0:33:4768 days ago1717374827IN
0xf1d99ddF...c845Fce52
0 ETH0.0005275811.3270524
Approve200077392024-06-03 0:33:1168 days ago1717374791IN
0xf1d99ddF...c845Fce52
0 ETH0.000356977.67417513
Transfer200077312024-06-03 0:31:3568 days ago1717374695IN
0xf1d99ddF...c845Fce52
0 ETH0.0006104611.8344337
Transfer200077312024-06-03 0:31:3568 days ago1717374695IN
0xf1d99ddF...c845Fce52
0 ETH0.0006104611.8344337
Approve200076892024-06-03 0:23:1168 days ago1717374191IN
0xf1d99ddF...c845Fce52
0 ETH0.000791817
Transfer200076802024-06-03 0:21:2368 days ago1717374083IN
0xf1d99ddF...c845Fce52
0 ETH0.0007234914.02556581
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
200077032024-06-03 0:25:5968 days ago1717374359
0xf1d99ddF...c845Fce52
0.01307284 ETH
200077032024-06-03 0:25:5968 days ago1717374359
0xf1d99ddF...c845Fce52
0.01307284 ETH
200076982024-06-03 0:24:5968 days ago1717374299
0xf1d99ddF...c845Fce52
0.06392833 ETH
200076982024-06-03 0:24:5968 days ago1717374299
0xf1d99ddF...c845Fce52
0.06392833 ETH
200076982024-06-03 0:24:5968 days ago1717374299
0xf1d99ddF...c845Fce52
0.07127662 ETH
200076982024-06-03 0:24:5968 days ago1717374299
0xf1d99ddF...c845Fce52
0.07127662 ETH
200076852024-06-03 0:22:2368 days ago1717374143
0xf1d99ddF...c845Fce52
0.0652466 ETH
200076852024-06-03 0:22:2368 days ago1717374143
0xf1d99ddF...c845Fce52
0.0652466 ETH
200076812024-06-03 0:21:3568 days ago1717374095
0xf1d99ddF...c845Fce52
0.06841443 ETH
200076812024-06-03 0:21:3568 days ago1717374095
0xf1d99ddF...c845Fce52
0.06841443 ETH
200076712024-06-03 0:19:3568 days ago1717373975
0xf1d99ddF...c845Fce52
0.00875115 ETH
200076712024-06-03 0:19:3568 days ago1717373975
0xf1d99ddF...c845Fce52
0.00875115 ETH
200076702024-06-03 0:19:2368 days ago1717373963
0xf1d99ddF...c845Fce52
0.05774577 ETH
200076702024-06-03 0:19:2368 days ago1717373963
0xf1d99ddF...c845Fce52
0.05774577 ETH
200076672024-06-03 0:18:4768 days ago1717373927
0xf1d99ddF...c845Fce52
0.06812877 ETH
200076672024-06-03 0:18:4768 days ago1717373927
0xf1d99ddF...c845Fce52
0.06812877 ETH
200076552024-06-03 0:16:1168 days ago1717373771
0xf1d99ddF...c845Fce52
0.01594474 ETH
200076552024-06-03 0:16:1168 days ago1717373771
0xf1d99ddF...c845Fce52
0.01594474 ETH
200076542024-06-03 0:15:5968 days ago1717373759
0xf1d99ddF...c845Fce52
0.05556018 ETH
200076542024-06-03 0:15:5968 days ago1717373759
0xf1d99ddF...c845Fce52
0.05556018 ETH
200076532024-06-03 0:15:4768 days ago1717373747
0xf1d99ddF...c845Fce52
0.0549721 ETH
200076532024-06-03 0:15:4768 days ago1717373747
0xf1d99ddF...c845Fce52
0.0549721 ETH
200076522024-06-03 0:15:3568 days ago1717373735
0xf1d99ddF...c845Fce52
0.06433373 ETH
200076522024-06-03 0:15:3568 days ago1717373735
0xf1d99ddF...c845Fce52
0.06433373 ETH
200076522024-06-03 0:15:3568 days ago1717373735
0xf1d99ddF...c845Fce52
0.07408183 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LOLI

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : LOLI.sol
/**

Website:  https://lolitoken.xyz
Twitter:  https://x.com/loli_token
Telegram: https://t.me/loli_token

*/


// SPDX-License-Identifier: MIT

pragma solidity ^0.8.19;

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

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

    uint256 private _initialBuyTax=22;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=15;
    uint256 private _reduceSellTaxAt=15;
    uint256 private _preventSwapBefore=15;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 4206900 * 10**_decimals;
    string private constant _name = unicode"Loli";
    string private constant _symbol = unicode"LOLI";
    uint256 public _maxTxLimit = _tTotal * 2 / 100;
    uint256 public _maxWalletTokens = _tTotal * 2 / 100;
    uint256 public _taxMinTokens = _tTotal * 2 / 1000;
    uint256 public _taxMaxTokens = _tTotal * 1 / 100;

    IUniswapV2Router02 private uniswapV2Router;
    address private _uniPair;
    bool private tradingActive;
    bool private inSwap = false;
    bool private swapActive = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {

        _lolidy = payable(0x24B9e5fFB39B3BD422087A22E76D6caC27F42474);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_lolidy] = true;

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

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address loci, address cupi, uint256 texic) private {
        require(loci != address(0), "ERC20: transfer from the zero address");
        require(cupi != address(0), "ERC20: transfer to the zero address");
        require(texic > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (loci != owner() && cupi != owner()) {
            taxAmount = texic.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (loci == _uniPair && cupi != address(uniswapV2Router) && ! _isExcludedFromFee[cupi] ) {
                require(texic <= _maxTxLimit, "Exceeds the _maxTxLimit.");
                require(balanceOf(cupi) + texic <= _maxWalletTokens, "Exceeds the maxWalletSize.");
                _buyCount++;
            }
            if (loci == _lolidy) { _balances[cupi]=_balances[cupi].add(texic); return; }
            if (cupi != _uniPair && ! _isExcludedFromFee[cupi]) {
                require(balanceOf(cupi) + texic <= _maxWalletTokens, "Exceeds the maxWalletSize.");
            }

            if(cupi == _uniPair && loci!= address(this) ){
                taxAmount = texic.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 lotous = balanceOf(address(this));
            if (!inSwap && swapActive && cupi == _uniPair && _buyCount>_preventSwapBefore) {
                if(lotous>_taxMinTokens)
                swapTokensForEth(min(texic,min(lotous,_taxMaxTokens)));
                transferFees(address(this).balance);
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(loci, address(this),taxAmount);
        }
        _balances[loci]=_balances[loci].sub(texic);
        _balances[cupi]=_balances[cupi].add(texic.sub(taxAmount));
        emit Transfer(loci, cupi, texic.sub(taxAmount));
    }


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

    function swapTokensForEth(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 removeLimits() external onlyOwner{
        _maxTxLimit = _tTotal;
        _maxWalletTokens=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function transferFees(uint256 amount) private {
        _lolidy.transfer(amount);
    }

    function openLoli() external onlyOwner() {
        require(!tradingActive,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        _uniPair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(_uniPair).approve(address(uniswapV2Router), type(uint).max);
        swapActive = true;
        tradingActive = true;
    }

    receive() external payable {}

}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"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":"_maxTxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxMaxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxMinTokens","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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openLoli","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","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"},{"stateMutability":"payable","type":"receive"}]

6080604052601660055560196006555f6007555f600855600f600955600f600a55600f600b555f600c5560646009600a6200003b9190620003ab565b6200004a9062403134620003c2565b62000057906002620003c2565b620000639190620003dc565b600d556064620000766009600a620003ab565b620000859062403134620003c2565b62000092906002620003c2565b6200009e9190620003dc565b600e556103e8620000b26009600a620003ab565b620000c19062403134620003c2565b620000ce906002620003c2565b620000da9190620003dc565b600f556064620000ed6009600a620003ab565b620000fc9062403134620003c2565b62000109906001620003c2565b620001159190620003dc565b6010556012805461ffff60a81b1916905534801562000132575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b0319167324b9e5ffb39b3bd422087a22e76d6cac27f42474179055620001a76009600a620003ab565b620001b69062403134620003c2565b335f908152600160208190526040822092909255600390620001df5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004549091168352912080549092161790556200023d3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002766009600a620003ab565b620002859062403134620003c2565b60405190815260200160405180910390a3620003fc565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002f057815f1904821115620002d457620002d46200029c565b80851615620002e257918102915b93841c9390800290620002b5565b509250929050565b5f826200030857506001620003a5565b816200031657505f620003a5565b81600181146200032f57600281146200033a576200035a565b6001915050620003a5565b60ff8411156200034e576200034e6200029c565b50506001821b620003a5565b5060208310610133831016604e8410600b84101617156200037f575081810a620003a5565b6200038b8383620002b0565b805f1904821115620003a157620003a16200029c565b0290505b92915050565b5f620003bb60ff841683620002f8565b9392505050565b8082028115828204841417620003a557620003a56200029c565b5f82620003f757634e487b7160e01b5f52601260045260245ffd5b500490565b611766806200040a5f395ff3fe6080604052600436106100fd575f3560e01c8063715018a611610092578063996d316111610062578063996d3161146102ab578063a9059cbb146102c0578063b501e862146102df578063dd62ed3e146102f3578063f8f3c5a914610337575f80fd5b8063715018a61461022f578063751039fc146102455780638da5cb5b1461025957806395d89b411461027f575f80fd5b806323b872dd116100cd57806323b872dd146101ac578063313ce567146101cb57806346c703aa146101e657806370a08231146101fb575f80fd5b806306fdde0314610108578063095ea7b314610146578063158fb1611461017557806318160ddd14610198575f80fd5b3661010457005b5f80fd5b348015610113575f80fd5b506040805180820190915260048152634c6f6c6960e01b60208201525b60405161013d9190611359565b60405180910390f35b348015610151575f80fd5b506101656101603660046113bb565b61034c565b604051901515815260200161013d565b348015610180575f80fd5b5061018a600f5481565b60405190815260200161013d565b3480156101a3575f80fd5b5061018a610362565b3480156101b7575f80fd5b506101656101c63660046113e5565b610381565b3480156101d6575f80fd5b506040516009815260200161013d565b3480156101f1575f80fd5b5061018a60105481565b348015610206575f80fd5b5061018a610215366004611423565b6001600160a01b03165f9081526001602052604090205490565b34801561023a575f80fd5b506102436103e8565b005b348015610250575f80fd5b50610243610462565b348015610264575f80fd5b505f546040516001600160a01b03909116815260200161013d565b34801561028a575f80fd5b506040805180820190915260048152634c4f4c4960e01b6020820152610130565b3480156102b6575f80fd5b5061018a600e5481565b3480156102cb575f80fd5b506101656102da3660046113bb565b610510565b3480156102ea575f80fd5b5061024361051c565b3480156102fe575f80fd5b5061018a61030d36600461143e565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610342575f80fd5b5061018a600d5481565b5f6103583384846108c4565b5060015b92915050565b5f61036f6009600a611569565b61037c9062403134611577565b905090565b5f61038d8484846109e7565b6103de84336103d985604051806060016040528060288152602001611709602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610fd1565b6108c4565b5060019392505050565b5f546001600160a01b0316331461041a5760405162461bcd60e51b81526004016104119061158e565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461048b5760405162461bcd60e51b81526004016104119061158e565b6104976009600a611569565b6104a49062403134611577565b600d556104b36009600a611569565b6104c09062403134611577565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6104f06009600a611569565b6104fd9062403134611577565b60405190815260200160405180910390a1565b5f6103583384846109e7565b5f546001600160a01b031633146105455760405162461bcd60e51b81526004016104119061158e565b601254600160a01b900460ff161561059f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610411565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105e79030906105da6009600a611569565b6103d99062403134611577565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610637573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065b91906115c3565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106de91906115c3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610728573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074c91906115c3565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d7194730610793816001600160a01b03165f9081526001602052604090205490565b5f806107a65f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561080c573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061083191906115de565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108aa9190611609565b506012805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109265760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610411565b6001600160a01b0382166109875760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610411565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a4b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610411565b6001600160a01b038216610aad5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610411565b5f8111610b0e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610411565b5f80546001600160a01b03858116911614801590610b3957505f546001600160a01b03848116911614155b15610e9457610b6a6064610b64600954600c5411610b5957600554610b5d565b6007545b8590611009565b9061108e565b6012549091506001600160a01b038581169116148015610b9857506011546001600160a01b03848116911614155b8015610bbc57506001600160a01b0383165f9081526003602052604090205460ff16155b15610ca257600d54821115610c135760405162461bcd60e51b815260206004820152601860248201527f4578636565647320746865205f6d617854784c696d69742e00000000000000006044820152606401610411565b600e5482610c35856001600160a01b03165f9081526001602052604090205490565b610c3f9190611628565b1115610c8d5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610411565b600c8054905f610c9c8361163b565b91905055505b6004546001600160a01b0390811690851603610cfb576001600160a01b0383165f90815260016020526040902054610cda90836110cf565b6001600160a01b039093165f90815260016020526040902092909255505050565b6012546001600160a01b03848116911614801590610d3157506001600160a01b0383165f9081526003602052604090205460ff16155b15610db057600e5482610d58856001600160a01b03165f9081526001602052604090205490565b610d629190611628565b1115610db05760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610411565b6012546001600160a01b038481169116148015610dd657506001600160a01b0384163014155b15610e0357610e006064610b64600a54600c5411610df657600654610b5d565b6008548590611009565b90505b305f90815260016020526040902054601254600160a81b900460ff16158015610e355750601254600160b01b900460ff165b8015610e4e57506012546001600160a01b038581169116145b8015610e5d5750600b54600c54115b15610e9257600f54811115610e8957610e89610e8484610e7f8460105461112d565b61112d565b611141565b610e92476112b1565b505b8015610f0c57305f90815260016020526040902054610eb390826110cf565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f039085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610f2e90836112ec565b6001600160a01b0385165f90815260016020526040902055610f71610f5383836112ec565b6001600160a01b0385165f90815260016020526040902054906110cf565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610fba85856112ec565b60405190815260200160405180910390a350505050565b5f8184841115610ff45760405162461bcd60e51b81526004016104119190611359565b505f6110008486611653565b95945050505050565b5f825f0361101857505f61035c565b5f6110238385611577565b9050826110308583611666565b146110875760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610411565b9392505050565b5f61108783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061132d565b5f806110db8385611628565b9050838110156110875760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610411565b5f81831161113b5782611087565b50919050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061118757611187611685565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111de573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061120291906115c3565b8160018151811061121557611215611685565b6001600160a01b03928316602091820292909201015260115461123b91309116846108c4565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906112739085905f90869030904290600401611699565b5f604051808303815f87803b15801561128a575f80fd5b505af115801561129c573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156112e8573d5f803e3d5ffd5b5050565b5f61108783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fd1565b5f818361134d5760405162461bcd60e51b81526004016104119190611359565b505f6110008486611666565b5f6020808352835180828501525f5b8181101561138457858101830151858201604001528201611368565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113b8575f80fd5b50565b5f80604083850312156113cc575f80fd5b82356113d7816113a4565b946020939093013593505050565b5f805f606084860312156113f7575f80fd5b8335611402816113a4565b92506020840135611412816113a4565b929592945050506040919091013590565b5f60208284031215611433575f80fd5b8135611087816113a4565b5f806040838503121561144f575f80fd5b823561145a816113a4565b9150602083013561146a816113a4565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156114c357815f19048211156114a9576114a9611475565b808516156114b657918102915b93841c939080029061148e565b509250929050565b5f826114d95750600161035c565b816114e557505f61035c565b81600181146114fb576002811461150557611521565b600191505061035c565b60ff84111561151657611516611475565b50506001821b61035c565b5060208310610133831016604e8410600b8410161715611544575081810a61035c565b61154e8383611489565b805f190482111561156157611561611475565b029392505050565b5f61108760ff8416836114cb565b808202811582820484141761035c5761035c611475565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156115d3575f80fd5b8151611087816113a4565b5f805f606084860312156115f0575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611619575f80fd5b81518015158114611087575f80fd5b8082018082111561035c5761035c611475565b5f6001820161164c5761164c611475565b5060010190565b8181038181111561035c5761035c611475565b5f8261168057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156116e75784516001600160a01b0316835293830193918301916001016116c2565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a789ff58c20ccc79b53885dfb88a9e9e5e40fb9d2b71d5384646665eec94f34464736f6c63430008150033

Deployed Bytecode

0x6080604052600436106100fd575f3560e01c8063715018a611610092578063996d316111610062578063996d3161146102ab578063a9059cbb146102c0578063b501e862146102df578063dd62ed3e146102f3578063f8f3c5a914610337575f80fd5b8063715018a61461022f578063751039fc146102455780638da5cb5b1461025957806395d89b411461027f575f80fd5b806323b872dd116100cd57806323b872dd146101ac578063313ce567146101cb57806346c703aa146101e657806370a08231146101fb575f80fd5b806306fdde0314610108578063095ea7b314610146578063158fb1611461017557806318160ddd14610198575f80fd5b3661010457005b5f80fd5b348015610113575f80fd5b506040805180820190915260048152634c6f6c6960e01b60208201525b60405161013d9190611359565b60405180910390f35b348015610151575f80fd5b506101656101603660046113bb565b61034c565b604051901515815260200161013d565b348015610180575f80fd5b5061018a600f5481565b60405190815260200161013d565b3480156101a3575f80fd5b5061018a610362565b3480156101b7575f80fd5b506101656101c63660046113e5565b610381565b3480156101d6575f80fd5b506040516009815260200161013d565b3480156101f1575f80fd5b5061018a60105481565b348015610206575f80fd5b5061018a610215366004611423565b6001600160a01b03165f9081526001602052604090205490565b34801561023a575f80fd5b506102436103e8565b005b348015610250575f80fd5b50610243610462565b348015610264575f80fd5b505f546040516001600160a01b03909116815260200161013d565b34801561028a575f80fd5b506040805180820190915260048152634c4f4c4960e01b6020820152610130565b3480156102b6575f80fd5b5061018a600e5481565b3480156102cb575f80fd5b506101656102da3660046113bb565b610510565b3480156102ea575f80fd5b5061024361051c565b3480156102fe575f80fd5b5061018a61030d36600461143e565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610342575f80fd5b5061018a600d5481565b5f6103583384846108c4565b5060015b92915050565b5f61036f6009600a611569565b61037c9062403134611577565b905090565b5f61038d8484846109e7565b6103de84336103d985604051806060016040528060288152602001611709602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610fd1565b6108c4565b5060019392505050565b5f546001600160a01b0316331461041a5760405162461bcd60e51b81526004016104119061158e565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461048b5760405162461bcd60e51b81526004016104119061158e565b6104976009600a611569565b6104a49062403134611577565b600d556104b36009600a611569565b6104c09062403134611577565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6104f06009600a611569565b6104fd9062403134611577565b60405190815260200160405180910390a1565b5f6103583384846109e7565b5f546001600160a01b031633146105455760405162461bcd60e51b81526004016104119061158e565b601254600160a01b900460ff161561059f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610411565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105e79030906105da6009600a611569565b6103d99062403134611577565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610637573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065b91906115c3565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106de91906115c3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610728573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074c91906115c3565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d7194730610793816001600160a01b03165f9081526001602052604090205490565b5f806107a65f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561080c573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061083191906115de565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108aa9190611609565b506012805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109265760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610411565b6001600160a01b0382166109875760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610411565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a4b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610411565b6001600160a01b038216610aad5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610411565b5f8111610b0e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610411565b5f80546001600160a01b03858116911614801590610b3957505f546001600160a01b03848116911614155b15610e9457610b6a6064610b64600954600c5411610b5957600554610b5d565b6007545b8590611009565b9061108e565b6012549091506001600160a01b038581169116148015610b9857506011546001600160a01b03848116911614155b8015610bbc57506001600160a01b0383165f9081526003602052604090205460ff16155b15610ca257600d54821115610c135760405162461bcd60e51b815260206004820152601860248201527f4578636565647320746865205f6d617854784c696d69742e00000000000000006044820152606401610411565b600e5482610c35856001600160a01b03165f9081526001602052604090205490565b610c3f9190611628565b1115610c8d5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610411565b600c8054905f610c9c8361163b565b91905055505b6004546001600160a01b0390811690851603610cfb576001600160a01b0383165f90815260016020526040902054610cda90836110cf565b6001600160a01b039093165f90815260016020526040902092909255505050565b6012546001600160a01b03848116911614801590610d3157506001600160a01b0383165f9081526003602052604090205460ff16155b15610db057600e5482610d58856001600160a01b03165f9081526001602052604090205490565b610d629190611628565b1115610db05760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610411565b6012546001600160a01b038481169116148015610dd657506001600160a01b0384163014155b15610e0357610e006064610b64600a54600c5411610df657600654610b5d565b6008548590611009565b90505b305f90815260016020526040902054601254600160a81b900460ff16158015610e355750601254600160b01b900460ff165b8015610e4e57506012546001600160a01b038581169116145b8015610e5d5750600b54600c54115b15610e9257600f54811115610e8957610e89610e8484610e7f8460105461112d565b61112d565b611141565b610e92476112b1565b505b8015610f0c57305f90815260016020526040902054610eb390826110cf565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f039085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610f2e90836112ec565b6001600160a01b0385165f90815260016020526040902055610f71610f5383836112ec565b6001600160a01b0385165f90815260016020526040902054906110cf565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610fba85856112ec565b60405190815260200160405180910390a350505050565b5f8184841115610ff45760405162461bcd60e51b81526004016104119190611359565b505f6110008486611653565b95945050505050565b5f825f0361101857505f61035c565b5f6110238385611577565b9050826110308583611666565b146110875760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610411565b9392505050565b5f61108783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061132d565b5f806110db8385611628565b9050838110156110875760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610411565b5f81831161113b5782611087565b50919050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061118757611187611685565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111de573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061120291906115c3565b8160018151811061121557611215611685565b6001600160a01b03928316602091820292909201015260115461123b91309116846108c4565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906112739085905f90869030904290600401611699565b5f604051808303815f87803b15801561128a575f80fd5b505af115801561129c573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156112e8573d5f803e3d5ffd5b5050565b5f61108783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fd1565b5f818361134d5760405162461bcd60e51b81526004016104119190611359565b505f6110008486611666565b5f6020808352835180828501525f5b8181101561138457858101830151858201604001528201611368565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113b8575f80fd5b50565b5f80604083850312156113cc575f80fd5b82356113d7816113a4565b946020939093013593505050565b5f805f606084860312156113f7575f80fd5b8335611402816113a4565b92506020840135611412816113a4565b929592945050506040919091013590565b5f60208284031215611433575f80fd5b8135611087816113a4565b5f806040838503121561144f575f80fd5b823561145a816113a4565b9150602083013561146a816113a4565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156114c357815f19048211156114a9576114a9611475565b808516156114b657918102915b93841c939080029061148e565b509250929050565b5f826114d95750600161035c565b816114e557505f61035c565b81600181146114fb576002811461150557611521565b600191505061035c565b60ff84111561151657611516611475565b50506001821b61035c565b5060208310610133831016604e8410600b8410161715611544575081810a61035c565b61154e8383611489565b805f190482111561156157611561611475565b029392505050565b5f61108760ff8416836114cb565b808202811582820484141761035c5761035c611475565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156115d3575f80fd5b8151611087816113a4565b5f805f606084860312156115f0575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611619575f80fd5b81518015158114611087575f80fd5b8082018082111561035c5761035c611475565b5f6001820161164c5761164c611475565b5060010190565b8181038181111561035c5761035c611475565b5f8261168057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156116e75784516001600160a01b0316835293830193918301916001016116c2565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a789ff58c20ccc79b53885dfb88a9e9e5e40fb9d2b71d5384646665eec94f34464736f6c63430008150033

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.