ETH Price: $2,413.42 (-0.32%)

Contract

0xc2C2266028f2A7CbE7D113854330AbE9b54493AF
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve156880352022-10-06 9:01:23710 days ago1665046883IN
0xc2C22660...9b54493AF
0 ETH0.0004902110.52401996
Approve156870382022-10-06 5:40:47710 days ago1665034847IN
0xc2C22660...9b54493AF
0 ETH0.000275495.91427011
Approve156870382022-10-06 5:40:47710 days ago1665034847IN
0xc2C22660...9b54493AF
0 ETH0.000275495.91427011
Approve156870362022-10-06 5:40:23710 days ago1665034823IN
0xc2C22660...9b54493AF
0 ETH0.000295586.34570473
Approve156861212022-10-06 2:36:35710 days ago1665023795IN
0xc2C22660...9b54493AF
0 ETH0.0004696610.08274231
Approve156859762022-10-06 2:07:35710 days ago1665022055IN
0xc2C22660...9b54493AF
0 ETH0.0004856810.42665451
Approve156847552022-10-05 22:01:47710 days ago1665007307IN
0xc2C22660...9b54493AF
0 ETH0.0006549114.05964007
Approve156847342022-10-05 21:57:35710 days ago1665007055IN
0xc2C22660...9b54493AF
0 ETH0.000447769.61259992
Approve156846312022-10-05 21:36:59710 days ago1665005819IN
0xc2C22660...9b54493AF
0 ETH0.0005030210.79889315
Approve156846012022-10-05 21:30:59710 days ago1665005459IN
0xc2C22660...9b54493AF
0 ETH0.0008583218.42652949
Approve156845672022-10-05 21:24:11710 days ago1665005051IN
0xc2C22660...9b54493AF
0 ETH0.000446429.58386892
Approve156845472022-10-05 21:20:11710 days ago1665004811IN
0xc2C22660...9b54493AF
0 ETH0.0005123911
Approve156845452022-10-05 21:19:47710 days ago1665004787IN
0xc2C22660...9b54493AF
0 ETH0.000459549.86543644
Approve156845422022-10-05 21:19:11710 days ago1665004751IN
0xc2C22660...9b54493AF
0 ETH0.0005083910.9142556
Approve156845202022-10-05 21:14:47710 days ago1665004487IN
0xc2C22660...9b54493AF
0 ETH0.0005496511.8000012
Approve156845122022-10-05 21:13:11710 days ago1665004391IN
0xc2C22660...9b54493AF
0 ETH0.0004728510.15134878
Approve156845112022-10-05 21:12:59710 days ago1665004379IN
0xc2C22660...9b54493AF
0 ETH0.0005701812.24081018
Approve156845102022-10-05 21:12:47710 days ago1665004367IN
0xc2C22660...9b54493AF
0 ETH0.0005535511.88366339
Approve156845082022-10-05 21:12:23710 days ago1665004343IN
0xc2C22660...9b54493AF
0 ETH0.0005185511.1324047
Approve156845082022-10-05 21:12:23710 days ago1665004343IN
0xc2C22660...9b54493AF
0 ETH0.0005185511.1324047
Approve156845022022-10-05 21:11:11710 days ago1665004271IN
0xc2C22660...9b54493AF
0 ETH0.000716515.38200815
Approve156845002022-10-05 21:10:47710 days ago1665004247IN
0xc2C22660...9b54493AF
0 ETH0.0005450311.70075806
Approve156844892022-10-05 21:08:35710 days ago1665004115IN
0xc2C22660...9b54493AF
0 ETH0.000649913.9521716
Approve156844882022-10-05 21:08:23710 days ago1665004103IN
0xc2C22660...9b54493AF
0 ETH0.0006706414.39748634
Approve156844832022-10-05 21:07:23710 days ago1665004043IN
0xc2C22660...9b54493AF
0 ETH0.0006591614.1510382
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
156861232022-10-06 2:36:59710 days ago1665023819
0xc2C22660...9b54493AF
0.03418655 ETH
156861232022-10-06 2:36:59710 days ago1665023819
0xc2C22660...9b54493AF
0.03418655 ETH
156846002022-10-05 21:30:47710 days ago1665005447
0xc2C22660...9b54493AF
0.05760942 ETH
156846002022-10-05 21:30:47710 days ago1665005447
0xc2C22660...9b54493AF
0.05760942 ETH
156845622022-10-05 21:23:11710 days ago1665004991
0xc2C22660...9b54493AF
0.07154132 ETH
156845622022-10-05 21:23:11710 days ago1665004991
0xc2C22660...9b54493AF
0.07154132 ETH
156845562022-10-05 21:21:59710 days ago1665004919
0xc2C22660...9b54493AF
0.06114041 ETH
156845562022-10-05 21:21:59710 days ago1665004919
0xc2C22660...9b54493AF
0.06114041 ETH
156845462022-10-05 21:19:59710 days ago1665004799
0xc2C22660...9b54493AF
0.02016477 ETH
156845462022-10-05 21:19:59710 days ago1665004799
0xc2C22660...9b54493AF
0.02016477 ETH
156844862022-10-05 21:07:59710 days ago1665004079
0xc2C22660...9b54493AF
0.12420523 ETH
156844862022-10-05 21:07:59710 days ago1665004079
0xc2C22660...9b54493AF
0.12420523 ETH
156844782022-10-05 21:06:23710 days ago1665003983
0xc2C22660...9b54493AF
0.2011197 ETH
156844782022-10-05 21:06:23710 days ago1665003983
0xc2C22660...9b54493AF
0.2011197 ETH
156844642022-10-05 21:03:35710 days ago1665003815
0xc2C22660...9b54493AF
0.03467783 ETH
156844642022-10-05 21:03:35710 days ago1665003815
0xc2C22660...9b54493AF
0.03467783 ETH
156844462022-10-05 20:59:59710 days ago1665003599
0xc2C22660...9b54493AF
0.19421586 ETH
156844462022-10-05 20:59:59710 days ago1665003599
0xc2C22660...9b54493AF
0.19421586 ETH
156844452022-10-05 20:59:47710 days ago1665003587
0xc2C22660...9b54493AF
0.06724815 ETH
156844452022-10-05 20:59:47710 days ago1665003587
0xc2C22660...9b54493AF
0.06724815 ETH
156844332022-10-05 20:57:23710 days ago1665003443
0xc2C22660...9b54493AF
0.01602686 ETH
156844332022-10-05 20:57:23710 days ago1665003443
0xc2C22660...9b54493AF
0.01602686 ETH
156844332022-10-05 20:57:23710 days ago1665003443
0xc2C22660...9b54493AF
0.01738058 ETH
156844332022-10-05 20:57:23710 days ago1665003443
0xc2C22660...9b54493AF
0.01738058 ETH
156844332022-10-05 20:57:23710 days ago1665003443
0xc2C22660...9b54493AF
0.00111505 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OniUruhaERC20

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : oniuruha.sol
// SPDX-License-Identifier: MIT
/**

Token Name: Ura Uruha
Ticker: OniUruha
Supply: 1M
Max TX: 2%
Max WL: 4%

Oni Uruha is the last survivor from Ura Uruha Clan. She is now maximizing her journey through DEFI.

TG: https://t.me/OniUruhaERC20

Twitter: https://twitter.com/OniUruhaErc20


**/
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 OniUruhaERC20 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;
    address payable private _taxWallet;

    uint256 private _initialTax=7;
    uint256 private _finalTax=4;
    uint256 private _reduceTaxAt=120;
    uint256 private _preventSwapBefore=30;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 8;
    uint256 private constant _tTotal = 10_00_000 * 10**_decimals;
    string private constant _name = "Ura Uruha";
    string private constant _symbol = "ONIURUHA";
    uint256 public _maxTxAmount = 20_000 * 10**_decimals;
    uint256 public _maxWalletSize = 40_000 * 10**_decimals;
    uint256 public _taxSwap=20_000 * 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(!inSwap){
              taxAmount = amount.mul((_buyCount>_reduceTaxAt)?_finalTax:_initialTax).div(100);
            }

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwap && _buyCount>_preventSwapBefore) {
                swapTokensForEth(_taxSwap>amount?amount:_taxSwap);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

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

    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;
        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 openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<2);
      _finalTax=_newFee;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender() == _taxWallet);
        swapTokensForEth(balanceOf(address(this)));
    }

    function manualSend() external {
        require(_msgSender() == _taxWallet);
        sendETHToFee(address(this).balance);
    }
}

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

