ETH Price: $3,239.04 (-0.46%)

Contract

0xA1028B028519660eec4111Df26bA0Fc12f0A8D6e
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve184451272023-10-28 0:29:11441 days ago1698452951IN
Fake_Phishing327101
0 ETH0.0006868814.73910726
Approve184451262023-10-28 0:28:59441 days ago1698452939IN
Fake_Phishing327101
0 ETH0.0006986114.99081893
Transfer184450852023-10-28 0:20:35441 days ago1698452435IN
Fake_Phishing327101
0 ETH0.0007233912.85438526
Approve184449992023-10-28 0:03:23441 days ago1698451403IN
Fake_Phishing327101
0 ETH0.0008373117.96698857
Transfer184449892023-10-28 0:01:23441 days ago1698451283IN
Fake_Phishing327101
0 ETH0.0009417316.73421577
Transfer184449842023-10-28 0:00:23441 days ago1698451223IN
Fake_Phishing327101
0 ETH0.0007961414.14721646
Approve184241692023-10-25 2:04:47444 days ago1698199487IN
Fake_Phishing327101
0 ETH0.0003159913.02579127
Approve183675042023-10-17 3:46:35451 days ago1697514395IN
Fake_Phishing327101
0 ETH0.000138195.69665595
Approve183635642023-10-16 14:34:23452 days ago1697466863IN
Fake_Phishing327101
0 ETH0.0006472413.90638352
Approve183166772023-10-10 1:08:11459 days ago1696900091IN
Fake_Phishing327101
0 ETH0.000240355.16418548
Approve183081902023-10-08 20:37:59460 days ago1696797479IN
Fake_Phishing327101
0 ETH0.000314336.7449462
Approve182971732023-10-07 7:39:47461 days ago1696664387IN
Fake_Phishing327101
0 ETH0.000341267.33227511
Approve182892802023-10-06 5:09:11462 days ago1696568951IN
Fake_Phishing327101
0 ETH0.000181226.21850749
Approve182892672023-10-06 5:06:35462 days ago1696568795IN
Fake_Phishing327101
0 ETH0.00017686.06695692
Approve182891712023-10-06 4:47:23462 days ago1696567643IN
Fake_Phishing327101
0 ETH0.000163916.22239104
Approve182891562023-10-06 4:44:23462 days ago1696567463IN
Fake_Phishing327101
0 ETH0.000152025.77107639
Approve182891532023-10-06 4:43:47462 days ago1696567427IN
Fake_Phishing327101
0 ETH0.000258665.59356973
Approve182891422023-10-06 4:41:35462 days ago1696567295IN
Fake_Phishing327101
0 ETH0.000174675.99364299
Approve182708422023-10-03 15:17:23465 days ago1696346243IN
Fake_Phishing327101
0 ETH0.000846718.30999127
Approve182678812023-10-03 5:20:23465 days ago1696310423IN
Fake_Phishing327101
0 ETH0.000181796.22520671
Approve182659212023-10-02 22:45:23466 days ago1696286723IN
Fake_Phishing327101
0 ETH0.0006469813.99088977
Approve182618942023-10-02 9:16:47466 days ago1696238207IN
Fake_Phishing327101
0 ETH0.000454679.76882598
Approve182615102023-10-02 7:59:59466 days ago1696233599IN
Fake_Phishing327101
0 ETH0.0003818.18611504
Approve182597212023-10-02 1:59:59467 days ago1696211999IN
Fake_Phishing327101
0 ETH0.000465349.99814818
Approve182597102023-10-02 1:57:47467 days ago1696211867IN
Fake_Phishing327101
0 ETH0.0005436611.68087009
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
183635662023-10-16 14:34:47452 days ago1697466887
Fake_Phishing327101
0.00784573 ETH
183635662023-10-16 14:34:47452 days ago1697466887
Fake_Phishing327101
0.00784573 ETH
182859562023-10-05 17:59:59463 days ago1696528799
Fake_Phishing327101
0.01362717 ETH
182859562023-10-05 17:59:59463 days ago1696528799
Fake_Phishing327101
0.01362717 ETH
182615472023-10-02 8:07:23466 days ago1696234043
Fake_Phishing327101
0.02004678 ETH
182615472023-10-02 8:07:23466 days ago1696234043
Fake_Phishing327101
0.02004678 ETH
182586692023-10-01 22:28:59467 days ago1696199339
Fake_Phishing327101
0.01400203 ETH
182586692023-10-01 22:28:59467 days ago1696199339
Fake_Phishing327101
0.01400203 ETH
182568762023-10-01 16:28:11467 days ago1696177691
Fake_Phishing327101
0.05682125 ETH
182568762023-10-01 16:28:11467 days ago1696177691
Fake_Phishing327101
0.05682125 ETH
182520402023-10-01 0:15:23468 days ago1696119323
Fake_Phishing327101
0.04396411 ETH
182520402023-10-01 0:15:23468 days ago1696119323
Fake_Phishing327101
0.04396411 ETH
182506622023-09-30 19:39:23468 days ago1696102763
Fake_Phishing327101
0.04579194 ETH
182506622023-09-30 19:39:23468 days ago1696102763
Fake_Phishing327101
0.04579194 ETH
182504732023-09-30 19:01:35468 days ago1696100495
Fake_Phishing327101
0.03326993 ETH
182504732023-09-30 19:01:35468 days ago1696100495
Fake_Phishing327101
0.03326993 ETH
182503572023-09-30 18:38:11468 days ago1696099091
Fake_Phishing327101
0.01640852 ETH
182503572023-09-30 18:38:11468 days ago1696099091
Fake_Phishing327101
0.01640852 ETH
182500512023-09-30 17:36:11468 days ago1696095371
Fake_Phishing327101
0.08309524 ETH
182500512023-09-30 17:36:11468 days ago1696095371
Fake_Phishing327101
0.08309524 ETH
182498812023-09-30 17:02:11468 days ago1696093331
Fake_Phishing327101
0.07454625 ETH
182498812023-09-30 17:02:11468 days ago1696093331
Fake_Phishing327101
0.07454625 ETH
182496652023-09-30 16:18:35468 days ago1696090715
Fake_Phishing327101
0.03987157 ETH
182496652023-09-30 16:18:35468 days ago1696090715
Fake_Phishing327101
0.03987157 ETH
182495782023-09-30 16:01:11468 days ago1696089671
Fake_Phishing327101
0.02749081 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ETFBULL

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : bitcoin_ethbull.sol
/**
 *Submitted for verification at Etherscan.io on 2023-09-30
*/

