ETH Price: $2,829.67 (-7.34%)
Gas: 7 Gwei

Contract

0x869A75D8A1b6efb404fe59aa8F8951c4FF30F47e
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve169083202023-03-26 1:25:11470 days ago1679793911IN
0x869A75D8...4FF30F47e
0 ETH0.0003130412.91584186
Approve167310772023-03-01 3:23:47494 days ago1677641027IN
0x869A75D8...4FF30F47e
0 ETH0.0009328520.05242235
Approve167086102023-02-25 23:39:47498 days ago1677368387IN
0x869A75D8...4FF30F47e
0 ETH0.0004166817.19229847
Approve166743522023-02-21 3:57:23502 days ago1676951843IN
0x869A75D8...4FF30F47e
0 ETH0.0012876227.6784142
Approve165871682023-02-08 22:57:59515 days ago1675897079IN
0x869A75D8...4FF30F47e
0 ETH0.0014217830.5621947
Approve165871652023-02-08 22:57:23515 days ago1675897043IN
0x869A75D8...4FF30F47e
0 ETH0.001436630.88086216
Approve165868842023-02-08 22:01:11515 days ago1675893671IN
0x869A75D8...4FF30F47e
0 ETH0.0017791738.24462257
Approve165868842023-02-08 22:01:11515 days ago1675893671IN
0x869A75D8...4FF30F47e
0 ETH0.0021978647.24462257
Approve165868542023-02-08 21:55:11515 days ago1675893311IN
0x869A75D8...4FF30F47e
0 ETH0.0016663935.8201806
Approve165868442023-02-08 21:53:11515 days ago1675893191IN
0x869A75D8...4FF30F47e
0 ETH0.0015949334.28426862
Approve165868312023-02-08 21:50:35515 days ago1675893035IN
0x869A75D8...4FF30F47e
0 ETH0.0017118536.75
Approve165868282023-02-08 21:49:59515 days ago1675892999IN
0x869A75D8...4FF30F47e
0 ETH0.0016238734.90636531
Approve165868192023-02-08 21:48:11515 days ago1675892891IN
0x869A75D8...4FF30F47e
0 ETH0.0015651833.64462896
Approve165867672023-02-08 21:37:47515 days ago1675892267IN
0x869A75D8...4FF30F47e
0 ETH0.0015234132.74689024
Approve165867432023-02-08 21:32:59515 days ago1675891979IN
0x869A75D8...4FF30F47e
0 ETH0.0019044540.93743114
Approve165867132023-02-08 21:26:59515 days ago1675891619IN
0x869A75D8...4FF30F47e
0 ETH0.0016952636.44087438
Approve165866972023-02-08 21:23:47515 days ago1675891427IN
0x869A75D8...4FF30F47e
0 ETH0.0017118336.79694901
Approve165866952023-02-08 21:23:23515 days ago1675891403IN
0x869A75D8...4FF30F47e
0 ETH0.0017107836.77452299
Approve165866932023-02-08 21:22:59515 days ago1675891379IN
0x869A75D8...4FF30F47e
0 ETH0.0014846531.91365774
Approve165866592023-02-08 21:16:11515 days ago1675890971IN
0x869A75D8...4FF30F47e
0 ETH0.0016371535.14647151
Approve165866562023-02-08 21:15:35515 days ago1675890935IN
0x869A75D8...4FF30F47e
0 ETH0.001640835.22466899
Approve165866512023-02-08 21:14:35515 days ago1675890875IN
0x869A75D8...4FF30F47e
0 ETH0.0019379941.60491351
Approve165866372023-02-08 21:11:47515 days ago1675890707IN
0x869A75D8...4FF30F47e
0 ETH0.001749837.56487053
Approve165866242023-02-08 21:09:11515 days ago1675890551IN
0x869A75D8...4FF30F47e
0 ETH0.0017989338.6195005
Approve165866242023-02-08 21:09:11515 days ago1675890551IN
0x869A75D8...4FF30F47e
0 ETH0.0017989338.6195005
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
165882092023-02-09 2:26:59514 days ago1675909619
0x869A75D8...4FF30F47e
0.01033814 ETH
165882092023-02-09 2:26:59514 days ago1675909619
0x869A75D8...4FF30F47e
0.01033814 ETH
165868532023-02-08 21:54:59515 days ago1675893299
0x869A75D8...4FF30F47e
0.01288701 ETH
165868532023-02-08 21:54:59515 days ago1675893299
0x869A75D8...4FF30F47e
0.01288701 ETH
165868492023-02-08 21:54:11515 days ago1675893251
0x869A75D8...4FF30F47e
0.01288701 ETH
165868462023-02-08 21:53:35515 days ago1675893215
0x869A75D8...4FF30F47e
0.01288701 ETH
165868462023-02-08 21:53:35515 days ago1675893215
0x869A75D8...4FF30F47e
0.01288701 ETH
165868352023-02-08 21:51:23515 days ago1675893083
0x869A75D8...4FF30F47e
0.01625818 ETH
165868352023-02-08 21:51:23515 days ago1675893083
0x869A75D8...4FF30F47e
0.01625818 ETH
165867322023-02-08 21:30:47515 days ago1675891847
0x869A75D8...4FF30F47e
0.02132419 ETH
165867322023-02-08 21:30:47515 days ago1675891847
0x869A75D8...4FF30F47e
0.02132419 ETH
165867272023-02-08 21:29:47515 days ago1675891787
0x869A75D8...4FF30F47e
0.02204879 ETH
165867272023-02-08 21:29:47515 days ago1675891787
0x869A75D8...4FF30F47e
0.02204879 ETH
165867202023-02-08 21:28:23515 days ago1675891703
0x869A75D8...4FF30F47e
0.02287379 ETH
165867202023-02-08 21:28:23515 days ago1675891703
0x869A75D8...4FF30F47e
0.02287379 ETH
165867132023-02-08 21:26:59515 days ago1675891619
0x869A75D8...4FF30F47e
0.02121349 ETH
165867132023-02-08 21:26:59515 days ago1675891619
0x869A75D8...4FF30F47e
0.02121349 ETH
165867052023-02-08 21:25:23515 days ago1675891523
0x869A75D8...4FF30F47e
0.02121349 ETH
165867052023-02-08 21:25:23515 days ago1675891523
0x869A75D8...4FF30F47e
0.02121349 ETH
165867052023-02-08 21:25:23515 days ago1675891523
0x869A75D8...4FF30F47e
0.02126279 ETH
165867052023-02-08 21:25:23515 days ago1675891523
0x869A75D8...4FF30F47e
0.02126279 ETH
165867042023-02-08 21:25:11515 days ago1675891511
0x869A75D8...4FF30F47e
0.02340734 ETH
165867042023-02-08 21:25:11515 days ago1675891511
0x869A75D8...4FF30F47e
0.02340734 ETH
165867022023-02-08 21:24:47515 days ago1675891487
0x869A75D8...4FF30F47e
0.01423964 ETH
165867022023-02-08 21:24:47515 days ago1675891487
0x869A75D8...4FF30F47e
0.01423964 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ZeusAI