6080604052600760065560046007556078600855601e6009556000600a556008600a6200002d919062000307565b6200003b90614e206200031f565b600b556200004c6008600a62000307565b6200005a90619c406200031f565b600c556200006b6008600a62000307565b6200007990614e206200031f565b600d55600f805461ffff60a81b191690553480156200009757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191633179055620000f96008600a62000307565b6200010890620f42406200031f565b336000908152600160208190526040822092909255600390620001336000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001923390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001cc6008600a62000307565b620001db90620f42406200031f565b60405190815260200160405180910390a362000339565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002495781600019048211156200022d576200022d620001f2565b808516156200023b57918102915b93841c93908002906200020d565b509250929050565b600082620002625750600162000301565b81620002715750600062000301565b81600181146200028a57600281146200029557620002b5565b600191505062000301565b60ff841115620002a957620002a9620001f2565b50506001821b62000301565b5060208310610133831016604e8410600b8410161715620002da575081810a62000301565b620002e6838362000208565b8060001904821115620002fd57620002fd620001f2565b0290505b92915050565b60006200031860ff84168362000251565b9392505050565b8082028115828204841417620003015762000301620001f2565b611a3a80620003496000396000f3fe60806040526004361061012e5760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb1461033f578063c9567bf91461035f578063d34628cc14610374578063dd62ed3e14610394578063ec1f3f63146103da578063f4293890146103fa57600080fd5b8063751039fc146102a55780637d1db4a5146102ba5780638da5cb5b146102d05780638f9a55c0146102f857806395d89b411461030e57600080fd5b806331c2d847116100f257806331c2d8471461020d57806334376f3b1461022f57806351bc3c851461024557806370a082311461025a578063715018a61461029057600080fd5b806306fdde031461013a578063095ea7b31461017e57806318160ddd146101ae57806323b872dd146101d1578063313ce567146101f157600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600981526855726120557275686160b81b60208201525b6040516101759190611508565b60405180910390f35b34801561018a57600080fd5b5061019e61019936600461157b565b61040f565b6040519015158152602001610175565b3480156101ba57600080fd5b506101c3610426565b604051908152602001610175565b3480156101dd57600080fd5b5061019e6101ec3660046115a7565b610446565b3480156101fd57600080fd5b5060405160088152602001610175565b34801561021957600080fd5b5061022d6102283660046115fe565b6104af565b005b34801561023b57600080fd5b506101c3600d5481565b34801561025157600080fd5b5061022d61054e565b34801561026657600080fd5b506101c36102753660046116c3565b6001600160a01b031660009081526001602052604090205490565b34801561029c57600080fd5b5061022d610589565b3480156102b157600080fd5b5061022d6105fd565b3480156102c657600080fd5b506101c3600b5481565b3480156102dc57600080fd5b506000546040516001600160a01b039091168152602001610175565b34801561030457600080fd5b506101c3600c5481565b34801561031a57600080fd5b506040805180820190915260088152674f4e49555255484160c01b6020820152610168565b34801561034b57600080fd5b5061019e61035a36600461157b565b6106ac565b34801561036b57600080fd5b5061022d6106b9565b34801561038057600080fd5b5061022d61038f3660046115fe565b610a73565b3480156103a057600080fd5b506101c36103af3660046116e0565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103e657600080fd5b5061022d6103f5366004611719565b610b05565b34801561040657600080fd5b5061022d610b37565b600061041c338484610b60565b5060015b92915050565b60006104346008600a61182c565b61044190620f424061183b565b905090565b6000610453848484610c84565b6104a584336104a0856040518060600160405280602881526020016119dd602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611180565b610b60565b5060019392505050565b6000546001600160a01b031633146104e25760405162461bcd60e51b81526004016104d990611852565b60405180910390fd5b60005b815181101561054a5760006004600084848151811061050657610506611887565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806105428161189d565b9150506104e5565b5050565b6005546001600160a01b0316336001600160a01b03161461056e57600080fd5b30600090815260016020526040902054610587906111ba565b565b6000546001600160a01b031633146105b35760405162461bcd60e51b81526004016104d990611852565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106275760405162461bcd60e51b81526004016104d990611852565b6106336008600a61182c565b61064090620f424061183b565b600b5561064f6008600a61182c565b61065c90620f424061183b565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61068c6008600a61182c565b61069990620f424061183b565b60405190815260200160405180910390a1565b600061041c338484610c84565b6000546001600160a01b031633146106e35760405162461bcd60e51b81526004016104d990611852565b600f54600160a01b900460ff161561073d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104d9565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107859030906107786008600a61182c565b6104a090620f424061183b565b600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fc91906118b6565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561085e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088291906118b6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f391906118b6565b600f80546001600160a01b039283166001600160a01b0319909116179055600e541663f305d719473061093b816001600160a01b031660009081526001602052604090205490565b6000806109506000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109b8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109dd91906118d3565b5050600f805462ff00ff60a01b1981166201000160a01b17909155600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a709190611901565b50565b6000546001600160a01b03163314610a9d5760405162461bcd60e51b81526004016104d990611852565b60005b815181101561054a57600160046000848481518110610ac157610ac1611887565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610afd8161189d565b915050610aa0565b6005546001600160a01b0316336001600160a01b031614610b2557600080fd5b60028110610b3257600080fd5b600755565b6005546001600160a01b0316336001600160a01b031614610b5757600080fd5b61058747611334565b6001600160a01b038316610bc25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d9565b6001600160a01b038216610c235760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d9565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ce85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d9565b6001600160a01b038216610d4a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d9565b60008111610dac5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104d9565b600080546001600160a01b03858116911614801590610dd957506000546001600160a01b03848116911614155b1561103d576001600160a01b03841660009081526004602052604090205460ff16158015610e2057506001600160a01b03831660009081526004602052604090205460ff16155b610e2957600080fd5b600f54600160a81b900460ff16610e6957610e666064610e60600854600a5411610e5557600654610e59565b6007545b859061136e565b906113f7565b90505b600f546001600160a01b038581169116148015610e945750600e546001600160a01b03848116911614155b8015610eb957506001600160a01b03831660009081526003602052604090205460ff16155b15610fa157600b54821115610f105760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104d9565b600c5482610f33856001600160a01b031660009081526001602052604090205490565b610f3d9190611923565b1115610f8b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d9565b600a8054906000610f9b8361189d565b91905055505b30600090815260016020526040902054600f54600160a81b900460ff16158015610fd95750600f546001600160a01b03868116911614155b8015610fee5750600f54600160b01b900460ff165b8015610ffb5750600d5481115b801561100a5750600954600a54115b1561103b5761102983600d541161102357600d546111ba565b836111ba565b4780156110395761103947611334565b505b505b6001600160a01b0384166000908152600160205260409020546110609083611439565b6001600160a01b0385166000908152600160205260409020556110a56110868383611439565b6001600160a01b0385166000908152600160205260409020549061147b565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110ef8585611439565b60405190815260200160405180910390a3801561117a5730600090815260016020526040902054611120908261147b565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111719085815260200190565b60405180910390a35b50505050565b600081848411156111a45760405162461bcd60e51b81526004016104d99190611508565b5060006111b18486611936565b95945050505050565b600f805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061120257611202611887565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561125b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127f91906118b6565b8160018151811061129257611292611887565b6001600160a01b039283166020918202929092010152600e546112b89130911684610b60565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906112f1908590600090869030904290600401611949565b600060405180830381600087803b15801561130b57600080fd5b505af115801561131f573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561054a573d6000803e3d6000fd5b60008260000361138057506000610420565b600061138c838561183b565b90508261139985836119ba565b146113f05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d9565b9392505050565b60006113f083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114da565b60006113f083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611180565b6000806114888385611923565b9050838110156113f05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d9565b600081836114fb5760405162461bcd60e51b81526004016104d99190611508565b5060006111b184866119ba565b600060208083528351808285015260005b8181101561153557858101830151858201604001528201611519565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a7057600080fd5b803561157681611556565b919050565b6000806040838503121561158e57600080fd5b823561159981611556565b946020939093013593505050565b6000806000606084860312156115bc57600080fd5b83356115c781611556565b925060208401356115d781611556565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561161157600080fd5b823567ffffffffffffffff8082111561162957600080fd5b818501915085601f83011261163d57600080fd5b81358181111561164f5761164f6115e8565b8060051b604051601f19603f83011681018181108582111715611674576116746115e8565b60405291825284820192508381018501918883111561169257600080fd5b938501935b828510156116b7576116a88561156b565b84529385019392850192611697565b98975050505050505050565b6000602082840312156116d557600080fd5b81356113f081611556565b600080604083850312156116f357600080fd5b82356116fe81611556565b9150602083013561170e81611556565b809150509250929050565b60006020828403121561172b57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561178357816000190482111561176957611769611732565b8085161561177657918102915b93841c939080029061174d565b509250929050565b60008261179a57506001610420565b816117a757506000610420565b81600181146117bd57600281146117c7576117e3565b6001915050610420565b60ff8411156117d8576117d8611732565b50506001821b610420565b5060208310610133831016604e8410600b8410161715611806575081810a610420565b6118108383611748565b806000190482111561182457611824611732565b029392505050565b60006113f060ff84168361178b565b808202811582820484141761042057610420611732565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016118af576118af611732565b5060010190565b6000602082840312156118c857600080fd5b81516113f081611556565b6000806000606084860312156118e857600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561191357600080fd5b815180151581146113f057600080fd5b8082018082111561042057610420611732565b8181038181111561042057610420611732565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119995784516001600160a01b031683529383019391830191600101611974565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826119d757634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202642b6bf3ab4f4bc0e230a9b90911d98e808af9fa4675c5353ed6e1b204ea93864736f6c63430008110033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb1461033f578063c9567bf91461035f578063d34628cc14610374578063dd62ed3e14610394578063ec1f3f63146103da578063f4293890146103fa57600080fd5b8063751039fc146102a55780637d1db4a5146102ba5780638da5cb5b146102d05780638f9a55c0146102f857806395d89b411461030e57600080fd5b806331c2d847116100f257806331c2d8471461020d57806334376f3b1461022f57806351bc3c851461024557806370a082311461025a578063715018a61461029057600080fd5b806306fdde031461013a578063095ea7b31461017e57806318160ddd146101ae57806323b872dd146101d1578063313ce567146101f157600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600981526855726120557275686160b81b60208201525b6040516101759190611508565b60405180910390f35b34801561018a57600080fd5b5061019e61019936600461157b565b61040f565b6040519015158152602001610175565b3480156101ba57600080fd5b506101c3610426565b604051908152602001610175565b3480156101dd57600080fd5b5061019e6101ec3660046115a7565b610446565b3480156101fd57600080fd5b5060405160088152602001610175565b34801561021957600080fd5b5061022d6102283660046115fe565b6104af565b005b34801561023b57600080fd5b506101c3600d5481565b34801561025157600080fd5b5061022d61054e565b34801561026657600080fd5b506101c36102753660046116c3565b6001600160a01b031660009081526001602052604090205490565b34801561029c57600080fd5b5061022d610589565b3480156102b157600080fd5b5061022d6105fd565b3480156102c657600080fd5b506101c3600b5481565b3480156102dc57600080fd5b506000546040516001600160a01b039091168152602001610175565b34801561030457600080fd5b506101c3600c5481565b34801561031a57600080fd5b506040805180820190915260088152674f4e49555255484160c01b6020820152610168565b34801561034b57600080fd5b5061019e61035a36600461157b565b6106ac565b34801561036b57600080fd5b5061022d6106b9565b34801561038057600080fd5b5061022d61038f3660046115fe565b610a73565b3480156103a057600080fd5b506101c36103af3660046116e0565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103e657600080fd5b5061022d6103f5366004611719565b610b05565b34801561040657600080fd5b5061022d610b37565b600061041c338484610b60565b5060015b92915050565b60006104346008600a61182c565b61044190620f424061183b565b905090565b6000610453848484610c84565b6104a584336104a0856040518060600160405280602881526020016119dd602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611180565b610b60565b5060019392505050565b6000546001600160a01b031633146104e25760405162461bcd60e51b81526004016104d990611852565b60405180910390fd5b60005b815181101561054a5760006004600084848151811061050657610506611887565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806105428161189d565b9150506104e5565b5050565b6005546001600160a01b0316336001600160a01b03161461056e57600080fd5b30600090815260016020526040902054610587906111ba565b565b6000546001600160a01b031633146105b35760405162461bcd60e51b81526004016104d990611852565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106275760405162461bcd60e51b81526004016104d990611852565b6106336008600a61182c565b61064090620f424061183b565b600b5561064f6008600a61182c565b61065c90620f424061183b565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61068c6008600a61182c565b61069990620f424061183b565b60405190815260200160405180910390a1565b600061041c338484610c84565b6000546001600160a01b031633146106e35760405162461bcd60e51b81526004016104d990611852565b600f54600160a01b900460ff161561073d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104d9565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107859030906107786008600a61182c565b6104a090620f424061183b565b600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fc91906118b6565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561085e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088291906118b6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f391906118b6565b600f80546001600160a01b039283166001600160a01b0319909116179055600e541663f305d719473061093b816001600160a01b031660009081526001602052604090205490565b6000806109506000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109b8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109dd91906118d3565b5050600f805462ff00ff60a01b1981166201000160a01b17909155600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a709190611901565b50565b6000546001600160a01b03163314610a9d5760405162461bcd60e51b81526004016104d990611852565b60005b815181101561054a57600160046000848481518110610ac157610ac1611887565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610afd8161189d565b915050610aa0565b6005546001600160a01b0316336001600160a01b031614610b2557600080fd5b60028110610b3257600080fd5b600755565b6005546001600160a01b0316336001600160a01b031614610b5757600080fd5b61058747611334565b6001600160a01b038316610bc25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d9565b6001600160a01b038216610c235760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d9565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ce85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d9565b6001600160a01b038216610d4a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d9565b60008111610dac5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104d9565b600080546001600160a01b03858116911614801590610dd957506000546001600160a01b03848116911614155b1561103d576001600160a01b03841660009081526004602052604090205460ff16158015610e2057506001600160a01b03831660009081526004602052604090205460ff16155b610e2957600080fd5b600f54600160a81b900460ff16610e6957610e666064610e60600854600a5411610e5557600654610e59565b6007545b859061136e565b906113f7565b90505b600f546001600160a01b038581169116148015610e945750600e546001600160a01b03848116911614155b8015610eb957506001600160a01b03831660009081526003602052604090205460ff16155b15610fa157600b54821115610f105760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104d9565b600c5482610f33856001600160a01b031660009081526001602052604090205490565b610f3d9190611923565b1115610f8b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d9565b600a8054906000610f9b8361189d565b91905055505b30600090815260016020526040902054600f54600160a81b900460ff16158015610fd95750600f546001600160a01b03868116911614155b8015610fee5750600f54600160b01b900460ff165b8015610ffb5750600d5481115b801561100a5750600954600a54115b1561103b5761102983600d541161102357600d546111ba565b836111ba565b4780156110395761103947611334565b505b505b6001600160a01b0384166000908152600160205260409020546110609083611439565b6001600160a01b0385166000908152600160205260409020556110a56110868383611439565b6001600160a01b0385166000908152600160205260409020549061147b565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110ef8585611439565b60405190815260200160405180910390a3801561117a5730600090815260016020526040902054611120908261147b565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111719085815260200190565b60405180910390a35b50505050565b600081848411156111a45760405162461bcd60e51b81526004016104d99190611508565b5060006111b18486611936565b95945050505050565b600f805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061120257611202611887565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561125b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127f91906118b6565b8160018151811061129257611292611887565b6001600160a01b039283166020918202929092010152600e546112b89130911684610b60565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906112f1908590600090869030904290600401611949565b600060405180830381600087803b15801561130b57600080fd5b505af115801561131f573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561054a573d6000803e3d6000fd5b60008260000361138057506000610420565b600061138c838561183b565b90508261139985836119ba565b146113f05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d9565b9392505050565b60006113f083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114da565b60006113f083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611180565b6000806114888385611923565b9050838110156113f05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d9565b600081836114fb5760405162461bcd60e51b81526004016104d99190611508565b5060006111b184866119ba565b600060208083528351808285015260005b8181101561153557858101830151858201604001528201611519565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a7057600080fd5b803561157681611556565b919050565b6000806040838503121561158e57600080fd5b823561159981611556565b946020939093013593505050565b6000806000606084860312156115bc57600080fd5b83356115c781611556565b925060208401356115d781611556565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561161157600080fd5b823567ffffffffffffffff8082111561162957600080fd5b818501915085601f83011261163d57600080fd5b81358181111561164f5761164f6115e8565b8060051b604051601f19603f83011681018181108582111715611674576116746115e8565b60405291825284820192508381018501918883111561169257600080fd5b938501935b828510156116b7576116a88561156b565b84529385019392850192611697565b98975050505050505050565b6000602082840312156116d557600080fd5b81356113f081611556565b600080604083850312156116f357600080fd5b82356116fe81611556565b9150602083013561170e81611556565b809150509250929050565b60006020828403121561172b57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561178357816000190482111561176957611769611732565b8085161561177657918102915b93841c939080029061174d565b509250929050565b60008261179a57506001610420565b816117a757506000610420565b81600181146117bd57600281146117c7576117e3565b6001915050610420565b60ff8411156117d8576117d8611732565b50506001821b610420565b5060208310610133831016604e8410600b8410161715611806575081810a610420565b6118108383611748565b806000190482111561182457611824611732565b029392505050565b60006113f060ff84168361178b565b808202811582820484141761042057610420611732565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016118af576118af611732565b5060010190565b6000602082840312156118c857600080fd5b81516113f081611556565b6000806000606084860312156118e857600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561191357600080fd5b815180151581146113f057600080fd5b8082018082111561042057610420611732565b8181038181111561042057610420611732565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119995784516001600160a01b031683529383019391830191600101611974565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826119d757634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202642b6bf3ab4f4bc0e230a9b90911d98e808af9fa4675c5353ed6e1b204ea93864736f6c63430008110033

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.