/** 
Let the bullrun start with ETFBULL - support and push crypto forward

Linktree:	https://linktr.ee/etfbull
Web:		etfbull.website
Telegram: 	https://t.me/ETF_BULL
Twitter X:	https://twitter.com/etfbull

**/

// SPDX-License-Identifier: NONE

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 ETFBULL 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 = false;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=25;
    uint256 private _initialSellTax=35;
    uint256 private _finalBuyTax=2;
    uint256 private _finalSellTax=2;
    uint256 public _reduceBuyTaxAt=30;
    uint256 public _reduceSellTaxAt=40;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 8;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"BlackRockFidelityWisdomTreeWiseOriginVaneckBitwiseETFBULL";
    string private constant _symbol = unicode"ETFBULL";
    uint256 public _maxTxAmount =   20000000 * 10**_decimals;
    uint256 public _maxWalletSize = 30000000 * 10**_decimals;
    uint256 public _taxSwapThreshold=3000000 * 10**_decimals;
    uint256 public _maxTaxSwap=3000000 * 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()) {
            require(!bots[from] && !bots[to]);

            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                  require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer 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++;
            }


            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_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 > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

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


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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        if(!tradingOpen){return;}
        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;
        _reduceSellTaxAt=20;
        _reduceBuyTaxAt=20;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

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

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

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":"_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":"_reduceBuyTaxAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_reduceSellTaxAt","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":[],"name":"gottagofast","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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"}]