Compiler Version
v0.8.17+commit.8df45f5f

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/ZeusAIPortal 

Zeus AI - $ZAI - is a new trading tool that helps crypto investors to automate their trades based on pre-defined strategies. The bot uses advanced technical indicators and charting to automate trades, enabling traders to take advantage of rapid price movements and capitalize on short-term trends. 📈

The first version of Zeus AI Telegram Bot will allow you to buy any token you want through Uniswap router. ✅

New functionalities will be added to Zeus AI on a regular basis. 

💲Total Supply - 1,000,000


**/
pragma solidity 0.8.17;

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 ZeusAI 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=10;
    uint256 private _initialSellTax=20;
    uint256 private _finalBuyTax=5;
    uint256 private _finalSellTax=5;
    uint256 private _reduceBuyTaxAt=1;
    uint256 private _reduceSellTaxAt=15;
    uint256 private _preventSwapBefore=30;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 8;
    uint256 private constant _tTotal = 1000000 * 10**_decimals;
    string private constant _name = unicode"Zeus AI";
    string private constant _symbol = unicode"ZAI";
    uint256 public _maxTxAmount =   20000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000 * 10**_decimals;
    uint256 public _taxSwapThreshold=5000 * 10**_decimals;
    uint256 public _maxTaxSwap=5000 * 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]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

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

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

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_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 {
        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);
        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);
        }
    }
}

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":[],"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"}]

