ETH Price: $2,578.47 (-2.56%)
Gas: 1.06 Gwei

Contract

0x81b769d77d01000a56F347B39E29a132d106Bb83
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Manual Swap192663182024-02-20 3:44:23183 days ago1708400663IN
0x81b769d7...2d106Bb83
0 ETH0.003425922.51414262
Transfer192663172024-02-20 3:44:11183 days ago1708400651IN
0x81b769d7...2d106Bb83
3 ETH0.0005002723.76029567
Transfer192663162024-02-20 3:43:59183 days ago1708400639IN
0x81b769d7...2d106Bb83
0 ETH0.0011583124.63976863
Approve187683442023-12-12 6:33:11253 days ago1702362791IN
0x81b769d7...2d106Bb83
0 ETH0.0018148639.01506786
Approve185751802023-11-15 5:22:23280 days ago1700025743IN
0x81b769d7...2d106Bb83
0 ETH0.0012471926.776988
Approve185067792023-11-05 15:44:59289 days ago1699199099IN
0x81b769d7...2d106Bb83
0 ETH0.0010838923.30109471
Approve185025122023-11-05 1:23:35290 days ago1699147415IN
0x81b769d7...2d106Bb83
0 ETH0.0006768214.5313831
Approve184973802023-11-04 8:07:35291 days ago1699085255IN
0x81b769d7...2d106Bb83
0 ETH0.0005874512.62883864
Approve184938442023-11-03 20:14:11291 days ago1699042451IN
0x81b769d7...2d106Bb83
0 ETH0.0009947521.38486048
Approve184932612023-11-03 18:15:35291 days ago1699035335IN
0x81b769d7...2d106Bb83
0 ETH0.001022622.126215
Approve184932022023-11-03 18:03:35291 days ago1699034615IN
0x81b769d7...2d106Bb83
0 ETH0.0017274437.0878346
Approve184916692023-11-03 12:55:59292 days ago1699016159IN
0x81b769d7...2d106Bb83
0 ETH0.0010149621.9608627
Approve184912822023-11-03 11:37:35292 days ago1699011455IN
0x81b769d7...2d106Bb83
0 ETH0.0009635420.82133104
Approve184908482023-11-03 10:10:35292 days ago1699006235IN
0x81b769d7...2d106Bb83
0 ETH0.0007968417.13011293
Approve184907552023-11-03 9:51:47292 days ago1699005107IN
0x81b769d7...2d106Bb83
0 ETH0.0009363920.13017085
Approve184906012023-11-03 9:20:35292 days ago1699003235IN
0x81b769d7...2d106Bb83
0 ETH0.0010041721.58729855
Approve184903702023-11-03 8:33:59292 days ago1699000439IN
0x81b769d7...2d106Bb83
0 ETH0.0010896523.42496826
Approve184902622023-11-03 8:12:23292 days ago1698999143IN
0x81b769d7...2d106Bb83
0 ETH0.0015880334.13882625
Approve184900082023-11-03 7:20:23292 days ago1698996023IN
0x81b769d7...2d106Bb83
0 ETH0.0007092715.22794764
Approve184900052023-11-03 7:19:47292 days ago1698995987IN
0x81b769d7...2d106Bb83
0 ETH0.0007073215.18622028
Approve184899582023-11-03 7:10:23292 days ago1698995423IN
0x81b769d7...2d106Bb83
0 ETH0.0006148113.28560678
Approve184899512023-11-03 7:08:59292 days ago1698995339IN
0x81b769d7...2d106Bb83
0 ETH0.000608813.08770692
Approve184899272023-11-03 7:04:11292 days ago1698995051IN
0x81b769d7...2d106Bb83
0 ETH0.0005590412.0180201
Approve184899122023-11-03 7:01:11292 days ago1698994871IN
0x81b769d7...2d106Bb83
0 ETH0.0005807112.56490621
Approve184899022023-11-03 6:59:11292 days ago1698994751IN
0x81b769d7...2d106Bb83
0 ETH0.0005197911.24681036
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
192663182024-02-20 3:44:23183 days ago1708400663
0x81b769d7...2d106Bb83
3.02613587 ETH
192663182024-02-20 3:44:23183 days ago1708400663
0x81b769d7...2d106Bb83
0.02060392 ETH
184975942023-11-04 8:50:59291 days ago1699087859
0x81b769d7...2d106Bb83
0.00553195 ETH
184909592023-11-03 10:32:47292 days ago1699007567
0x81b769d7...2d106Bb83
0.05199304 ETH
184909592023-11-03 10:32:47292 days ago1699007567
0x81b769d7...2d106Bb83
0.00436157 ETH
184907572023-11-03 9:52:11292 days ago1699005131
0x81b769d7...2d106Bb83
0.00974373 ETH
184900072023-11-03 7:20:11292 days ago1698996011
0x81b769d7...2d106Bb83
0.01293177 ETH
184899222023-11-03 7:03:11292 days ago1698994991
0x81b769d7...2d106Bb83
0.00686736 ETH
184898562023-11-03 6:49:47292 days ago1698994187
0x81b769d7...2d106Bb83
0.0105877 ETH
184898292023-11-03 6:44:11292 days ago1698993851
0x81b769d7...2d106Bb83
0.00750088 ETH
184896202023-11-03 6:01:47292 days ago1698991307
0x81b769d7...2d106Bb83
0.05472287 ETH
184896202023-11-03 6:01:47292 days ago1698991307
0x81b769d7...2d106Bb83
0.0056922 ETH
184894832023-11-03 5:34:23292 days ago1698989663
0x81b769d7...2d106Bb83
0.00762873 ETH
184893922023-11-03 5:16:11292 days ago1698988571
0x81b769d7...2d106Bb83
0.00700042 ETH
184893482023-11-03 5:07:11292 days ago1698988031
0x81b769d7...2d106Bb83
0.00735531 ETH
184893472023-11-03 5:06:59292 days ago1698988019
0x81b769d7...2d106Bb83
0.00735531 ETH
184893112023-11-03 4:59:47292 days ago1698987587
0x81b769d7...2d106Bb83
0.01487627 ETH
184892932023-11-03 4:56:11292 days ago1698987371
0x81b769d7...2d106Bb83
0.01216993 ETH
184892922023-11-03 4:55:59292 days ago1698987359
0x81b769d7...2d106Bb83
0.01026419 ETH
184892842023-11-03 4:54:23292 days ago1698987263
0x81b769d7...2d106Bb83
0.06109843 ETH
184892842023-11-03 4:54:23292 days ago1698987263
0x81b769d7...2d106Bb83
0.02104187 ETH
184892562023-11-03 4:48:47292 days ago1698986927
0x81b769d7...2d106Bb83
0.04005655 ETH
184891672023-11-03 4:30:59292 days ago1698985859
0x81b769d7...2d106Bb83
0.05857757 ETH
184891672023-11-03 4:30:59292 days ago1698985859
0x81b769d7...2d106Bb83
0.05857757 ETH
184891312023-11-03 4:23:47292 days ago1698985427
0x81b769d7...2d106Bb83
0.05308768 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NESSIE

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : 08-anti_max_tx.sol
/**
Twitter: https://twitter.com/NessieERC
Telegram: https://t.me/NessieERC
Website: https://nessiemonster.xyz
**/