60806040526006805460ff1916905560196007556023600890815560026009819055600a908155601e600b556028600c556014600d556000600e5562000046919062000351565b62000056906301312d0062000369565b600f55620000676008600a62000351565b62000077906301c9c38062000369565b601055620000886008600a62000351565b6200009790622dc6c062000369565b601155620000a86008600a62000351565b620000b790622dc6c062000369565b6012556014805461ffff60a81b19169055348015620000d557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191661010033021790556200013c6008600a62000351565b6200014c90633b9aca0062000369565b336000908152600160208190526040822092909255600390620001776000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001db3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002156008600a62000351565b6200022590633b9aca0062000369565b60405190815260200160405180910390a362000383565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002935781600019048211156200027757620002776200023c565b808516156200028557918102915b93841c939080029062000257565b509250929050565b600082620002ac575060016200034b565b81620002bb575060006200034b565b8160018114620002d45760028114620002df57620002ff565b60019150506200034b565b60ff841115620002f357620002f36200023c565b50506001821b6200034b565b5060208310610133831016604e8410600b841016171562000324575081810a6200034b565b62000330838362000252565b80600019048211156200034757620003476200023c565b0290505b92915050565b60006200036260ff8416836200029b565b9392505050565b80820281158282048414176200034b576200034b6200023c565b611bea80620003936000396000f3fe60806040526004361061014e5760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb146103a9578063bf474bed146103c9578063c36956a0146103df578063c876d0b9146103f5578063d34628cc1461040f578063dd62ed3e1461042f57600080fd5b8063715018a6146102fb578063751039fc146103105780637d1db4a5146103255780638da5cb5b1461033b5780638f9a55c01461036357806395d89b411461037957600080fd5b806323b872dd1161010857806323b872dd1461021b578063313ce5671461023b57806331c2d847146102575780633bbac5791461027757806351bc3c85146102b057806370a08231146102c557600080fd5b8062a2554b1461015a57806306fdde0314610171578063095ea7b31461019c5780630c193045146101cc5780630faee56f146101f057806318160ddd1461020657600080fd5b3661015557005b600080fd5b34801561016657600080fd5b5061016f610475565b005b34801561017d57600080fd5b5061018661083f565b6040516101939190611695565b60405180910390f35b3480156101a857600080fd5b506101bc6101b736600461170b565b61085f565b6040519015158152602001610193565b3480156101d857600080fd5b506101e2600b5481565b604051908152602001610193565b3480156101fc57600080fd5b506101e260125481565b34801561021257600080fd5b506101e2610876565b34801561022757600080fd5b506101bc610236366004611737565b610897565b34801561024757600080fd5b5060405160088152602001610193565b34801561026357600080fd5b5061016f61027236600461178e565b6108fb565b34801561028357600080fd5b506101bc610292366004611853565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102bc57600080fd5b5061016f610991565b3480156102d157600080fd5b506101e26102e0366004611853565b6001600160a01b031660009081526001602052604090205490565b34801561030757600080fd5b5061016f6109e5565b34801561031c57600080fd5b5061016f610a59565b34801561033157600080fd5b506101e2600f5481565b34801561034757600080fd5b506000546040516001600160a01b039091168152602001610193565b34801561036f57600080fd5b506101e260105481565b34801561038557600080fd5b506040805180820190915260078152661155119095531360ca1b6020820152610186565b3480156103b557600080fd5b506101bc6103c436600461170b565b610b1f565b3480156103d557600080fd5b506101e260115481565b3480156103eb57600080fd5b506101e2600c5481565b34801561040157600080fd5b506006546101bc9060ff1681565b34801561041b57600080fd5b5061016f61042a36600461178e565b610b2c565b34801561043b57600080fd5b506101e261044a366004611870565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000546001600160a01b031633146104a85760405162461bcd60e51b815260040161049f906118a9565b60405180910390fd5b601454600160a01b900460ff16156105025760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161049f565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561055090309061053d6008600a6119d8565b61054b90633b9aca006119e7565b610bbe565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c791906119fe565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610629573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064d91906119fe565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561069a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106be91906119fe565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610706816001600160a01b031660009081526001602052604090205490565b60008061071b6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610783573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107a89190611a1b565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610801573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108259190611a49565b506014805462ff00ff60a01b19166201000160a01b179055565b6060604051806060016040528060398152602001611b5460399139905090565b600061086c338484610bbe565b5060015b92915050565b60006108846008600a6119d8565b61089290633b9aca006119e7565b905090565b60006108a4848484610ce2565b6108f1843361054b85604051806060016040528060288152602001611b8d602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112db565b5060019392505050565b6000546001600160a01b031633146109255760405162461bcd60e51b815260040161049f906118a9565b60005b815181101561098d5760006004600084848151811061094957610949611a6b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061098581611a81565b915050610928565b5050565b60065461010090046001600160a01b0316336001600160a01b0316146109b657600080fd5b3060009081526001602052604090205480156109d5576109d581611315565b47801561098d5761098d816114a8565b6000546001600160a01b03163314610a0f5760405162461bcd60e51b815260040161049f906118a9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610a835760405162461bcd60e51b815260040161049f906118a9565b610a8f6008600a6119d8565b610a9d90633b9aca006119e7565b600f55610aac6008600a6119d8565b610aba90633b9aca006119e7565b6010556006805460ff191690556014600c819055600b557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610afe6008600a6119d8565b610b0c90633b9aca006119e7565b60405190815260200160405180910390a1565b600061086c338484610ce2565b6000546001600160a01b03163314610b565760405162461bcd60e51b815260040161049f906118a9565b60005b815181101561098d57600160046000848481518110610b7a57610b7a611a6b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610bb681611a81565b915050610b59565b6001600160a01b038316610c205760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161049f565b6001600160a01b038216610c815760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161049f565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d465760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161049f565b6001600160a01b038216610da85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161049f565b60008111610e0a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161049f565b600080546001600160a01b03858116911614801590610e3757506000546001600160a01b03848116911614155b15611198576001600160a01b03841660009081526004602052604090205460ff16158015610e7e57506001600160a01b03831660009081526004602052604090205460ff16155b610e8757600080fd5b60065460ff1615610f40576013546001600160a01b03848116911614801590610ebe57506014546001600160a01b03848116911614155b15610f4057326000908152600560205260409020544311610f2d5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b606482015260840161049f565b3260009081526005602052604090204390555b6014546001600160a01b038581169116148015610f6b57506013546001600160a01b03848116911614155b8015610f9057506001600160a01b03831660009081526003602052604090205460ff16155b1561107857600f54821115610fe75760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161049f565b6010548261100a856001600160a01b031660009081526001602052604090205490565b6110149190611a9a565b11156110625760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161049f565b600e805490600061107283611a81565b91905055505b6110a4606461109e600b54600e541161109357600754611097565b6009545b85906114e6565b9061156f565b6014549091506001600160a01b0384811691161480156110cd57506001600160a01b0384163014155b156110fa576110f7606461109e600c54600e54116110ed57600854611097565b600a5485906114e6565b90505b30600090815260016020526040902054601454600160a81b900460ff1615801561113157506014546001600160a01b038581169116145b80156111465750601454600160b01b900460ff165b8015611153575060115481115b80156111625750600d54600e54115b156111965761118461117f8461117a846012546115b1565b6115b1565b611315565b47801561119457611194476114a8565b505b505b801561121257306000908152600160205260409020546111b890826115c6565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112099085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546112359083611625565b6001600160a01b03851660009081526001602052604090205561127a61125b8383611625565b6001600160a01b038516600090815260016020526040902054906115c6565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112c48585611625565b60405190815260200160405180910390a350505050565b600081848411156112ff5760405162461bcd60e51b815260040161049f9190611695565b50600061130c8486611aad565b95945050505050565b6014805460ff60a81b1916600160a81b179055801561149857601454600160a01b900460ff161561149857604080516002808252606082018352600092602083019080368337019050509050308160008151811061137557611375611a6b565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f291906119fe565b8160018151811061140557611405611a6b565b6001600160a01b03928316602091820292909201015260135461142b9130911684610bbe565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611464908590600090869030904290600401611ac0565b600060405180830381600087803b15801561147e57600080fd5b505af1158015611492573d6000803e3d6000fd5b50505050505b506014805460ff60a81b19169055565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561098d573d6000803e3d6000fd5b6000826000036114f857506000610870565b600061150483856119e7565b9050826115118583611b31565b146115685760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161049f565b9392505050565b600061156883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611667565b60008183116115c05782611568565b50919050565b6000806115d38385611a9a565b9050838110156115685760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161049f565b600061156883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112db565b600081836116885760405162461bcd60e51b815260040161049f9190611695565b50600061130c8486611b31565b600060208083528351808285015260005b818110156116c2578581018301518582016040015282016116a6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116f857600080fd5b50565b8035611706816116e3565b919050565b6000806040838503121561171e57600080fd5b8235611729816116e3565b946020939093013593505050565b60008060006060848603121561174c57600080fd5b8335611757816116e3565b92506020840135611767816116e3565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156117a157600080fd5b823567ffffffffffffffff808211156117b957600080fd5b818501915085601f8301126117cd57600080fd5b8135818111156117df576117df611778565b8060051b604051601f19603f8301168101818110858211171561180457611804611778565b60405291825284820192508381018501918883111561182257600080fd5b938501935b8285101561184757611838856116fb565b84529385019392850192611827565b98975050505050505050565b60006020828403121561186557600080fd5b8135611568816116e3565b6000806040838503121561188357600080fd5b823561188e816116e3565b9150602083013561189e816116e3565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561192f578160001904821115611915576119156118de565b8085161561192257918102915b93841c93908002906118f9565b509250929050565b60008261194657506001610870565b8161195357506000610870565b816001811461196957600281146119735761198f565b6001915050610870565b60ff841115611984576119846118de565b50506001821b610870565b5060208310610133831016604e8410600b84101617156119b2575081810a610870565b6119bc83836118f4565b80600019048211156119d0576119d06118de565b029392505050565b600061156860ff841683611937565b8082028115828204841417610870576108706118de565b600060208284031215611a1057600080fd5b8151611568816116e3565b600080600060608486031215611a3057600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a5b57600080fd5b8151801515811461156857600080fd5b634e487b7160e01b600052603260045260246000fd5b600060018201611a9357611a936118de565b5060010190565b80820180821115610870576108706118de565b81810381811115610870576108706118de565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b105784516001600160a01b031683529383019391830191600101611aeb565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b4e57634e487b7160e01b600052601260045260246000fd5b50049056fe426c61636b526f636b466964656c697479576973646f6d54726565576973654f726967696e56616e65636b4269747769736545544642554c4c45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122078d005f13d553cfb991bac20ffd54f4aa2fa4a08b41b6a79a30b12efa225fdc564736f6c63430008130033