60806040526006805460ff19166001908117909155600a600781905560146008908155600560098190558255600b92909255600f600c55601e600d556000600e556200004c91906200034f565b6200005a90614e2062000367565b600f556200006b6008600a6200034f565b6200007990614e2062000367565b6010556200008a6008600a6200034f565b620000989061138862000367565b601155620000a96008600a6200034f565b620000b79061138862000367565b6012556014805461ffff60a81b19169055348015620000d557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191661010033021790556200013c6008600a6200034f565b6200014b90620f424062000367565b336000908152600160208190526040822092909255600390620001766000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001da3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002146008600a6200034f565b6200022390620f424062000367565b60405190815260200160405180910390a362000381565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002915781600019048211156200027557620002756200023a565b808516156200028357918102915b93841c939080029062000255565b509250929050565b600082620002aa5750600162000349565b81620002b95750600062000349565b8160018114620002d25760028114620002dd57620002fd565b600191505062000349565b60ff841115620002f157620002f16200023a565b50506001821b62000349565b5060208310610133831016604e8410600b841016171562000322575081810a62000349565b6200032e838362000250565b80600019048211156200034557620003456200023a565b0290505b92915050565b60006200036060ff84168362000299565b9392505050565b80820281158282048414176200034957620003496200023a565b611b6780620003916000396000f3fe6080604052600436106101395760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb1461037c578063bf474bed1461039c578063c876d0b9146103b2578063c9567bf9146103cc578063d34628cc146103e1578063dd62ed3e1461040157600080fd5b8063751039fc146102e75780637d1db4a5146102fc5780638da5cb5b146103125780638f9a55c01461033a57806395d89b411461035057600080fd5b8063313ce567116100fd578063313ce5671461021057806331c2d8471461022c5780633bbac5791461024e57806351bc3c851461028757806370a082311461029c578063715018a6146102d257600080fd5b806306fdde0314610145578063095ea7b3146101875780630faee56f146101b757806318160ddd146101db57806323b872dd146101f057600080fd5b3661014057005b600080fd5b34801561015157600080fd5b506040805180820190915260078152665a65757320414960c81b60208201525b60405161017e919061164b565b60405180910390f35b34801561019357600080fd5b506101a76101a23660046116c1565b610447565b604051901515815260200161017e565b3480156101c357600080fd5b506101cd60125481565b60405190815260200161017e565b3480156101e757600080fd5b506101cd61045e565b3480156101fc57600080fd5b506101a761020b3660046116ed565b61047e565b34801561021c57600080fd5b506040516008815260200161017e565b34801561023857600080fd5b5061024c610247366004611744565b6104e7565b005b34801561025a57600080fd5b506101a7610269366004611809565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029357600080fd5b5061024c610586565b3480156102a857600080fd5b506101cd6102b7366004611809565b6001600160a01b031660009081526001602052604090205490565b3480156102de57600080fd5b5061024c6105da565b3480156102f357600080fd5b5061024c61064e565b34801561030857600080fd5b506101cd600f5481565b34801561031e57600080fd5b506000546040516001600160a01b03909116815260200161017e565b34801561034657600080fd5b506101cd60105481565b34801561035c57600080fd5b506040805180820190915260038152625a414960e81b6020820152610171565b34801561038857600080fd5b506101a76103973660046116c1565b610707565b3480156103a857600080fd5b506101cd60115481565b3480156103be57600080fd5b506006546101a79060ff1681565b3480156103d857600080fd5b5061024c610714565b3480156103ed57600080fd5b5061024c6103fc366004611744565b610acf565b34801561040d57600080fd5b506101cd61041c366004611826565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000610454338484610b61565b5060015b92915050565b600061046c6008600a611959565b61047990620f4240611968565b905090565b600061048b848484610c85565b6104dd84336104d885604051806060016040528060288152602001611b0a602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112aa565b610b61565b5060019392505050565b6000546001600160a01b0316331461051a5760405162461bcd60e51b81526004016105119061197f565b60405180910390fd5b60005b81518110156105825760006004600084848151811061053e5761053e6119b4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061057a816119ca565b91505061051d565b5050565b60065461010090046001600160a01b0316336001600160a01b0316146105ab57600080fd5b3060009081526001602052604090205480156105ca576105ca816112e4565b478015610582576105828161145e565b6000546001600160a01b031633146106045760405162461bcd60e51b81526004016105119061197f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106785760405162461bcd60e51b81526004016105119061197f565b6106846008600a611959565b61069190620f4240611968565b600f556106a06008600a611959565b6106ad90620f4240611968565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106e76008600a611959565b6106f490620f4240611968565b60405190815260200160405180910390a1565b6000610454338484610c85565b6000546001600160a01b0316331461073e5760405162461bcd60e51b81526004016105119061197f565b601454600160a01b900460ff16156107985760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610511565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107e09030906107d36008600a611959565b6104d890620f4240611968565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610833573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085791906119e3565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dd91906119e3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561092a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094e91906119e3565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610996816001600160a01b031660009081526001602052604090205490565b6000806109ab6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a13573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a389190611a00565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab59190611a2e565b506014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610af95760405162461bcd60e51b81526004016105119061197f565b60005b815181101561058257600160046000848481518110610b1d57610b1d6119b4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b59816119ca565b915050610afc565b6001600160a01b038316610bc35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610511565b6001600160a01b038216610c245760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610511565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ce95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610511565b6001600160a01b038216610d4b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610511565b60008111610dad5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610511565b600080546001600160a01b03858116911614801590610dda57506000546001600160a01b03848116911614155b15611167576001600160a01b03841660009081526004602052604090205460ff16158015610e2157506001600160a01b03831660009081526004602052604090205460ff16155b610e2a57600080fd5b610e566064610e50600b54600e5411610e4557600754610e49565b6009545b859061149c565b90611525565b60065490915060ff1615610f3e576013546001600160a01b03848116911614801590610e9057506014546001600160a01b03848116911614155b15610f3e57326000908152600560205260409020544311610f2b5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610511565b3260009081526005602052604090204390555b6014546001600160a01b038581169116148015610f6957506013546001600160a01b03848116911614155b8015610f8e57506001600160a01b03831660009081526003602052604090205460ff16155b1561107657600f54821115610fe55760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610511565b60105482611008856001600160a01b031660009081526001602052604090205490565b6110129190611a50565b11156110605760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610511565b600e8054906000611070836119ca565b91905055505b6014546001600160a01b03848116911614801561109c57506001600160a01b0384163014155b156110c9576110c66064610e50600c54600e54116110bc57600854610e49565b600a54859061149c565b90505b30600090815260016020526040902054601454600160a81b900460ff1615801561110057506014546001600160a01b038581169116145b80156111155750601454600160b01b900460ff165b8015611122575060115481115b80156111315750600d54600e54115b156111655761115361114e8461114984601254611567565b611567565b6112e4565b478015611163576111634761145e565b505b505b80156111e15730600090815260016020526040902054611187908261157c565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111d89085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461120490836115db565b6001600160a01b03851660009081526001602052604090205561124961122a83836115db565b6001600160a01b0385166000908152600160205260409020549061157c565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61129385856115db565b60405190815260200160405180910390a350505050565b600081848411156112ce5760405162461bcd60e51b8152600401610511919061164b565b5060006112db8486611a63565b95945050505050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061132c5761132c6119b4565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611385573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a991906119e3565b816001815181106113bc576113bc6119b4565b6001600160a01b0392831660209182029290920101526013546113e29130911684610b61565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061141b908590600090869030904290600401611a76565b600060405180830381600087803b15801561143557600080fd5b505af1158015611449573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610582573d6000803e3d6000fd5b6000826000036114ae57506000610458565b60006114ba8385611968565b9050826114c78583611ae7565b1461151e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610511565b9392505050565b600061151e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061161d565b6000818311611576578261151e565b50919050565b6000806115898385611a50565b90508381101561151e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610511565b600061151e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112aa565b6000818361163e5760405162461bcd60e51b8152600401610511919061164b565b5060006112db8486611ae7565b600060208083528351808285015260005b818110156116785785810183015185820160400152820161165c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116ae57600080fd5b50565b80356116bc81611699565b919050565b600080604083850312156116d457600080fd5b82356116df81611699565b946020939093013593505050565b60008060006060848603121561170257600080fd5b833561170d81611699565b9250602084013561171d81611699565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561175757600080fd5b823567ffffffffffffffff8082111561176f57600080fd5b818501915085601f83011261178357600080fd5b8135818111156117955761179561172e565b8060051b604051601f19603f830116810181811085821117156117ba576117ba61172e565b6040529182528482019250838101850191888311156117d857600080fd5b938501935b828510156117fd576117ee856116b1565b845293850193928501926117dd565b98975050505050505050565b60006020828403121561181b57600080fd5b813561151e81611699565b6000806040838503121561183957600080fd5b823561184481611699565b9150602083013561185481611699565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118b05781600019048211156118965761189661185f565b808516156118a357918102915b93841c939080029061187a565b509250929050565b6000826118c757506001610458565b816118d457506000610458565b81600181146118ea57600281146118f457611910565b6001915050610458565b60ff8411156119055761190561185f565b50506001821b610458565b5060208310610133831016604e8410600b8410161715611933575081810a610458565b61193d8383611875565b80600019048211156119515761195161185f565b029392505050565b600061151e60ff8416836118b8565b80820281158282048414176104585761045861185f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016119dc576119dc61185f565b5060010190565b6000602082840312156119f557600080fd5b815161151e81611699565b600080600060608486031215611a1557600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a4057600080fd5b8151801515811461151e57600080fd5b808201808211156104585761045861185f565b818103818111156104585761045861185f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ac65784516001600160a01b031683529383019391830191600101611aa1565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b0457634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122043d6ab53e3064a5f27f5625ba3bf0c8e5ab8d6a42d250f9f645377948ee1204264736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101395760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb1461037c578063bf474bed1461039c578063c876d0b9146103b2578063c9567bf9146103cc578063d34628cc146103e1578063dd62ed3e1461040157600080fd5b8063751039fc146102e75780637d1db4a5146102fc5780638da5cb5b146103125780638f9a55c01461033a57806395d89b411461035057600080fd5b8063313ce567116100fd578063313ce5671461021057806331c2d8471461022c5780633bbac5791461024e57806351bc3c851461028757806370a082311461029c578063715018a6146102d257600080fd5b806306fdde0314610145578063095ea7b3146101875780630faee56f146101b757806318160ddd146101db57806323b872dd146101f057600080fd5b3661014057005b600080fd5b34801561015157600080fd5b506040805180820190915260078152665a65757320414960c81b60208201525b60405161017e919061164b565b60405180910390f35b34801561019357600080fd5b506101a76101a23660046116c1565b610447565b604051901515815260200161017e565b3480156101c357600080fd5b506101cd60125481565b60405190815260200161017e565b3480156101e757600080fd5b506101cd61045e565b3480156101fc57600080fd5b506101a761020b3660046116ed565b61047e565b34801561021c57600080fd5b506040516008815260200161017e565b34801561023857600080fd5b5061024c610247366004611744565b6104e7565b005b34801561025a57600080fd5b506101a7610269366004611809565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029357600080fd5b5061024c610586565b3480156102a857600080fd5b506101cd6102b7366004611809565b6001600160a01b031660009081526001602052604090205490565b3480156102de57600080fd5b5061024c6105da565b3480156102f357600080fd5b5061024c61064e565b34801561030857600080fd5b506101cd600f5481565b34801561031e57600080fd5b506000546040516001600160a01b03909116815260200161017e565b34801561034657600080fd5b506101cd60105481565b34801561035c57600080fd5b506040805180820190915260038152625a414960e81b6020820152610171565b34801561038857600080fd5b506101a76103973660046116c1565b610707565b3480156103a857600080fd5b506101cd60115481565b3480156103be57600080fd5b506006546101a79060ff1681565b3480156103d857600080fd5b5061024c610714565b3480156103ed57600080fd5b5061024c6103fc366004611744565b610acf565b34801561040d57600080fd5b506101cd61041c366004611826565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000610454338484610b61565b5060015b92915050565b600061046c6008600a611959565b61047990620f4240611968565b905090565b600061048b848484610c85565b6104dd84336104d885604051806060016040528060288152602001611b0a602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112aa565b610b61565b5060019392505050565b6000546001600160a01b0316331461051a5760405162461bcd60e51b81526004016105119061197f565b60405180910390fd5b60005b81518110156105825760006004600084848151811061053e5761053e6119b4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061057a816119ca565b91505061051d565b5050565b60065461010090046001600160a01b0316336001600160a01b0316146105ab57600080fd5b3060009081526001602052604090205480156105ca576105ca816112e4565b478015610582576105828161145e565b6000546001600160a01b031633146106045760405162461bcd60e51b81526004016105119061197f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106785760405162461bcd60e51b81526004016105119061197f565b6106846008600a611959565b61069190620f4240611968565b600f556106a06008600a611959565b6106ad90620f4240611968565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106e76008600a611959565b6106f490620f4240611968565b60405190815260200160405180910390a1565b6000610454338484610c85565b6000546001600160a01b0316331461073e5760405162461bcd60e51b81526004016105119061197f565b601454600160a01b900460ff16156107985760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610511565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107e09030906107d36008600a611959565b6104d890620f4240611968565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610833573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085791906119e3565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dd91906119e3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561092a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094e91906119e3565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610996816001600160a01b031660009081526001602052604090205490565b6000806109ab6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a13573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a389190611a00565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab59190611a2e565b506014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610af95760405162461bcd60e51b81526004016105119061197f565b60005b815181101561058257600160046000848481518110610b1d57610b1d6119b4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b59816119ca565b915050610afc565b6001600160a01b038316610bc35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610511565b6001600160a01b038216610c245760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610511565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ce95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610511565b6001600160a01b038216610d4b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610511565b60008111610dad5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610511565b600080546001600160a01b03858116911614801590610dda57506000546001600160a01b03848116911614155b15611167576001600160a01b03841660009081526004602052604090205460ff16158015610e2157506001600160a01b03831660009081526004602052604090205460ff16155b610e2a57600080fd5b610e566064610e50600b54600e5411610e4557600754610e49565b6009545b859061149c565b90611525565b60065490915060ff1615610f3e576013546001600160a01b03848116911614801590610e9057506014546001600160a01b03848116911614155b15610f3e57326000908152600560205260409020544311610f2b5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610511565b3260009081526005602052604090204390555b6014546001600160a01b038581169116148015610f6957506013546001600160a01b03848116911614155b8015610f8e57506001600160a01b03831660009081526003602052604090205460ff16155b1561107657600f54821115610fe55760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610511565b60105482611008856001600160a01b031660009081526001602052604090205490565b6110129190611a50565b11156110605760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610511565b600e8054906000611070836119ca565b91905055505b6014546001600160a01b03848116911614801561109c57506001600160a01b0384163014155b156110c9576110c66064610e50600c54600e54116110bc57600854610e49565b600a54859061149c565b90505b30600090815260016020526040902054601454600160a81b900460ff1615801561110057506014546001600160a01b038581169116145b80156111155750601454600160b01b900460ff165b8015611122575060115481115b80156111315750600d54600e54115b156111655761115361114e8461114984601254611567565b611567565b6112e4565b478015611163576111634761145e565b505b505b80156111e15730600090815260016020526040902054611187908261157c565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111d89085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461120490836115db565b6001600160a01b03851660009081526001602052604090205561124961122a83836115db565b6001600160a01b0385166000908152600160205260409020549061157c565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61129385856115db565b60405190815260200160405180910390a350505050565b600081848411156112ce5760405162461bcd60e51b8152600401610511919061164b565b5060006112db8486611a63565b95945050505050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061132c5761132c6119b4565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611385573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a991906119e3565b816001815181106113bc576113bc6119b4565b6001600160a01b0392831660209182029290920101526013546113e29130911684610b61565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061141b908590600090869030904290600401611a76565b600060405180830381600087803b15801561143557600080fd5b505af1158015611449573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610582573d6000803e3d6000fd5b6000826000036114ae57506000610458565b60006114ba8385611968565b9050826114c78583611ae7565b1461151e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610511565b9392505050565b600061151e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061161d565b6000818311611576578261151e565b50919050565b6000806115898385611a50565b90508381101561151e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610511565b600061151e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112aa565b6000818361163e5760405162461bcd60e51b8152600401610511919061164b565b5060006112db8486611ae7565b600060208083528351808285015260005b818110156116785785810183015185820160400152820161165c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116ae57600080fd5b50565b80356116bc81611699565b919050565b600080604083850312156116d457600080fd5b82356116df81611699565b946020939093013593505050565b60008060006060848603121561170257600080fd5b833561170d81611699565b9250602084013561171d81611699565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561175757600080fd5b823567ffffffffffffffff8082111561176f57600080fd5b818501915085601f83011261178357600080fd5b8135818111156117955761179561172e565b8060051b604051601f19603f830116810181811085821117156117ba576117ba61172e565b6040529182528482019250838101850191888311156117d857600080fd5b938501935b828510156117fd576117ee856116b1565b845293850193928501926117dd565b98975050505050505050565b60006020828403121561181b57600080fd5b813561151e81611699565b6000806040838503121561183957600080fd5b823561184481611699565b9150602083013561185481611699565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118b05781600019048211156118965761189661185f565b808516156118a357918102915b93841c939080029061187a565b509250929050565b6000826118c757506001610458565b816118d457506000610458565b81600181146118ea57600281146118f457611910565b6001915050610458565b60ff8411156119055761190561185f565b50506001821b610458565b5060208310610133831016604e8410600b8410161715611933575081810a610458565b61193d8383611875565b80600019048211156119515761195161185f565b029392505050565b600061151e60ff8416836118b8565b80820281158282048414176104585761045861185f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016119dc576119dc61185f565b5060010190565b6000602082840312156119f557600080fd5b815161151e81611699565b600080600060608486031215611a1557600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a4057600080fd5b8151801515811461151e57600080fd5b808201808211156104585761045861185f565b818103818111156104585761045861185f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ac65784516001600160a01b031683529383019391830191600101611aa1565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b0457634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122043d6ab53e3064a5f27f5625ba3bf0c8e5ab8d6a42d250f9f645377948ee1204264736f6c63430008110033

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.