pragma solidity 0.8.21;
// SPDX-License-Identifier: MIT
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 NESSIE 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 _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    uint256 private _initialBuyTax = 20;
    uint256 private _initialSellTax = 5;
    
    uint256 private _finalBuyTax = 1;
    uint256 private _finalSellTax = 1;

    uint256 private _reduceBuyTaxAt = 20;
    uint256 private _reduceSellTaxAt = 20;
    uint256 private _preventSwapBefore = 10;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"NESSIE MONSTER";
    string private constant _symbol = unicode"NESSIE";

    uint256 public _maxTxAmount = 20000000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 2000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 15000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = 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 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 (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { 
                    require(
                        _holderLastTransferTimestamp[tx.origin] <
                            block.number,  
                        "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                    );
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>(_reduceSellTaxAt.mul(10)))?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 50000000000000000) {
                    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 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{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        _initialSellTax = _finalSellTax;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }


    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = 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(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function ManualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>3000000000000000000){
          sendETHToFee(ethBalance);
        }
    }
}

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

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":"ManualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"RemoveLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":[],"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

60806040526005805460ff1916600190811782556014600681905560079290925560088190556009908155600a828155600b92909255600c8290555f600d55620000499162000348565b62000059906301312d006200035f565b600e556200006a6009600a62000348565b6200007a906301312d006200035f565b600f556200008b6009600a62000348565b6200009a90621e84806200035f565b601055620000ab6009600a62000348565b620000ba9062e4e1c06200035f565b6011556013805461ffff60a81b19169055348015620000d7575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060058054610100600160a81b03191661010033021790556200013d6009600a62000348565b6200014d90633b9aca006200035f565b335f908152600160208190526040822092909255600390620001765f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556005546101009004909116835291208054909216179055620001d93390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002126009600a62000348565b6200022290633b9aca006200035f565b60405190815260200160405180910390a362000379565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028d57815f190482111562000271576200027162000239565b808516156200027f57918102915b93841c939080029062000252565b509250929050565b5f82620002a55750600162000342565b81620002b357505f62000342565b8160018114620002cc5760028114620002d757620002f7565b600191505062000342565b60ff841115620002eb57620002eb62000239565b50506001821b62000342565b5060208310610133831016604e8410600b84101617156200031c575081810a62000342565b6200032883836200024d565b805f19048211156200033e576200033e62000239565b0290505b92915050565b5f6200035860ff84168362000295565b9392505050565b808202811582820484141762000342576200034262000239565b61182880620003875f395ff3fe608060405260043610610113575f3560e01c80637d1db4a51161009d578063a9059cbb11610062578063a9059cbb146102f6578063bf474bed14610315578063c876d0b91461032a578063c9567bf914610343578063dd62ed3e14610357575f80fd5b80637d1db4a5146102645780638da5cb5b146102795780638f9a55c01461029f57806395d89b41146102b4578063a1780c18146102e2575f80fd5b806323b872dd116100e357806323b872dd146101cc578063313ce567146101eb57806356cd40e71461020657806370a082311461021c578063715018a614610250575f80fd5b806306fdde031461011e578063095ea7b3146101665780630faee56f1461019557806318160ddd146101b8575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600e81526d2722a9a9a4a29026a7a729aa22a960911b60208201525b60405161015d919061141b565b60405180910390f35b348015610171575f80fd5b5061018561018036600461147d565b61039b565b604051901515815260200161015d565b3480156101a0575f80fd5b506101aa60115481565b60405190815260200161015d565b3480156101c3575f80fd5b506101aa6103b1565b3480156101d7575f80fd5b506101856101e63660046114a7565b6103d1565b3480156101f6575f80fd5b506040516009815260200161015d565b348015610211575f80fd5b5061021a610438565b005b348015610227575f80fd5b506101aa6102363660046114e5565b6001600160a01b03165f9081526001602052604090205490565b34801561025b575f80fd5b5061021a610503565b34801561026f575f80fd5b506101aa600e5481565b348015610284575f80fd5b505f546040516001600160a01b03909116815260200161015d565b3480156102aa575f80fd5b506101aa600f5481565b3480156102bf575f80fd5b506040805180820190915260068152654e455353494560d01b6020820152610150565b3480156102ed575f80fd5b5061021a610574565b348015610301575f80fd5b5061018561031036600461147d565b6105d4565b348015610320575f80fd5b506101aa60105481565b348015610335575f80fd5b506005546101859060ff1681565b34801561034e575f80fd5b5061021a6105e0565b348015610362575f80fd5b506101aa610371366004611500565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103a7338484610989565b5060015b92915050565b5f6103be6009600a61162b565b6103cc90633b9aca00611639565b905090565b5f6103dd848484610aac565b61042e8433610429856040518060600160405280602881526020016117cb602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611093565b610989565b5060019392505050565b5f546001600160a01b0316331461046a5760405162461bcd60e51b815260040161046190611650565b60405180910390fd5b6104766009600a61162b565b61048490633b9aca00611639565b600e556104936009600a61162b565b6104a190633b9aca00611639565b600f55600980546007556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf906104e290600a61162b565b6104f090633b9aca00611639565b60405190815260200160405180910390a1565b5f546001600160a01b0316331461052c5760405162461bcd60e51b815260040161046190611650565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60055461010090046001600160a01b0316336001600160a01b031614610598575f80fd5b305f9081526001602052604090205480156105b6576105b6816110cb565b476729a2241af62c00008111156105d0576105d08161123b565b5050565b5f6103a7338484610aac565b5f546001600160a01b031633146106095760405162461bcd60e51b815260040161046190611650565b601354600160a01b900460ff16156106635760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610461565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106ac90309061069e6009600a61162b565b61042990633b9aca00611639565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107209190611685565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a39190611685565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108119190611685565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d7194730610858816001600160a01b03165f9081526001602052604090205490565b5f8061086b5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108d1573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108f691906116a0565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561094b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096f91906116cb565b506013805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109eb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610461565b6001600160a01b038216610a4c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610461565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b105760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610461565b6001600160a01b038216610b725760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610461565b5f8111610bd35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610461565b5f80546001600160a01b03858116911614801590610bfe57505f546001600160a01b03848116911614155b15610f5657610c2f6064610c29600a54600d5411610c1e57600654610c22565b6008545b8590611276565b906112fb565b60055490915060ff1615610d15576012546001600160a01b03848116911614801590610c6957506013546001600160a01b03848116911614155b15610d1557325f908152600460205260409020544311610d035760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610461565b325f9081526004602052604090204390555b6013546001600160a01b038581169116148015610d4057506012546001600160a01b03848116911614155b8015610d6457506001600160a01b0383165f9081526003602052604090205460ff16155b15610e4a57600e54821115610dbb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610461565b600f5482610ddd856001600160a01b03165f9081526001602052604090205490565b610de791906116ea565b1115610e355760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610461565b600d8054905f610e44836116fd565b91905055505b6013546001600160a01b038481169116148015610e7057506001600160a01b0384163014155b15610eb057610ead6064610c29610e93600a600b5461127690919063ffffffff16565b600d5411610ea357600754610c22565b6009548590611276565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610ee657506013546001600160a01b038581169116145b8015610efb5750601354600160b01b900460ff165b8015610f08575060105481115b8015610f175750600c54600d54115b15610f5457610f39610f3484610f2f8460115461133c565b61133c565b6110cb565b4766b1a2bc2ec50000811115610f5257610f524761123b565b505b505b8015610fce57305f90815260016020526040902054610f759082611350565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fc59085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610ff090836113ae565b6001600160a01b0385165f9081526001602052604090205561103361101583836113ae565b6001600160a01b0385165f9081526001602052604090205490611350565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61107c85856113ae565b60405190815260200160405180910390a350505050565b5f81848411156110b65760405162461bcd60e51b8152600401610461919061141b565b505f6110c28486611715565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061111157611111611728565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611168573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061118c9190611685565b8160018151811061119f5761119f611728565b6001600160a01b0392831660209182029290920101526012546111c59130911684610989565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906111fd9085905f9086903090429060040161173c565b5f604051808303815f87803b158015611214575f80fd5b505af1158015611226573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156105d0573d5f803e3d5ffd5b5f825f0361128557505f6103ab565b5f6112908385611639565b90508261129d85836117ab565b146112f45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610461565b9392505050565b5f6112f483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113ef565b5f81831161134a57826112f4565b50919050565b5f8061135c83856116ea565b9050838110156112f45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610461565b5f6112f483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611093565b5f818361140f5760405162461bcd60e51b8152600401610461919061141b565b505f6110c284866117ab565b5f6020808352835180828501525f5b818110156114465785810183015185820160400152820161142a565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461147a575f80fd5b50565b5f806040838503121561148e575f80fd5b823561149981611466565b946020939093013593505050565b5f805f606084860312156114b9575f80fd5b83356114c481611466565b925060208401356114d481611466565b929592945050506040919091013590565b5f602082840312156114f5575f80fd5b81356112f481611466565b5f8060408385031215611511575f80fd5b823561151c81611466565b9150602083013561152c81611466565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561158557815f190482111561156b5761156b611537565b8085161561157857918102915b93841c9390800290611550565b509250929050565b5f8261159b575060016103ab565b816115a757505f6103ab565b81600181146115bd57600281146115c7576115e3565b60019150506103ab565b60ff8411156115d8576115d8611537565b50506001821b6103ab565b5060208310610133831016604e8410600b8410161715611606575081810a6103ab565b611610838361154b565b805f190482111561162357611623611537565b029392505050565b5f6112f460ff84168361158d565b80820281158282048414176103ab576103ab611537565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611695575f80fd5b81516112f481611466565b5f805f606084860312156116b2575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156116db575f80fd5b815180151581146112f4575f80fd5b808201808211156103ab576103ab611537565b5f6001820161170e5761170e611537565b5060010190565b818103818111156103ab576103ab611537565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561178a5784516001600160a01b031683529383019391830191600101611765565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826117c557634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208987ff418e47e8014e446d94aca3f126171876a77c44da826c9f727f36b80c7864736f6c63430008150033