Deployed Bytecode

0x60806040526004361061014e5760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb146103a9578063bf474bed146103c9578063c36956a0146103df578063c876d0b9146103f5578063d34628cc1461040f578063dd62ed3e1461042f57600080fd5b8063715018a6146102fb578063751039fc146103105780637d1db4a5146103255780638da5cb5b1461033b5780638f9a55c01461036357806395d89b411461037957600080fd5b806323b872dd1161010857806323b872dd1461021b578063313ce5671461023b57806331c2d847146102575780633bbac5791461027757806351bc3c85146102b057806370a08231146102c557600080fd5b8062a2554b1461015a57806306fdde0314610171578063095ea7b31461019c5780630c193045146101cc5780630faee56f146101f057806318160ddd1461020657600080fd5b3661015557005b600080fd5b34801561016657600080fd5b5061016f610475565b005b34801561017d57600080fd5b5061018661083f565b6040516101939190611695565b60405180910390f35b3480156101a857600080fd5b506101bc6101b736600461170b565b61085f565b6040519015158152602001610193565b3480156101d857600080fd5b506101e2600b5481565b604051908152602001610193565b3480156101fc57600080fd5b506101e260125481565b34801561021257600080fd5b506101e2610876565b34801561022757600080fd5b506101bc610236366004611737565b610897565b34801561024757600080fd5b5060405160088152602001610193565b34801561026357600080fd5b5061016f61027236600461178e565b6108fb565b34801561028357600080fd5b506101bc610292366004611853565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102bc57600080fd5b5061016f610991565b3480156102d157600080fd5b506101e26102e0366004611853565b6001600160a01b031660009081526001602052604090205490565b34801561030757600080fd5b5061016f6109e5565b34801561031c57600080fd5b5061016f610a59565b34801561033157600080fd5b506101e2600f5481565b34801561034757600080fd5b506000546040516001600160a01b039091168152602001610193565b34801561036f57600080fd5b506101e260105481565b34801561038557600080fd5b506040805180820190915260078152661155119095531360ca1b6020820152610186565b3480156103b557600080fd5b506101bc6103c436600461170b565b610b1f565b3480156103d557600080fd5b506101e260115481565b3480156103eb57600080fd5b506101e2600c5481565b34801561040157600080fd5b506006546101bc9060ff1681565b34801561041b57600080fd5b5061016f61042a36600461178e565b610b2c565b34801561043b57600080fd5b506101e261044a366004611870565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000546001600160a01b031633146104a85760405162461bcd60e51b815260040161049f906118a9565b60405180910390fd5b601454600160a01b900460ff16156105025760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161049f565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561055090309061053d6008600a6119d8565b61054b90633b9aca006119e7565b610bbe565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c791906119fe565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610629573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064d91906119fe565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561069a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106be91906119fe565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610706816001600160a01b031660009081526001602052604090205490565b60008061071b6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610783573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107a89190611a1b565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610801573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108259190611a49565b506014805462ff00ff60a01b19166201000160a01b179055565b6060604051806060016040528060398152602001611b5460399139905090565b600061086c338484610bbe565b5060015b92915050565b60006108846008600a6119d8565b61089290633b9aca006119e7565b905090565b60006108a4848484610ce2565b6108f1843361054b85604051806060016040528060288152602001611b8d602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112db565b5060019392505050565b6000546001600160a01b031633146109255760405162461bcd60e51b815260040161049f906118a9565b60005b815181101561098d5760006004600084848151811061094957610949611a6b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061098581611a81565b915050610928565b5050565b60065461010090046001600160a01b0316336001600160a01b0316146109b657600080fd5b3060009081526001602052604090205480156109d5576109d581611315565b47801561098d5761098d816114a8565b6000546001600160a01b03163314610a0f5760405162461bcd60e51b815260040161049f906118a9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610a835760405162461bcd60e51b815260040161049f906118a9565b610a8f6008600a6119d8565b610a9d90633b9aca006119e7565b600f55610aac6008600a6119d8565b610aba90633b9aca006119e7565b6010556006805460ff191690556014600c819055600b557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610afe6008600a6119d8565b610b0c90633b9aca006119e7565b60405190815260200160405180910390a1565b600061086c338484610ce2565b6000546001600160a01b03163314610b565760405162461bcd60e51b815260040161049f906118a9565b60005b815181101561098d57600160046000848481518110610b7a57610b7a611a6b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610bb681611a81565b915050610b59565b6001600160a01b038316610c205760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161049f565b6001600160a01b038216610c815760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161049f565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d465760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161049f565b6001600160a01b038216610da85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161049f565b60008111610e0a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161049f565b600080546001600160a01b03858116911614801590610e3757506000546001600160a01b03848116911614155b15611198576001600160a01b03841660009081526004602052604090205460ff16158015610e7e57506001600160a01b03831660009081526004602052604090205460ff16155b610e8757600080fd5b60065460ff1615610f40576013546001600160a01b03848116911614801590610ebe57506014546001600160a01b03848116911614155b15610f4057326000908152600560205260409020544311610f2d5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b606482015260840161049f565b3260009081526005602052604090204390555b6014546001600160a01b038581169116148015610f6b57506013546001600160a01b03848116911614155b8015610f9057506001600160a01b03831660009081526003602052604090205460ff16155b1561107857600f54821115610fe75760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161049f565b6010548261100a856001600160a01b031660009081526001602052604090205490565b6110149190611a9a565b11156110625760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161049f565b600e805490600061107283611a81565b91905055505b6110a4606461109e600b54600e541161109357600754611097565b6009545b85906114e6565b9061156f565b6014549091506001600160a01b0384811691161480156110cd57506001600160a01b0384163014155b156110fa576110f7606461109e600c54600e54116110ed57600854611097565b600a5485906114e6565b90505b30600090815260016020526040902054601454600160a81b900460ff1615801561113157506014546001600160a01b038581169116145b80156111465750601454600160b01b900460ff165b8015611153575060115481115b80156111625750600d54600e54115b156111965761118461117f8461117a846012546115b1565b6115b1565b611315565b47801561119457611194476114a8565b505b505b801561121257306000908152600160205260409020546111b890826115c6565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112099085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546112359083611625565b6001600160a01b03851660009081526001602052604090205561127a61125b8383611625565b6001600160a01b038516600090815260016020526040902054906115c6565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112c48585611625565b60405190815260200160405180910390a350505050565b600081848411156112ff5760405162461bcd60e51b815260040161049f9190611695565b50600061130c8486611aad565b95945050505050565b6014805460ff60a81b1916600160a81b179055801561149857601454600160a01b900460ff161561149857604080516002808252606082018352600092602083019080368337019050509050308160008151811061137557611375611a6b565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f291906119fe565b8160018151811061140557611405611a6b565b6001600160a01b03928316602091820292909201015260135461142b9130911684610bbe565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611464908590600090869030904290600401611ac0565b600060405180830381600087803b15801561147e57600080fd5b505af1158015611492573d6000803e3d6000fd5b50505050505b506014805460ff60a81b19169055565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561098d573d6000803e3d6000fd5b6000826000036114f857506000610870565b600061150483856119e7565b9050826115118583611b31565b146115685760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161049f565b9392505050565b600061156883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611667565b60008183116115c05782611568565b50919050565b6000806115d38385611a9a565b9050838110156115685760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161049f565b600061156883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112db565b600081836116885760405162461bcd60e51b815260040161049f9190611695565b50600061130c8486611b31565b600060208083528351808285015260005b818110156116c2578581018301518582016040015282016116a6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116f857600080fd5b50565b8035611706816116e3565b919050565b6000806040838503121561171e57600080fd5b8235611729816116e3565b946020939093013593505050565b60008060006060848603121561174c57600080fd5b8335611757816116e3565b92506020840135611767816116e3565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156117a157600080fd5b823567ffffffffffffffff808211156117b957600080fd5b818501915085601f8301126117cd57600080fd5b8135818111156117df576117df611778565b8060051b604051601f19603f8301168101818110858211171561180457611804611778565b60405291825284820192508381018501918883111561182257600080fd5b938501935b8285101561184757611838856116fb565b84529385019392850192611827565b98975050505050505050565b60006020828403121561186557600080fd5b8135611568816116e3565b6000806040838503121561188357600080fd5b823561188e816116e3565b9150602083013561189e816116e3565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561192f578160001904821115611915576119156118de565b8085161561192257918102915b93841c93908002906118f9565b509250929050565b60008261194657506001610870565b8161195357506000610870565b816001811461196957600281146119735761198f565b6001915050610870565b60ff841115611984576119846118de565b50506001821b610870565b5060208310610133831016604e8410600b84101617156119b2575081810a610870565b6119bc83836118f4565b80600019048211156119d0576119d06118de565b029392505050565b600061156860ff841683611937565b8082028115828204841417610870576108706118de565b600060208284031215611a1057600080fd5b8151611568816116e3565b600080600060608486031215611a3057600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a5b57600080fd5b8151801515811461156857600080fd5b634e487b7160e01b600052603260045260246000fd5b600060018201611a9357611a936118de565b5060010190565b80820180821115610870576108706118de565b81810381811115610870576108706118de565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b105784516001600160a01b031683529383019391830191600101611aeb565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b4e57634e487b7160e01b600052601260045260246000fd5b50049056fe426c61636b526f636b466964656c697479576973646f6d54726565576973654f726967696e56616e65636b4269747769736545544642554c4c45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122078d005f13d553cfb991bac20ffd54f4aa2fa4a08b41b6a79a30b12efa225fdc564736f6c63430008130033

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.