ETH Price: $2,013.70 (+2.96%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Approve244787432026-02-17 19:48:2313 days ago1771357703IN
0x70bb8BCf...99F0168Aa
0 ETH0.000004260.09226352
Transfer244055372026-02-07 14:27:2323 days ago1770474443IN
0x70bb8BCf...99F0168Aa
0 ETH0.000006770.13835537
Transfer244053562026-02-07 13:51:1123 days ago1770472271IN
0x70bb8BCf...99F0168Aa
0 ETH0.000008020.11317893
Approve244013112026-02-07 0:17:5924 days ago1770423479IN
0x70bb8BCf...99F0168Aa
0 ETH0.000011160.23970411
Approve244003332026-02-06 21:01:1124 days ago1770411671IN
0x70bb8BCf...99F0168Aa
0 ETH0.000059021.27573167
Transfer243641632026-02-01 19:40:2329 days ago1769974823IN
0x70bb8BCf...99F0168Aa
0 ETH0.000011750.24004771
Transfer243639812026-02-01 19:03:4729 days ago1769972627IN
0x70bb8BCf...99F0168Aa
0 ETH0.000023130.35
Transfer243392452026-01-29 8:14:3532 days ago1769674475IN
0x70bb8BCf...99F0168Aa
0 ETH0.000003270.0668145
Approve243391552026-01-29 7:56:2332 days ago1769673383IN
0x70bb8BCf...99F0168Aa
0 ETH0.000025990.56163813
Transfer243390812026-01-29 7:41:3532 days ago1769672495IN
0x70bb8BCf...99F0168Aa
0 ETH0.000004620.07
Approve243381982026-01-29 4:43:4732 days ago1769661827IN
0x70bb8BCf...99F0168Aa
0 ETH0.000002460.05298068
Approve243374392026-01-29 2:11:1132 days ago1769652671IN
0x70bb8BCf...99F0168Aa
0 ETH0.000005830.12543537
Transfer242871722026-01-22 1:53:2340 days ago1769046803IN
0x70bb8BCf...99F0168Aa
0 ETH0.000002070.04229439
Transfer242869882026-01-22 1:16:2340 days ago1769044583IN
0x70bb8BCf...99F0168Aa
0 ETH0.000035320.53439312
Approve242589022026-01-18 3:18:5943 days ago1768706339IN
0x70bb8BCf...99F0168Aa
0 ETH0.000094442.03024573
Approve242472712026-01-16 12:24:4745 days ago1768566287IN
0x70bb8BCf...99F0168Aa
0 ETH0.000002610.0567252
Approve242395422026-01-15 10:34:3546 days ago1768473275IN
0x70bb8BCf...99F0168Aa
0 ETH0.000015390.33324912
Approve242285862026-01-13 21:52:4748 days ago1768341167IN
0x70bb8BCf...99F0168Aa
0 ETH0.000094692.04618815
Transfer242285582026-01-13 21:47:1148 days ago1768340831IN
0x70bb8BCf...99F0168Aa
0 ETH0.000135332.04749334
Approve242283272026-01-13 21:00:5948 days ago1768338059IN
0x70bb8BCf...99F0168Aa
0 ETH0.000097212.10046721
Approve241754822026-01-06 11:57:3555 days ago1767700655IN
0x70bb8BCf...99F0168Aa
0 ETH0.000003430.07437472
Approve241614022026-01-04 12:49:1157 days ago1767530951IN
0x70bb8BCf...99F0168Aa
0 ETH0.000002170.04690204
Approve240655292025-12-22 3:41:1170 days ago1766374871IN
0x70bb8BCf...99F0168Aa
0 ETH0.000004910.10558866
Approve239956802025-12-12 9:32:3580 days ago1765531955IN
0x70bb8BCf...99F0168Aa
0 ETH0.000005140.11039539
Transfer239950522025-12-12 7:25:1180 days ago1765524311IN
0x70bb8BCf...99F0168Aa
0 ETH0.0000080.11293785
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer202120482024-07-01 13:44:35609 days ago1719841475
0x70bb8BCf...99F0168Aa
0.1059615 ETH
Transfer202120482024-07-01 13:44:35609 days ago1719841475
0x70bb8BCf...99F0168Aa
0.1059615 ETH
Transfer202120462024-07-01 13:44:11609 days ago1719841451
0x70bb8BCf...99F0168Aa
0.17420218 ETH
Transfer202120462024-07-01 13:44:11609 days ago1719841451
0x70bb8BCf...99F0168Aa
0.17420218 ETH
Transfer202120462024-07-01 13:44:11609 days ago1719841451
0x70bb8BCf...99F0168Aa
0.40207988 ETH
Transfer202120462024-07-01 13:44:11609 days ago1719841451
0x70bb8BCf...99F0168Aa
0.40207988 ETH
Transfer202120442024-07-01 13:43:47609 days ago1719841427
0x70bb8BCf...99F0168Aa
0.01639233 ETH
Transfer202120442024-07-01 13:43:47609 days ago1719841427
0x70bb8BCf...99F0168Aa
0.01639233 ETH
Transfer202120292024-07-01 13:40:47609 days ago1719841247
0x70bb8BCf...99F0168Aa
0.09272395 ETH
Transfer202120292024-07-01 13:40:47609 days ago1719841247
0x70bb8BCf...99F0168Aa
0.09272395 ETH
Transfer202120272024-07-01 13:40:23609 days ago1719841223
0x70bb8BCf...99F0168Aa
0.27390329 ETH
Transfer202120272024-07-01 13:40:23609 days ago1719841223
0x70bb8BCf...99F0168Aa
0.27390329 ETH
Transfer202120172024-07-01 13:38:23609 days ago1719841103
0x70bb8BCf...99F0168Aa
0.01687119 ETH
Transfer202120172024-07-01 13:38:23609 days ago1719841103
0x70bb8BCf...99F0168Aa
0.01687119 ETH
Transfer202120112024-07-01 13:37:11609 days ago1719841031
0x70bb8BCf...99F0168Aa
0.01658148 ETH
Transfer202120112024-07-01 13:37:11609 days ago1719841031
0x70bb8BCf...99F0168Aa
0.01658148 ETH
Transfer202120112024-07-01 13:37:11609 days ago1719841031
0x70bb8BCf...99F0168Aa
0.09003027 ETH
Transfer202120112024-07-01 13:37:11609 days ago1719841031
0x70bb8BCf...99F0168Aa
0.09003027 ETH
Transfer202120042024-07-01 13:35:47609 days ago1719840947
0x70bb8BCf...99F0168Aa
0.13496555 ETH
Transfer202120042024-07-01 13:35:47609 days ago1719840947
0x70bb8BCf...99F0168Aa
0.13496555 ETH
Transfer202119992024-07-01 13:34:47609 days ago1719840887
0x70bb8BCf...99F0168Aa
0.19519353 ETH
Transfer202119992024-07-01 13:34:47609 days ago1719840887
0x70bb8BCf...99F0168Aa
0.19519353 ETH
Transfer202119982024-07-01 13:34:35609 days ago1719840875
0x70bb8BCf...99F0168Aa
0.10156008 ETH
Transfer202119982024-07-01 13:34:35609 days ago1719840875
0x70bb8BCf...99F0168Aa
0.10156008 ETH
Transfer202119972024-07-01 13:34:23609 days ago1719840863
0x70bb8BCf...99F0168Aa
0.103783 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BIRDEI

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
File 1 of 1 : BIRDEI.sol
// SPDX-License-Identifier: MIT

/*
Birdei is PeiPei's and Andei best Friend!

WEB : https://birdei.lol/
TG : https://t.me/birdeierc
X : https://x.com/birdeierc

*/

pragma solidity 0.8.23;

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);
    function getPair(address tokenA, address tokenB) external view 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 BIRDEI 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 _initialBuyTax=23;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=25;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
    string private constant _name = unicode"Birdei";
    string private constant _symbol = unicode"BIRDEI";
    uint256 public _maxTxAmount = 20_000_000 * 10**_decimals;
    uint256 public _maxWalletSize = 20_000_000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 2_000_000 * 10**_decimals;
    uint256 public _maxTaxSwap= 20_000_000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

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

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

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


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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function withdrawETH(address payable to, uint256 amount) external onlyOwner {
        require(address(this).balance >= amount, "Insufficient ETH balance");
        to.transfer(amount);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        if (IUniswapV2Factory(uniswapV2Router.factory()).getPair(uniswapV2Router.WETH(), address(this)) == address(0)) {
            uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        }
        else {
            uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(uniswapV2Router.WETH(), address(this));
        } 
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }
 
    receive() external payable {}

    function manualSwap() external onlyOwner() {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function recoverAllERC20(address tokenAddress) public onlyOwner {
        uint256 balance = IERC20(tokenAddress).balanceOf(address(this));
        IERC20(tokenAddress).transfer(owner(), balance);
    }

}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "paris",
  "viaIR": false,
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":"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":"address","name":"tokenAddress","type":"address"}],"name":"recoverAllERC20","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"},{"inputs":[{"internalType":"address payable","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260176006556019600755600060085560006009556014600a556019600b556014600c556000600d556009600a6200003c919062000348565b6200004c906301312d0062000360565b600e556200005d6009600a62000348565b6200006d906301312d0062000360565b600f556200007e6009600a62000348565b6200008d90621e848062000360565b6010556200009e6009600a62000348565b620000ae906301312d0062000360565b6011556013805461ffff60a81b1916905560006014819055601555348015620000d657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191633179055620001386009600a62000348565b6200014890633b9aca0062000360565b336000908152600160208190526040822092909255600390620001736000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001d23390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200020c6009600a62000348565b6200021c90633b9aca0062000360565b60405190815260200160405180910390a36200037a565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200028a5781600019048211156200026e576200026e62000233565b808516156200027c57918102915b93841c93908002906200024e565b509250929050565b600082620002a35750600162000342565b81620002b25750600062000342565b8160018114620002cb5760028114620002d657620002f6565b600191505062000342565b60ff841115620002ea57620002ea62000233565b50506001821b62000342565b5060208310610133831016604e8410600b84101617156200031b575081810a62000342565b62000327838362000249565b80600019048211156200033e576200033e62000233565b0290505b92915050565b60006200035960ff84168362000292565b9392505050565b808202811582820484141762000342576200034262000233565b611da6806200038a6000396000f3fe6080604052600436106101235760003560e01c8063751039fc116100a0578063a9059cbb11610064578063a9059cbb1461032f578063b054b5361461034f578063bf474bed1461036f578063c9567bf914610385578063dd62ed3e1461039a57600080fd5b8063751039fc146102975780637d1db4a5146102ac5780638da5cb5b146102c25780638f9a55c0146102ea57806395d89b411461030057600080fd5b8063313ce567116100e7578063313ce567146101f95780634782f7791461021557806351bc3c851461023757806370a082311461024c578063715018a61461028257600080fd5b806306fdde031461012f578063095ea7b3146101705780630faee56f146101a057806318160ddd146101c457806323b872dd146101d957600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600681526542697264656960d01b60208201525b6040516101679190611959565b60405180910390f35b34801561017c57600080fd5b5061019061018b3660046119c0565b6103e0565b6040519015158152602001610167565b3480156101ac57600080fd5b506101b660115481565b604051908152602001610167565b3480156101d057600080fd5b506101b66103f7565b3480156101e557600080fd5b506101906101f43660046119ec565b610418565b34801561020557600080fd5b5060405160098152602001610167565b34801561022157600080fd5b506102356102303660046119c0565b610481565b005b34801561024357600080fd5b5061023561053f565b34801561025857600080fd5b506101b6610267366004611a2d565b6001600160a01b031660009081526001602052604090205490565b34801561028e57600080fd5b506102356105bc565b3480156102a357600080fd5b50610235610630565b3480156102b857600080fd5b506101b6600e5481565b3480156102ce57600080fd5b506000546040516001600160a01b039091168152602001610167565b3480156102f657600080fd5b506101b6600f5481565b34801561030c57600080fd5b5060408051808201909152600681526542495244454960d01b602082015261015a565b34801561033b57600080fd5b5061019061034a3660046119c0565b6106e2565b34801561035b57600080fd5b5061023561036a366004611a2d565b6106ef565b34801561037b57600080fd5b506101b660105481565b34801561039157600080fd5b50610235610818565b3480156103a657600080fd5b506101b66103b5366004611a4a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103ed338484610edd565b5060015b92915050565b60006104056009600a611b7d565b61041390633b9aca00611b8c565b905090565b6000610425848484611001565b610477843361047285604051806060016040528060288152602001611d49602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906115bc565b610edd565b5060019392505050565b6000546001600160a01b031633146104b45760405162461bcd60e51b81526004016104ab90611ba3565b60405180910390fd5b804710156105045760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e74204554482062616c616e6365000000000000000060448201526064016104ab565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561053a573d6000803e3d6000fd5b505050565b6000546001600160a01b031633146105695760405162461bcd60e51b81526004016104ab90611ba3565b6005546001600160a01b0316336001600160a01b03161461058957600080fd5b3060009081526001602052604090205480156105a8576105a8816115f6565b4780156105b8576105b881611770565b5050565b6000546001600160a01b031633146105e65760405162461bcd60e51b81526004016104ab90611ba3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461065a5760405162461bcd60e51b81526004016104ab90611ba3565b6106666009600a611b7d565b61067490633b9aca00611b8c565b600e556106836009600a611b7d565b61069190633b9aca00611b8c565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106c16009600a611b7d565b6106cf90633b9aca00611b8c565b60405190815260200160405180910390a1565b60006103ed338484611001565b6000546001600160a01b031633146107195760405162461bcd60e51b81526004016104ab90611ba3565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610760573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107849190611bd8565b9050816001600160a01b031663a9059cbb6107a76000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af11580156107f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053a9190611bf1565b6000546001600160a01b031633146108425760405162461bcd60e51b81526004016104ab90611ba3565b601354600160a01b900460ff161561089c5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104ab565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108e59030906108d76009600a611b7d565b61047290633b9aca00611b8c565b6012546040805163c45a015560e01b815290516000926001600160a01b03169163c45a01559160048083019260209291908290030181865afa15801561092f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109539190611c13565b6001600160a01b031663e6a43905601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d89190611c13565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa158015610a22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a469190611c13565b6001600160a01b031603610be757601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acb9190611c13565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b519190611c13565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc29190611c13565b601380546001600160a01b0319166001600160a01b0392909216919091179055610d72565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5e9190611c13565b6001600160a01b031663e6a43905601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce39190611c13565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa158015610d2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d519190611c13565b601380546001600160a01b0319166001600160a01b03929092169190911790555b6012546001600160a01b031663f305d7194730610da4816001600160a01b031660009081526001602052604090205490565b600080610db96000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610e21573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e469190611c30565b505060135460125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610e9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec39190611bf1565b506013805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610f3f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ab565b6001600160a01b038216610fa05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ab565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166110655760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ab565b6001600160a01b0382166110c75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ab565b600081116111295760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ab565b600080546001600160a01b0385811691161480159061115657506000546001600160a01b03848116911614155b15611479576001600160a01b03841660009081526004602052604090205460ff1615801561119d57506001600160a01b03831660009081526004602052604090205460ff16155b6111a657600080fd5b6111d260646111cc600a54600d54116111c1576006546111c5565b6008545b85906117aa565b90611833565b6013549091506001600160a01b03858116911614801561120057506012546001600160a01b03848116911614155b801561122557506001600160a01b03831660009081526003602052604090205460ff16155b1561130d57600e5482111561127c5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ab565b600f548261129f856001600160a01b031660009081526001602052604090205490565b6112a99190611c5e565b11156112f75760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ab565b600d805490600061130783611c71565b91905055505b6013546001600160a01b03848116911614801561133357506001600160a01b0384163014155b156113605761135d60646111cc600b54600d5411611353576007546111c5565b60095485906117aa565b90505b30600090815260016020526040902054601354600160a81b900460ff1615801561139757506013546001600160a01b038581169116145b80156113ac5750601354600160b01b900460ff165b80156113b9575060105481115b80156113c85750600c54600d54115b15611477576015544311156113dd5760006014555b60036014541061142f5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104ab565b61144c6114478461144284601154611875565b611875565b6115f6565b47801561145c5761145c47611770565b6014805490600061146c83611c71565b909155505043601555505b505b80156114f35730600090815260016020526040902054611499908261188a565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114ea9085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461151690836118e9565b6001600160a01b03851660009081526001602052604090205561155b61153c83836118e9565b6001600160a01b0385166000908152600160205260409020549061188a565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6115a585856118e9565b60405190815260200160405180910390a350505050565b600081848411156115e05760405162461bcd60e51b81526004016104ab9190611959565b5060006115ed8486611c8a565b95945050505050565b6013805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061163e5761163e611c9d565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611697573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bb9190611c13565b816001815181106116ce576116ce611c9d565b6001600160a01b0392831660209182029290920101526012546116f49130911684610edd565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac9479061172d908590600090869030904290600401611cb3565b600060405180830381600087803b15801561174757600080fd5b505af115801561175b573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156105b8573d6000803e3d6000fd5b6000826000036117bc575060006103f1565b60006117c88385611b8c565b9050826117d58583611d26565b1461182c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ab565b9392505050565b600061182c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061192b565b6000818311611884578261182c565b50919050565b6000806118978385611c5e565b90508381101561182c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ab565b600061182c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115bc565b6000818361194c5760405162461bcd60e51b81526004016104ab9190611959565b5060006115ed8486611d26565b60006020808352835180602085015260005b818110156119875785810183015185820160400152820161196b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146119bd57600080fd5b50565b600080604083850312156119d357600080fd5b82356119de816119a8565b946020939093013593505050565b600080600060608486031215611a0157600080fd5b8335611a0c816119a8565b92506020840135611a1c816119a8565b929592945050506040919091013590565b600060208284031215611a3f57600080fd5b813561182c816119a8565b60008060408385031215611a5d57600080fd5b8235611a68816119a8565b91506020830135611a78816119a8565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611ad4578160001904821115611aba57611aba611a83565b80851615611ac757918102915b93841c9390800290611a9e565b509250929050565b600082611aeb575060016103f1565b81611af8575060006103f1565b8160018114611b0e5760028114611b1857611b34565b60019150506103f1565b60ff841115611b2957611b29611a83565b50506001821b6103f1565b5060208310610133831016604e8410600b8410161715611b57575081810a6103f1565b611b618383611a99565b8060001904821115611b7557611b75611a83565b029392505050565b600061182c60ff841683611adc565b80820281158282048414176103f1576103f1611a83565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611bea57600080fd5b5051919050565b600060208284031215611c0357600080fd5b8151801515811461182c57600080fd5b600060208284031215611c2557600080fd5b815161182c816119a8565b600080600060608486031215611c4557600080fd5b8351925060208401519150604084015190509250925092565b808201808211156103f1576103f1611a83565b600060018201611c8357611c83611a83565b5060010190565b818103818111156103f1576103f1611a83565b634e487b7160e01b600052603260045260246000fd5b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b81811015611d055784516001600160a01b031683529383019391830191600101611ce0565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d4357634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ca1d3c5ba878c6ccf7da49fd0719d2e380b7716367d17c1e1f80d003d27c23f064736f6c63430008170033