Deployed Bytecode

0x608060405260043610610113575f3560e01c80637d1db4a51161009d578063a9059cbb11610062578063a9059cbb146102f6578063bf474bed14610315578063c876d0b91461032a578063c9567bf914610343578063dd62ed3e14610357575f80fd5b80637d1db4a5146102645780638da5cb5b146102795780638f9a55c01461029f57806395d89b41146102b4578063a1780c18146102e2575f80fd5b806323b872dd116100e357806323b872dd146101cc578063313ce567146101eb57806356cd40e71461020657806370a082311461021c578063715018a614610250575f80fd5b806306fdde031461011e578063095ea7b3146101665780630faee56f1461019557806318160ddd146101b8575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600e81526d2722a9a9a4a29026a7a729aa22a960911b60208201525b60405161015d919061141b565b60405180910390f35b348015610171575f80fd5b5061018561018036600461147d565b61039b565b604051901515815260200161015d565b3480156101a0575f80fd5b506101aa60115481565b60405190815260200161015d565b3480156101c3575f80fd5b506101aa6103b1565b3480156101d7575f80fd5b506101856101e63660046114a7565b6103d1565b3480156101f6575f80fd5b506040516009815260200161015d565b348015610211575f80fd5b5061021a610438565b005b348015610227575f80fd5b506101aa6102363660046114e5565b6001600160a01b03165f9081526001602052604090205490565b34801561025b575f80fd5b5061021a610503565b34801561026f575f80fd5b506101aa600e5481565b348015610284575f80fd5b505f546040516001600160a01b03909116815260200161015d565b3480156102aa575f80fd5b506101aa600f5481565b3480156102bf575f80fd5b506040805180820190915260068152654e455353494560d01b6020820152610150565b3480156102ed575f80fd5b5061021a610574565b348015610301575f80fd5b5061018561031036600461147d565b6105d4565b348015610320575f80fd5b506101aa60105481565b348015610335575f80fd5b506005546101859060ff1681565b34801561034e575f80fd5b5061021a6105e0565b348015610362575f80fd5b506101aa610371366004611500565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103a7338484610989565b5060015b92915050565b5f6103be6009600a61162b565b6103cc90633b9aca00611639565b905090565b5f6103dd848484610aac565b61042e8433610429856040518060600160405280602881526020016117cb602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611093565b610989565b5060019392505050565b5f546001600160a01b0316331461046a5760405162461bcd60e51b815260040161046190611650565b60405180910390fd5b6104766009600a61162b565b61048490633b9aca00611639565b600e556104936009600a61162b565b6104a190633b9aca00611639565b600f55600980546007556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf906104e290600a61162b565b6104f090633b9aca00611639565b60405190815260200160405180910390a1565b5f546001600160a01b0316331461052c5760405162461bcd60e51b815260040161046190611650565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60055461010090046001600160a01b0316336001600160a01b031614610598575f80fd5b305f9081526001602052604090205480156105b6576105b6816110cb565b476729a2241af62c00008111156105d0576105d08161123b565b5050565b5f6103a7338484610aac565b5f546001600160a01b031633146106095760405162461bcd60e51b815260040161046190611650565b601354600160a01b900460ff16156106635760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610461565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106ac90309061069e6009600a61162b565b61042990633b9aca00611639565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107209190611685565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a39190611685565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108119190611685565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d7194730610858816001600160a01b03165f9081526001602052604090205490565b5f8061086b5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108d1573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108f691906116a0565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561094b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096f91906116cb565b506013805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109eb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610461565b6001600160a01b038216610a4c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610461565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b105760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610461565b6001600160a01b038216610b725760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610461565b5f8111610bd35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610461565b5f80546001600160a01b03858116911614801590610bfe57505f546001600160a01b03848116911614155b15610f5657610c2f6064610c29600a54600d5411610c1e57600654610c22565b6008545b8590611276565b906112fb565b60055490915060ff1615610d15576012546001600160a01b03848116911614801590610c6957506013546001600160a01b03848116911614155b15610d1557325f908152600460205260409020544311610d035760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610461565b325f9081526004602052604090204390555b6013546001600160a01b038581169116148015610d4057506012546001600160a01b03848116911614155b8015610d6457506001600160a01b0383165f9081526003602052604090205460ff16155b15610e4a57600e54821115610dbb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610461565b600f5482610ddd856001600160a01b03165f9081526001602052604090205490565b610de791906116ea565b1115610e355760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610461565b600d8054905f610e44836116fd565b91905055505b6013546001600160a01b038481169116148015610e7057506001600160a01b0384163014155b15610eb057610ead6064610c29610e93600a600b5461127690919063ffffffff16565b600d5411610ea357600754610c22565b6009548590611276565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610ee657506013546001600160a01b038581169116145b8015610efb5750601354600160b01b900460ff165b8015610f08575060105481115b8015610f175750600c54600d54115b15610f5457610f39610f3484610f2f8460115461133c565b61133c565b6110cb565b4766b1a2bc2ec50000811115610f5257610f524761123b565b505b505b8015610fce57305f90815260016020526040902054610f759082611350565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fc59085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610ff090836113ae565b6001600160a01b0385165f9081526001602052604090205561103361101583836113ae565b6001600160a01b0385165f9081526001602052604090205490611350565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61107c85856113ae565b60405190815260200160405180910390a350505050565b5f81848411156110b65760405162461bcd60e51b8152600401610461919061141b565b505f6110c28486611715565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061111157611111611728565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611168573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061118c9190611685565b8160018151811061119f5761119f611728565b6001600160a01b0392831660209182029290920101526012546111c59130911684610989565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906111fd9085905f9086903090429060040161173c565b5f604051808303815f87803b158015611214575f80fd5b505af1158015611226573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156105d0573d5f803e3d5ffd5b5f825f0361128557505f6103ab565b5f6112908385611639565b90508261129d85836117ab565b146112f45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610461565b9392505050565b5f6112f483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113ef565b5f81831161134a57826112f4565b50919050565b5f8061135c83856116ea565b9050838110156112f45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610461565b5f6112f483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611093565b5f818361140f5760405162461bcd60e51b8152600401610461919061141b565b505f6110c284866117ab565b5f6020808352835180828501525f5b818110156114465785810183015185820160400152820161142a565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461147a575f80fd5b50565b5f806040838503121561148e575f80fd5b823561149981611466565b946020939093013593505050565b5f805f606084860312156114b9575f80fd5b83356114c481611466565b925060208401356114d481611466565b929592945050506040919091013590565b5f602082840312156114f5575f80fd5b81356112f481611466565b5f8060408385031215611511575f80fd5b823561151c81611466565b9150602083013561152c81611466565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561158557815f190482111561156b5761156b611537565b8085161561157857918102915b93841c9390800290611550565b509250929050565b5f8261159b575060016103ab565b816115a757505f6103ab565b81600181146115bd57600281146115c7576115e3565b60019150506103ab565b60ff8411156115d8576115d8611537565b50506001821b6103ab565b5060208310610133831016604e8410600b8410161715611606575081810a6103ab565b611610838361154b565b805f190482111561162357611623611537565b029392505050565b5f6112f460ff84168361158d565b80820281158282048414176103ab576103ab611537565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611695575f80fd5b81516112f481611466565b5f805f606084860312156116b2575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156116db575f80fd5b815180151581146112f4575f80fd5b808201808211156103ab576103ab611537565b5f6001820161170e5761170e611537565b5060010190565b818103818111156103ab576103ab611537565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561178a5784516001600160a01b031683529383019391830191600101611765565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826117c557634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208987ff418e47e8014e446d94aca3f126171876a77c44da826c9f727f36b80c7864736f6c63430008150033

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.