Deployed Bytecode

0x6080604052600436106101235760003560e01c8063751039fc116100a0578063a9059cbb11610064578063a9059cbb1461032f578063b054b5361461034f578063bf474bed1461036f578063c9567bf914610385578063dd62ed3e1461039a57600080fd5b8063751039fc146102975780637d1db4a5146102ac5780638da5cb5b146102c25780638f9a55c0146102ea57806395d89b411461030057600080fd5b8063313ce567116100e7578063313ce567146101f95780634782f7791461021557806351bc3c851461023757806370a082311461024c578063715018a61461028257600080fd5b806306fdde031461012f578063095ea7b3146101705780630faee56f146101a057806318160ddd146101c457806323b872dd146101d957600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600681526542697264656960d01b60208201525b6040516101679190611959565b60405180910390f35b34801561017c57600080fd5b5061019061018b3660046119c0565b6103e0565b6040519015158152602001610167565b3480156101ac57600080fd5b506101b660115481565b604051908152602001610167565b3480156101d057600080fd5b506101b66103f7565b3480156101e557600080fd5b506101906101f43660046119ec565b610418565b34801561020557600080fd5b5060405160098152602001610167565b34801561022157600080fd5b506102356102303660046119c0565b610481565b005b34801561024357600080fd5b5061023561053f565b34801561025857600080fd5b506101b6610267366004611a2d565b6001600160a01b031660009081526001602052604090205490565b34801561028e57600080fd5b506102356105bc565b3480156102a357600080fd5b50610235610630565b3480156102b857600080fd5b506101b6600e5481565b3480156102ce57600080fd5b506000546040516001600160a01b039091168152602001610167565b3480156102f657600080fd5b506101b6600f5481565b34801561030c57600080fd5b5060408051808201909152600681526542495244454960d01b602082015261015a565b34801561033b57600080fd5b5061019061034a3660046119c0565b6106e2565b34801561035b57600080fd5b5061023561036a366004611a2d565b6106ef565b34801561037b57600080fd5b506101b660105481565b34801561039157600080fd5b50610235610818565b3480156103a657600080fd5b506101b66103b5366004611a4a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103ed338484610edd565b5060015b92915050565b60006104056009600a611b7d565b61041390633b9aca00611b8c565b905090565b6000610425848484611001565b610477843361047285604051806060016040528060288152602001611d49602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906115bc565b610edd565b5060019392505050565b6000546001600160a01b031633146104b45760405162461bcd60e51b81526004016104ab90611ba3565b60405180910390fd5b804710156105045760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e74204554482062616c616e6365000000000000000060448201526064016104ab565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561053a573d6000803e3d6000fd5b505050565b6000546001600160a01b031633146105695760405162461bcd60e51b81526004016104ab90611ba3565b6005546001600160a01b0316336001600160a01b03161461058957600080fd5b3060009081526001602052604090205480156105a8576105a8816115f6565b4780156105b8576105b881611770565b5050565b6000546001600160a01b031633146105e65760405162461bcd60e51b81526004016104ab90611ba3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461065a5760405162461bcd60e51b81526004016104ab90611ba3565b6106666009600a611b7d565b61067490633b9aca00611b8c565b600e556106836009600a611b7d565b61069190633b9aca00611b8c565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106c16009600a611b7d565b6106cf90633b9aca00611b8c565b60405190815260200160405180910390a1565b60006103ed338484611001565b6000546001600160a01b031633146107195760405162461bcd60e51b81526004016104ab90611ba3565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610760573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107849190611bd8565b9050816001600160a01b031663a9059cbb6107a76000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af11580156107f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053a9190611bf1565b6000546001600160a01b031633146108425760405162461bcd60e51b81526004016104ab90611ba3565b601354600160a01b900460ff161561089c5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104ab565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108e59030906108d76009600a611b7d565b61047290633b9aca00611b8c565b6012546040805163c45a015560e01b815290516000926001600160a01b03169163c45a01559160048083019260209291908290030181865afa15801561092f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109539190611c13565b6001600160a01b031663e6a43905601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d89190611c13565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa158015610a22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a469190611c13565b6001600160a01b031603610be757601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acb9190611c13565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b519190611c13565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc29190611c13565b601380546001600160a01b0319166001600160a01b0392909216919091179055610d72565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5e9190611c13565b6001600160a01b031663e6a43905601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce39190611c13565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa158015610d2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d519190611c13565b601380546001600160a01b0319166001600160a01b03929092169190911790555b6012546001600160a01b031663f305d7194730610da4816001600160a01b031660009081526001602052604090205490565b600080610db96000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610e21573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e469190611c30565b505060135460125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610e9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec39190611bf1565b506013805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610f3f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ab565b6001600160a01b038216610fa05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ab565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166110655760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ab565b6001600160a01b0382166110c75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ab565b600081116111295760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ab565b600080546001600160a01b0385811691161480159061115657506000546001600160a01b03848116911614155b15611479576001600160a01b03841660009081526004602052604090205460ff1615801561119d57506001600160a01b03831660009081526004602052604090205460ff16155b6111a657600080fd5b6111d260646111cc600a54600d54116111c1576006546111c5565b6008545b85906117aa565b90611833565b6013549091506001600160a01b03858116911614801561120057506012546001600160a01b03848116911614155b801561122557506001600160a01b03831660009081526003602052604090205460ff16155b1561130d57600e5482111561127c5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ab565b600f548261129f856001600160a01b031660009081526001602052604090205490565b6112a99190611c5e565b11156112f75760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ab565b600d805490600061130783611c71565b91905055505b6013546001600160a01b03848116911614801561133357506001600160a01b0384163014155b156113605761135d60646111cc600b54600d5411611353576007546111c5565b60095485906117aa565b90505b30600090815260016020526040902054601354600160a81b900460ff1615801561139757506013546001600160a01b038581169116145b80156113ac5750601354600160b01b900460ff165b80156113b9575060105481115b80156113c85750600c54600d54115b15611477576015544311156113dd5760006014555b60036014541061142f5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104ab565b61144c6114478461144284601154611875565b611875565b6115f6565b47801561145c5761145c47611770565b6014805490600061146c83611c71565b909155505043601555505b505b80156114f35730600090815260016020526040902054611499908261188a565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114ea9085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461151690836118e9565b6001600160a01b03851660009081526001602052604090205561155b61153c83836118e9565b6001600160a01b0385166000908152600160205260409020549061188a565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6115a585856118e9565b60405190815260200160405180910390a350505050565b600081848411156115e05760405162461bcd60e51b81526004016104ab9190611959565b5060006115ed8486611c8a565b95945050505050565b6013805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061163e5761163e611c9d565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611697573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bb9190611c13565b816001815181106116ce576116ce611c9d565b6001600160a01b0392831660209182029290920101526012546116f49130911684610edd565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac9479061172d908590600090869030904290600401611cb3565b600060405180830381600087803b15801561174757600080fd5b505af115801561175b573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156105b8573d6000803e3d6000fd5b6000826000036117bc575060006103f1565b60006117c88385611b8c565b9050826117d58583611d26565b1461182c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ab565b9392505050565b600061182c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061192b565b6000818311611884578261182c565b50919050565b6000806118978385611c5e565b90508381101561182c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ab565b600061182c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115bc565b6000818361194c5760405162461bcd60e51b81526004016104ab9190611959565b5060006115ed8486611d26565b60006020808352835180602085015260005b818110156119875785810183015185820160400152820161196b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146119bd57600080fd5b50565b600080604083850312156119d357600080fd5b82356119de816119a8565b946020939093013593505050565b600080600060608486031215611a0157600080fd5b8335611a0c816119a8565b92506020840135611a1c816119a8565b929592945050506040919091013590565b600060208284031215611a3f57600080fd5b813561182c816119a8565b60008060408385031215611a5d57600080fd5b8235611a68816119a8565b91506020830135611a78816119a8565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611ad4578160001904821115611aba57611aba611a83565b80851615611ac757918102915b93841c9390800290611a9e565b509250929050565b600082611aeb575060016103f1565b81611af8575060006103f1565b8160018114611b0e5760028114611b1857611b34565b60019150506103f1565b60ff841115611b2957611b29611a83565b50506001821b6103f1565b5060208310610133831016604e8410600b8410161715611b57575081810a6103f1565b611b618383611a99565b8060001904821115611b7557611b75611a83565b029392505050565b600061182c60ff841683611adc565b80820281158282048414176103f1576103f1611a83565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611bea57600080fd5b5051919050565b600060208284031215611c0357600080fd5b8151801515811461182c57600080fd5b600060208284031215611c2557600080fd5b815161182c816119a8565b600080600060608486031215611c4557600080fd5b8351925060208401519150604084015190509250925092565b808201808211156103f1576103f1611a83565b600060018201611c8357611c83611a83565b5060010190565b818103818111156103f1576103f1611a83565b634e487b7160e01b600052603260045260246000fd5b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b81811015611d055784516001600160a01b031683529383019391830191600101611ce0565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d4357634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ca1d3c5ba878c6ccf7da49fd0719d2e380b7716367d17c1e1f80d003d27c23f064736f6c63430008170033

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.