ETH Price: $3,360.31 (+0.38%)

Contract

0xB4d9F54cDf26b3971A5b75dc27e36401fF4A8cC0
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve212455022024-11-22 19:57:2316 hrs ago1732305443IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.0005520611.86237785
Approve212058882024-11-17 7:18:596 days ago1731827939IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.0004800610.31541003
Approve211984092024-11-16 6:17:237 days ago1731737843IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.000862418.50693136
Approve211034742024-11-03 0:16:2320 days ago1730592983IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.000080223.30770337
Approve211032632024-11-02 23:34:1120 days ago1730590451IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.000234685.04268772
Approve210842622024-10-31 7:56:3523 days ago1730361395IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.0004998710.72718336
Approve210476732024-10-26 5:21:1128 days ago1729920071IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.000291346.26030836
Approve209785102024-10-16 13:46:1137 days ago1729086371IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.0010479422.51761311
Approve209750912024-10-16 2:18:5938 days ago1729045139IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.0008891319.10511611
Approve209748712024-10-16 1:34:3538 days ago1729042475IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.0004829110.37655198
Approve209640782024-10-14 13:23:3539 days ago1728912215IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.0014056330.20330333
Approve209591272024-10-13 20:46:1140 days ago1728852371IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.0009898121.26847066
Approve209583562024-10-13 18:11:1140 days ago1728843071IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.0004692810.08372463
Approve209524382024-10-12 22:15:2341 days ago1728771323IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.000394388.51590521
Approve209509032024-10-12 17:06:2341 days ago1728752783IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.0028532361.22961104
Transfer209495942024-10-12 12:43:2341 days ago1728737003IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.0007323411.05369497
Approve209456772024-10-11 23:32:5942 days ago1728689579IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.000270239.27020074
Approve209449632024-10-11 21:09:1142 days ago1728680951IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.000461269.91147206
Approve209387112024-10-11 0:10:4743 days ago1728605447IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.0005424711.72898717
Approve209379662024-10-10 21:41:1143 days ago1728596471IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.000424059.1
Approve209372022024-10-10 19:07:3543 days ago1728587255IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.0003902114.61546399
Approve209372012024-10-10 19:07:2343 days ago1728587243IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.0006663114.29882387
Approve209371862024-10-10 19:04:2343 days ago1728587063IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.0007219115.51201323
Approve209371462024-10-10 18:56:2343 days ago1728586583IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.0006028512.95369679
Approve209368732024-10-10 18:01:4743 days ago1728583307IN
0xB4d9F54c...1fF4A8cC0
0 ETH0.0012672327.22944949
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
209236132024-10-08 21:41:1145 days ago1728423671
0xB4d9F54c...1fF4A8cC0
0.61354251 ETH
209236132024-10-08 21:41:1145 days ago1728423671
0xB4d9F54c...1fF4A8cC0
0.61354251 ETH
209234712024-10-08 21:12:3545 days ago1728421955
0xB4d9F54c...1fF4A8cC0
0.37741131 ETH
209234712024-10-08 21:12:3545 days ago1728421955
0xB4d9F54c...1fF4A8cC0
0.37741131 ETH
209234702024-10-08 21:12:2345 days ago1728421943
0xB4d9F54c...1fF4A8cC0
0.10549943 ETH
209234702024-10-08 21:12:2345 days ago1728421943
0xB4d9F54c...1fF4A8cC0
0.10549943 ETH
209234692024-10-08 21:12:1145 days ago1728421931
0xB4d9F54c...1fF4A8cC0
0.73192451 ETH
209234692024-10-08 21:12:1145 days ago1728421931
0xB4d9F54c...1fF4A8cC0
0.73192451 ETH
209234692024-10-08 21:12:1145 days ago1728421931
0xB4d9F54c...1fF4A8cC0
0.28540415 ETH
209234692024-10-08 21:12:1145 days ago1728421931
0xB4d9F54c...1fF4A8cC0
0.28540415 ETH
209234682024-10-08 21:11:5945 days ago1728421919
0xB4d9F54c...1fF4A8cC0
0.34256138 ETH
209234682024-10-08 21:11:5945 days ago1728421919
0xB4d9F54c...1fF4A8cC0
0.34256138 ETH
209234682024-10-08 21:11:5945 days ago1728421919
0xB4d9F54c...1fF4A8cC0
0.17317964 ETH
209234682024-10-08 21:11:5945 days ago1728421919
0xB4d9F54c...1fF4A8cC0
0.17317964 ETH
209234682024-10-08 21:11:5945 days ago1728421919
0xB4d9F54c...1fF4A8cC0
0.10820569 ETH
209234682024-10-08 21:11:5945 days ago1728421919
0xB4d9F54c...1fF4A8cC0
0.10820569 ETH
209234672024-10-08 21:11:4745 days ago1728421907
0xB4d9F54c...1fF4A8cC0
0.27677388 ETH
209234672024-10-08 21:11:4745 days ago1728421907
0xB4d9F54c...1fF4A8cC0
0.27677388 ETH
209234672024-10-08 21:11:4745 days ago1728421907
0xB4d9F54c...1fF4A8cC0
0.11033962 ETH
209234672024-10-08 21:11:4745 days ago1728421907
0xB4d9F54c...1fF4A8cC0
0.11033962 ETH
209234602024-10-08 21:10:2345 days ago1728421823
0xB4d9F54c...1fF4A8cC0
0.06345532 ETH
209234602024-10-08 21:10:2345 days ago1728421823
0xB4d9F54c...1fF4A8cC0
0.06345532 ETH
209234592024-10-08 21:10:1145 days ago1728421811
0xB4d9F54c...1fF4A8cC0
0.12489141 ETH
209234592024-10-08 21:10:1145 days ago1728421811
0xB4d9F54c...1fF4A8cC0
0.12489141 ETH
209234592024-10-08 21:10:1145 days ago1728421811
0xB4d9F54c...1fF4A8cC0
0.95998408 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KAI

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-10-08
*/

/*

$KAI - From The Alley To The Riches

Telegram: https://t.me/kai_ethereum
Website: https://www.kaitoken.io
X: https://x.com/kai_ethereum

*/


// SPDX-License-Identifier: UNLICENSED

pragma solidity 0.8.23;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract KAI is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=10;
    uint256 private _initialSellTax=10;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=150; // Reduce buy tax to 0 after 150 buys or when the reduceFee function is called
    uint256 private _reduceSellTaxAt=150; // Reduce sell tax to 0 after 150 sells or when the reduceFee function is called
    uint256 private _preventSwapBefore=26;
    uint256 private _transferTax=10;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 69000000000 * 10**_decimals;
    string private constant _name = unicode"Kai";
    string private constant _symbol = unicode"KAI";
    uint256 public _maxTxAmount = 1380000000 * 10**_decimals;
    uint256 public _maxWalletSize = 1380000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 350000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 1380000000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

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

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

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

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

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

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

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner() && to != _taxWallet) {
            require(!bots[from] && !bots[to]);

            if(_buyCount==0){
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            }
            if(_buyCount>0){
                taxAmount = amount.mul(_transferTax).div(100);
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                _buyCount++;
            }

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

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

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


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

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

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

    function removeTranTax() external onlyOwner{
        _transferTax = 0;
        emit TransferTaxUpdated(0);
    }

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

    function addBot(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBot(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    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);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    
    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

    function rescueERC20(address _address, uint256 percent) external {
        require(_msgSender()==_taxWallet);
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(_taxWallet, _amount);
    }

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","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":"bots_","type":"address[]"}],"name":"addBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTranTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","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"}]

6080604052600a600655600a6007555f6008555f6009556096600a556096600b55601a600c55600a600d555f600e556009600a6200003e919062000340565b6200004e90635241210062000357565b600f556200005f6009600a62000340565b6200006f90635241210062000357565b601055620000806009600a62000340565b62000090906314dc938062000357565b601155620000a16009600a62000340565b620000b190635241210062000357565b6012556014805461ffff60a81b191690555f6015819055601655348015620000d7575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191633179055620001386009600a62000340565b6200014990641010b8720062000357565b335f908152600160208190526040822092909255600390620001725f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001d03390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002096009600a62000340565b6200021a90641010b8720062000357565b60405190815260200160405180910390a362000371565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028557815f190482111562000269576200026962000231565b808516156200027757918102915b93841c93908002906200024a565b509250929050565b5f826200029d575060016200033a565b81620002ab57505f6200033a565b8160018114620002c45760028114620002cf57620002ef565b60019150506200033a565b60ff841115620002e357620002e362000231565b50506001821b6200033a565b5060208310610133831016604e8410600b841016171562000314575081810a6200033a565b62000320838362000245565b805f190482111562000336576200033662000231565b0290505b92915050565b5f6200035060ff8416836200028d565b9392505050565b80820281158282048414176200033a576200033a62000231565b611cf5806200037f5f395ff3fe60806040526004361061014a575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb146103a8578063bf474bed146103c7578063c97c1821146103dc578063dd62ed3e146103fb578063ec1f3f631461043f578063fb201b1d1461045e575f80fd5b8063715018a6146102fa5780637d1db4a51461030e5780638cd4426d146103235780638da5cb5b146103425780638f9a55c01461036857806395d89b411461037d575f80fd5b806323b872dd1161010457806323b872dd1461022d578063313ce5671461024c5780633bbac5791461026757806351bc3c851461029e57806362256589146102b257806370a08231146102c6575f80fd5b806302fa1f4a1461015557806306fdde031461016b578063095ea7b3146101a85780630faee56f146101d757806318160ddd146101fa57806321bbcbb11461020e575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b50610169610472565b005b348015610176575f80fd5b506040805180820190915260038152624b616960e81b60208201525b60405161019f91906117d3565b60405180910390f35b3480156101b3575f80fd5b506101c76101c2366004611846565b6104e0565b604051901515815260200161019f565b3480156101e2575f80fd5b506101ec60125481565b60405190815260200161019f565b348015610205575f80fd5b506101ec6104f6565b348015610219575f80fd5b50610169610228366004611884565b610517565b348015610238575f80fd5b506101c7610247366004611944565b61059f565b348015610257575f80fd5b506040516009815260200161019f565b348015610272575f80fd5b506101c7610281366004611982565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102a9575f80fd5b50610169610606565b3480156102bd575f80fd5b5061016961066a565b3480156102d1575f80fd5b506101ec6102e0366004611982565b6001600160a01b03165f9081526001602052604090205490565b348015610305575f80fd5b50610169610719565b348015610319575f80fd5b506101ec600f5481565b34801561032e575f80fd5b5061016961033d366004611846565b61078a565b34801561034d575f80fd5b505f546040516001600160a01b03909116815260200161019f565b348015610373575f80fd5b506101ec60105481565b348015610388575f80fd5b506040805180820190915260038152624b414960e81b6020820152610192565b3480156103b3575f80fd5b506101c76103c2366004611846565b6108a6565b3480156103d2575f80fd5b506101ec60115481565b3480156103e7575f80fd5b506101696103f6366004611884565b6108b2565b348015610406575f80fd5b506101ec61041536600461199d565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561044a575f80fd5b506101696104593660046119d4565b610935565b348015610469575f80fd5b5061016961097a565b5f546001600160a01b031633146104a45760405162461bcd60e51b815260040161049b906119eb565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104ec338484610d24565b5060015b92915050565b5f6105036009600a611b14565b61051290641010b87200611b22565b905090565b5f546001600160a01b031633146105405760405162461bcd60e51b815260040161049b906119eb565b5f5b815181101561059b57600160045f84848151811061056257610562611b39565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610542565b5050565b5f6105ab848484610e47565b6105fc84336105f785604051806060016040528060288152602001611c98602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061144f565b610d24565b5060019392505050565b6005546001600160a01b0316336001600160a01b031614610625575f80fd5b305f90815260016020526040902054801580159061064c5750601454600160b01b900460ff165b1561065a5761065a81611487565b47801561059b5761059b816115f7565b5f546001600160a01b031633146106935760405162461bcd60e51b815260040161049b906119eb565b61069f6009600a611b14565b6106ae90641010b87200611b22565b600f556106bd6009600a611b14565b6106cc90641010b87200611b22565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106fc6009600a611b14565b61070b90641010b87200611b22565b6040519081526020016104d6565b5f546001600160a01b031633146107425760405162461bcd60e51b815260040161049b906119eb565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6005546001600160a01b0316336001600160a01b0316146107a9575f80fd5b6040516370a0823160e01b81523060048201525f9061082a906064906108249085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156107fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081e9190611b4d565b9061162e565b906116b3565b60055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af115801561087c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a09190611b64565b50505050565b5f6104ec338484610e47565b5f546001600160a01b031633146108db5760405162461bcd60e51b815260040161049b906119eb565b5f5b815181101561059b575f60045f8484815181106108fc576108fc611b39565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016108dd565b6005546001600160a01b0316336001600160a01b031614610954575f80fd5b600854811115801561096857506009548111155b610970575f80fd5b6008819055600955565b5f546001600160a01b031633146109a35760405162461bcd60e51b815260040161049b906119eb565b601454600160a01b900460ff16156109fd5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161049b565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610a47903090610a386009600a611b14565b6105f790641010b87200611b22565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abb9190611b83565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3e9190611b83565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190611b83565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610bf3816001600160a01b03165f9081526001602052604090205490565b5f80610c065f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c6c573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c919190611b9e565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ce6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d0a9190611b64565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610d865760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161049b565b6001600160a01b038216610de75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161049b565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610eab5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161049b565b6001600160a01b038216610f0d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161049b565b5f8111610f6e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161049b565b5f80546001600160a01b03858116911614801590610f9957505f546001600160a01b03848116911614155b8015610fb357506005546001600160a01b03848116911614155b15611312576001600160a01b0384165f9081526004602052604090205460ff16158015610ff857506001600160a01b0383165f9081526004602052604090205460ff16155b611000575f80fd5b600e545f036110325761102f6064610824600a54600e541161102457600654611028565b6008545b859061162e565b90505b600e5415611057576110546064610824600d548561162e90919063ffffffff16565b90505b6014546001600160a01b03858116911614801561108257506013546001600160a01b03848116911614155b80156110a657506001600160a01b0383165f9081526003602052604090205460ff16155b156111a957600f548211156110fd5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161049b565b6010548261111f856001600160a01b03165f9081526001602052604090205490565b6111299190611bc9565b11156111775760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161049b565b6111926064610824600a54600e541161102457600654611028565b600e80549192505f6111a383611bdc565b91905055505b6014546001600160a01b0384811691161480156111cf57506001600160a01b0384163014155b156111fc576111f96064610824600b54600e54116111ef57600754611028565b600954859061162e565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561123257506014546001600160a01b038581169116145b80156112475750601454600160b01b900460ff165b8015611254575060115481115b80156112635750600c54600e54115b1561131057601654431115611277575f6015555b600a601554106112c95760405162461bcd60e51b815260206004820152601860248201527f4f6e6c792031302073656c6c732070657220626c6f636b210000000000000000604482015260640161049b565b6112e66112e1846112dc846012546116f4565b6116f4565b611487565b4780156112f6576112f6476115f7565b60158054905f61130583611bdc565b909155505043601655505b505b801561138a57305f908152600160205260409020546113319082611708565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113819085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546113ac9083611766565b6001600160a01b0385165f908152600160205260409020556113ef6113d18383611766565b6001600160a01b0385165f9081526001602052604090205490611708565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114388585611766565b60405190815260200160405180910390a350505050565b5f81848411156114725760405162461bcd60e51b815260040161049b91906117d3565b505f61147e8486611bf4565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114cd576114cd611b39565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611524573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115489190611b83565b8160018151811061155b5761155b611b39565b6001600160a01b0392831660209182029290920101526013546115819130911684610d24565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906115b99085905f90869030904290600401611c07565b5f604051808303815f87803b1580156115d0575f80fd5b505af11580156115e2573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561059b573d5f803e3d5ffd5b5f825f0361163d57505f6104f0565b5f6116488385611b22565b9050826116558583611c78565b146116ac5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161049b565b9392505050565b5f6116ac83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117a7565b5f81831161170257826116ac565b50919050565b5f806117148385611bc9565b9050838110156116ac5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161049b565b5f6116ac83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061144f565b5f81836117c75760405162461bcd60e51b815260040161049b91906117d3565b505f61147e8486611c78565b5f602080835283518060208501525f5b818110156117ff578581018301518582016040015282016117e3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611833575f80fd5b50565b80356118418161181f565b919050565b5f8060408385031215611857575f80fd5b82356118628161181f565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611895575f80fd5b823567ffffffffffffffff808211156118ac575f80fd5b818501915085601f8301126118bf575f80fd5b8135818111156118d1576118d1611870565b8060051b604051601f19603f830116810181811085821117156118f6576118f6611870565b604052918252848201925083810185019188831115611913575f80fd5b938501935b828510156119385761192985611836565b84529385019392850192611918565b98975050505050505050565b5f805f60608486031215611956575f80fd5b83356119618161181f565b925060208401356119718161181f565b929592945050506040919091013590565b5f60208284031215611992575f80fd5b81356116ac8161181f565b5f80604083850312156119ae575f80fd5b82356119b98161181f565b915060208301356119c98161181f565b809150509250929050565b5f602082840312156119e4575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611a6e57815f1904821115611a5457611a54611a20565b80851615611a6157918102915b93841c9390800290611a39565b509250929050565b5f82611a84575060016104f0565b81611a9057505f6104f0565b8160018114611aa65760028114611ab057611acc565b60019150506104f0565b60ff841115611ac157611ac1611a20565b50506001821b6104f0565b5060208310610133831016604e8410600b8410161715611aef575081810a6104f0565b611af98383611a34565b805f1904821115611b0c57611b0c611a20565b029392505050565b5f6116ac60ff841683611a76565b80820281158282048414176104f0576104f0611a20565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b5d575f80fd5b5051919050565b5f60208284031215611b74575f80fd5b815180151581146116ac575f80fd5b5f60208284031215611b93575f80fd5b81516116ac8161181f565b5f805f60608486031215611bb0575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156104f0576104f0611a20565b5f60018201611bed57611bed611a20565b5060010190565b818103818111156104f0576104f0611a20565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611c575784516001600160a01b031683529383019391830191600101611c32565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611c9257634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122080d8a152e5820af7fb24963cdfc1dff24cc89f1e67d029b36b2ee79f1a301b4164736f6c63430008170033

Deployed Bytecode

0x60806040526004361061014a575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb146103a8578063bf474bed146103c7578063c97c1821146103dc578063dd62ed3e146103fb578063ec1f3f631461043f578063fb201b1d1461045e575f80fd5b8063715018a6146102fa5780637d1db4a51461030e5780638cd4426d146103235780638da5cb5b146103425780638f9a55c01461036857806395d89b411461037d575f80fd5b806323b872dd1161010457806323b872dd1461022d578063313ce5671461024c5780633bbac5791461026757806351bc3c851461029e57806362256589146102b257806370a08231146102c6575f80fd5b806302fa1f4a1461015557806306fdde031461016b578063095ea7b3146101a85780630faee56f146101d757806318160ddd146101fa57806321bbcbb11461020e575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b50610169610472565b005b348015610176575f80fd5b506040805180820190915260038152624b616960e81b60208201525b60405161019f91906117d3565b60405180910390f35b3480156101b3575f80fd5b506101c76101c2366004611846565b6104e0565b604051901515815260200161019f565b3480156101e2575f80fd5b506101ec60125481565b60405190815260200161019f565b348015610205575f80fd5b506101ec6104f6565b348015610219575f80fd5b50610169610228366004611884565b610517565b348015610238575f80fd5b506101c7610247366004611944565b61059f565b348015610257575f80fd5b506040516009815260200161019f565b348015610272575f80fd5b506101c7610281366004611982565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102a9575f80fd5b50610169610606565b3480156102bd575f80fd5b5061016961066a565b3480156102d1575f80fd5b506101ec6102e0366004611982565b6001600160a01b03165f9081526001602052604090205490565b348015610305575f80fd5b50610169610719565b348015610319575f80fd5b506101ec600f5481565b34801561032e575f80fd5b5061016961033d366004611846565b61078a565b34801561034d575f80fd5b505f546040516001600160a01b03909116815260200161019f565b348015610373575f80fd5b506101ec60105481565b348015610388575f80fd5b506040805180820190915260038152624b414960e81b6020820152610192565b3480156103b3575f80fd5b506101c76103c2366004611846565b6108a6565b3480156103d2575f80fd5b506101ec60115481565b3480156103e7575f80fd5b506101696103f6366004611884565b6108b2565b348015610406575f80fd5b506101ec61041536600461199d565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561044a575f80fd5b506101696104593660046119d4565b610935565b348015610469575f80fd5b5061016961097a565b5f546001600160a01b031633146104a45760405162461bcd60e51b815260040161049b906119eb565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104ec338484610d24565b5060015b92915050565b5f6105036009600a611b14565b61051290641010b87200611b22565b905090565b5f546001600160a01b031633146105405760405162461bcd60e51b815260040161049b906119eb565b5f5b815181101561059b57600160045f84848151811061056257610562611b39565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610542565b5050565b5f6105ab848484610e47565b6105fc84336105f785604051806060016040528060288152602001611c98602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061144f565b610d24565b5060019392505050565b6005546001600160a01b0316336001600160a01b031614610625575f80fd5b305f90815260016020526040902054801580159061064c5750601454600160b01b900460ff165b1561065a5761065a81611487565b47801561059b5761059b816115f7565b5f546001600160a01b031633146106935760405162461bcd60e51b815260040161049b906119eb565b61069f6009600a611b14565b6106ae90641010b87200611b22565b600f556106bd6009600a611b14565b6106cc90641010b87200611b22565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106fc6009600a611b14565b61070b90641010b87200611b22565b6040519081526020016104d6565b5f546001600160a01b031633146107425760405162461bcd60e51b815260040161049b906119eb565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6005546001600160a01b0316336001600160a01b0316146107a9575f80fd5b6040516370a0823160e01b81523060048201525f9061082a906064906108249085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156107fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081e9190611b4d565b9061162e565b906116b3565b60055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af115801561087c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a09190611b64565b50505050565b5f6104ec338484610e47565b5f546001600160a01b031633146108db5760405162461bcd60e51b815260040161049b906119eb565b5f5b815181101561059b575f60045f8484815181106108fc576108fc611b39565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016108dd565b6005546001600160a01b0316336001600160a01b031614610954575f80fd5b600854811115801561096857506009548111155b610970575f80fd5b6008819055600955565b5f546001600160a01b031633146109a35760405162461bcd60e51b815260040161049b906119eb565b601454600160a01b900460ff16156109fd5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161049b565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610a47903090610a386009600a611b14565b6105f790641010b87200611b22565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abb9190611b83565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3e9190611b83565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190611b83565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610bf3816001600160a01b03165f9081526001602052604090205490565b5f80610c065f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c6c573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c919190611b9e565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ce6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d0a9190611b64565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610d865760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161049b565b6001600160a01b038216610de75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161049b565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610eab5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161049b565b6001600160a01b038216610f0d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161049b565b5f8111610f6e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161049b565b5f80546001600160a01b03858116911614801590610f9957505f546001600160a01b03848116911614155b8015610fb357506005546001600160a01b03848116911614155b15611312576001600160a01b0384165f9081526004602052604090205460ff16158015610ff857506001600160a01b0383165f9081526004602052604090205460ff16155b611000575f80fd5b600e545f036110325761102f6064610824600a54600e541161102457600654611028565b6008545b859061162e565b90505b600e5415611057576110546064610824600d548561162e90919063ffffffff16565b90505b6014546001600160a01b03858116911614801561108257506013546001600160a01b03848116911614155b80156110a657506001600160a01b0383165f9081526003602052604090205460ff16155b156111a957600f548211156110fd5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161049b565b6010548261111f856001600160a01b03165f9081526001602052604090205490565b6111299190611bc9565b11156111775760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161049b565b6111926064610824600a54600e541161102457600654611028565b600e80549192505f6111a383611bdc565b91905055505b6014546001600160a01b0384811691161480156111cf57506001600160a01b0384163014155b156111fc576111f96064610824600b54600e54116111ef57600754611028565b600954859061162e565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561123257506014546001600160a01b038581169116145b80156112475750601454600160b01b900460ff165b8015611254575060115481115b80156112635750600c54600e54115b1561131057601654431115611277575f6015555b600a601554106112c95760405162461bcd60e51b815260206004820152601860248201527f4f6e6c792031302073656c6c732070657220626c6f636b210000000000000000604482015260640161049b565b6112e66112e1846112dc846012546116f4565b6116f4565b611487565b4780156112f6576112f6476115f7565b60158054905f61130583611bdc565b909155505043601655505b505b801561138a57305f908152600160205260409020546113319082611708565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113819085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546113ac9083611766565b6001600160a01b0385165f908152600160205260409020556113ef6113d18383611766565b6001600160a01b0385165f9081526001602052604090205490611708565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114388585611766565b60405190815260200160405180910390a350505050565b5f81848411156114725760405162461bcd60e51b815260040161049b91906117d3565b505f61147e8486611bf4565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114cd576114cd611b39565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611524573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115489190611b83565b8160018151811061155b5761155b611b39565b6001600160a01b0392831660209182029290920101526013546115819130911684610d24565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906115b99085905f90869030904290600401611c07565b5f604051808303815f87803b1580156115d0575f80fd5b505af11580156115e2573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561059b573d5f803e3d5ffd5b5f825f0361163d57505f6104f0565b5f6116488385611b22565b9050826116558583611c78565b146116ac5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161049b565b9392505050565b5f6116ac83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117a7565b5f81831161170257826116ac565b50919050565b5f806117148385611bc9565b9050838110156116ac5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161049b565b5f6116ac83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061144f565b5f81836117c75760405162461bcd60e51b815260040161049b91906117d3565b505f61147e8486611c78565b5f602080835283518060208501525f5b818110156117ff578581018301518582016040015282016117e3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611833575f80fd5b50565b80356118418161181f565b919050565b5f8060408385031215611857575f80fd5b82356118628161181f565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611895575f80fd5b823567ffffffffffffffff808211156118ac575f80fd5b818501915085601f8301126118bf575f80fd5b8135818111156118d1576118d1611870565b8060051b604051601f19603f830116810181811085821117156118f6576118f6611870565b604052918252848201925083810185019188831115611913575f80fd5b938501935b828510156119385761192985611836565b84529385019392850192611918565b98975050505050505050565b5f805f60608486031215611956575f80fd5b83356119618161181f565b925060208401356119718161181f565b929592945050506040919091013590565b5f60208284031215611992575f80fd5b81356116ac8161181f565b5f80604083850312156119ae575f80fd5b82356119b98161181f565b915060208301356119c98161181f565b809150509250929050565b5f602082840312156119e4575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611a6e57815f1904821115611a5457611a54611a20565b80851615611a6157918102915b93841c9390800290611a39565b509250929050565b5f82611a84575060016104f0565b81611a9057505f6104f0565b8160018114611aa65760028114611ab057611acc565b60019150506104f0565b60ff841115611ac157611ac1611a20565b50506001821b6104f0565b5060208310610133831016604e8410600b8410161715611aef575081810a6104f0565b611af98383611a34565b805f1904821115611b0c57611b0c611a20565b029392505050565b5f6116ac60ff841683611a76565b80820281158282048414176104f0576104f0611a20565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b5d575f80fd5b5051919050565b5f60208284031215611b74575f80fd5b815180151581146116ac575f80fd5b5f60208284031215611b93575f80fd5b81516116ac8161181f565b5f805f60608486031215611bb0575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156104f0576104f0611a20565b5f60018201611bed57611bed611a20565b5060010190565b818103818111156104f0576104f0611a20565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611c575784516001600160a01b031683529383019391830191600101611c32565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611c9257634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122080d8a152e5820af7fb24963cdfc1dff24cc89f1e67d029b36b2ee79f1a301b4164736f6c63430008170033

Deployed Bytecode Sourcemap

3637:9282:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10679:115;;;;;;;;;;;;;:::i;:::-;;5770:83;;;;;;;;;;-1:-1:-1;5840:5:0;;;;;;;;;;;;-1:-1:-1;;;5840:5:0;;;;5770:83;;;;;;;:::i;:::-;;;;;;;;6603:161;;;;;;;;;;-1:-1:-1;6603:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6603:161:0;1162:187:1;4923:54:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4923:54:0;1354:177:1;6047:95:0;;;;;;;;;;;;;:::i;10902:163::-;;;;;;;;;;-1:-1:-1;10902:163:0;;;;;:::i;:::-;;:::i;6772:313::-;;;;;;;;;;-1:-1:-1;6772:313:0;;;;;:::i;:::-;;:::i;5956:83::-;;;;;;;;;;-1:-1:-1;5956:83:0;;4548:1;3397:36:1;;3385:2;3370:18;5956:83:0;3255:184:1;11242:83:0;;;;;;;;;;-1:-1:-1;11242:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11310:7:0;11289:4;11310:7;;;:4;:7;;;;;;;;;11242:83;12553:363;;;;;;;;;;;;;:::i;10513:158::-;;;;;;;;;;;;;:::i;6150:119::-;;;;;;;;;;-1:-1:-1;6150:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6243:18:0;6216:7;6243:18;;;:9;:18;;;;;;;6150:119;2718:148;;;;;;;;;;;;;:::i;4729:56::-;;;;;;;;;;;;;;;;12279:266;;;;;;;;;;-1:-1:-1;12279:266:0;;;;;:::i;:::-;;:::i;2504:79::-;;;;;;;;;;-1:-1:-1;2542:7:0;2569:6;2504:79;;-1:-1:-1;;;;;2569:6:0;;;3842:51:1;;3830:2;3815:18;2504:79:0;3696:203:1;4792:58:0;;;;;;;;;;;;;;;;5861:87;;;;;;;;;;-1:-1:-1;5933:7:0;;;;;;;;;;;;-1:-1:-1;;;5933:7:0;;;;5861:87;;6277:167;;;;;;;;;;-1:-1:-1;6277:167:0;;;;;:::i;:::-;;:::i;4857:59::-;;;;;;;;;;;;;;;;11073:161;;;;;;;;;;-1:-1:-1;11073:161:0;;;;;:::i;:::-;;:::i;6452:143::-;;;;;;;;;;-1:-1:-1;6452:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6560:18:0;;;6533:7;6560:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6452:143;12016:218;;;;;;;;;;-1:-1:-1;12016:218:0;;;;;:::i;:::-;;:::i;11333:669::-;;;;;;;;;;;;;:::i;10679:115::-;2631:6;;-1:-1:-1;;;;;2631:6:0;339:10;2631:22;2623:67;;;;-1:-1:-1;;;2623:67:0;;;;;;;:::i;:::-;;;;;;;;;10748:1:::1;10733:12;:16:::0;;;10765:21:::1;::::0;1500:25:1;;;10765:21:0::1;::::0;1488:2:1;1473:18;10765:21:0::1;;;;;;;;10679:115::o:0;6603:161::-;6678:4;6695:39;339:10;6718:7;6727:6;6695:8;:39::i;:::-;-1:-1:-1;6752:4:0;6603:161;;;;;:::o;6047:95::-;6100:7;4605:13;4548:1;4605:2;:13;:::i;:::-;4591:27;;:11;:27;:::i;:::-;6120:14;;6047:95;:::o;10902:163::-;2631:6;;-1:-1:-1;;;;;2631:6:0;339:10;2631:22;2623:67;;;;-1:-1:-1;;;2623:67:0;;;;;;;:::i;:::-;10975:6:::1;10970:88;10991:5;:12;10987:1;:16;10970:88;;;11042:4;11025;:14;11030:5;11036:1;11030:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11025:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11025:14:0;:21;;-1:-1:-1;;11025:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11005:3:0::1;10970:88;;;;10902:163:::0;:::o;6772:313::-;6870:4;6887:36;6897:6;6905:9;6916:6;6887:9;:36::i;:::-;6934:121;6943:6;339:10;6965:89;7003:6;6965:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6965:19:0;;;;;;:11;:19;;;;;;;;339:10;6965:33;;;;;;;;;;:37;:89::i;:::-;6934:8;:121::i;:::-;-1:-1:-1;7073:4:0;6772:313;;;;;:::o;12553:363::-;12617:10;;-1:-1:-1;;;;;12617:10:0;339;-1:-1:-1;;;;;12603:24:0;;12595:33;;;;;;12678:4;12639:20;6243:18;;;:9;:18;;;;;;12698:14;;;;;:29;;-1:-1:-1;12716:11:0;;-1:-1:-1;;;12716:11:0;;;;12698:29;12695:88;;;12741:30;12758:12;12741:16;:30::i;:::-;12812:21;12847:12;;12844:65;;12873:24;12886:10;12873:12;:24::i;10513:158::-;2631:6;;-1:-1:-1;;;;;2631:6:0;339:10;2631:22;2623:67;;;;-1:-1:-1;;;2623:67:0;;;;;;;:::i;:::-;4605:13:::1;4548:1;4605:2;:13;:::i;:::-;4591:27;::::0;:11:::1;:27;:::i;:::-;10565:12;:22:::0;4605:13:::1;4548:1;4605:2;:13;:::i;:::-;4591:27;::::0;:11:::1;:27;:::i;:::-;10598:14;:22:::0;10636:27:::1;4605:13;4548:1;4605:2;:13;:::i;:::-;4591:27;::::0;:11:::1;:27;:::i;:::-;10636;::::0;1500:25:1;;;1488:2;1473:18;10636:27:0::1;1354:177:1::0;2718:148:0;2631:6;;-1:-1:-1;;;;;2631:6:0;339:10;2631:22;2623:67;;;;-1:-1:-1;;;2623:67:0;;;;;;;:::i;:::-;2825:1:::1;2809:6:::0;;2788:40:::1;::::0;-1:-1:-1;;;;;2809:6:0;;::::1;::::0;2788:40:::1;::::0;2825:1;;2788:40:::1;2856:1;2839:19:::0;;-1:-1:-1;;;;;;2839:19:0::1;::::0;;2718:148::o;12279:266::-;12377:10;;-1:-1:-1;;;;;12377:10:0;339;-1:-1:-1;;;;;12363:24:0;;12355:33;;;;;;12417:41;;-1:-1:-1;;;12417:41:0;;12452:4;12417:41;;;3842:51:1;12399:15:0;;12417:63;;12476:3;;12417:54;;12463:7;;-1:-1:-1;;;;;12417:26:0;;;;;3815:18:1;;12417:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;:54::i;:::-;:58;;:63::i;:::-;12517:10;;12491:46;;-1:-1:-1;;;12491:46:0;;-1:-1:-1;;;;;12517:10:0;;;12491:46;;;7218:51:1;7285:18;;;7278:34;;;12399:81:0;;-1:-1:-1;12491:25:0;;;;;7191:18:1;;12491:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12344:201;12279:266;;:::o;6277:167::-;6355:4;6372:42;339:10;6396:9;6407:6;6372:9;:42::i;11073:161::-;2631:6;;-1:-1:-1;;;;;2631:6:0;339:10;2631:22;2623:67;;;;-1:-1:-1;;;2623:67:0;;;;;;;:::i;:::-;11145:6:::1;11140:87;11161:6;:13;11157:1;:17;11140:87;;;11212:5;11194:4;:15;11199:6;11206:1;11199:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11194:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11194:15:0;:23;;-1:-1:-1;;11194:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11176:3:0::1;11140:87;;12016:218:::0;12091:10;;-1:-1:-1;;;;;12091:10:0;339;-1:-1:-1;;;;;12077:24:0;;12069:33;;;;;;12128:12;;12119:7;:21;;:47;;;;;12153:13;;12144:7;:22;;12119:47;12111:56;;;;;;12176:12;:20;;;12205:13;:21;12016:218::o;11333:669::-;2631:6;;-1:-1:-1;;;;;2631:6:0;339:10;2631:22;2623:67;;;;-1:-1:-1;;;2623:67:0;;;;;;;:::i;:::-;11395:11:::1;::::0;-1:-1:-1;;;11395:11:0;::::1;;;11394:12;11386:47;;;::::0;-1:-1:-1;;;11386:47:0;;7807:2:1;11386:47:0::1;::::0;::::1;7789:21:1::0;7846:2;7826:18;;;7819:30;7885:25;7865:18;;;7858:53;7928:18;;11386:47:0::1;7605:347:1::0;11386:47:0::1;11444:15;:80:::0;;-1:-1:-1;;;;;;11444:80:0::1;11481:42;11444:80:::0;;::::1;::::0;;;11535:58:::1;::::0;11552:4:::1;::::0;4605:13:::1;4548:1;4605:2;:13;:::i;:::-;4591:27;::::0;:11:::1;:27;:::i;11535:58::-;11638:15;;;;;;;;;-1:-1:-1::0;;;;;11638:15:0::1;-1:-1:-1::0;;;;;11638:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11620:55:0::1;;11684:4;11691:15;;;;;;;;;-1:-1:-1::0;;;;;11691:15:0::1;-1:-1:-1::0;;;;;11691:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11620:94;::::0;-1:-1:-1;;;;;;11620:94:0::1;::::0;;;;;;-1:-1:-1;;;;;8443:15:1;;;11620:94:0::1;::::0;::::1;8425:34:1::0;8495:15;;8475:18;;;8468:43;8360:18;;11620:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11604:13;:110:::0;;-1:-1:-1;;;;;11604:110:0;;::::1;-1:-1:-1::0;;;;;;11604:110:0;;::::1;;::::0;;11725:15:::1;::::0;::::1;:31;11764:21;11795:4;11801:24;11795:4:::0;-1:-1:-1;;;;;6243:18:0;6216:7;6243:18;;;:9;:18;;;;;;;6150:119;11801:24:::1;11826:1;11828::::0;11830:7:::1;2542::::0;2569:6;-1:-1:-1;;;;;2569:6:0;;2504:79;11830:7:::1;11725:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11725:129:0;;;-1:-1:-1;;;;;8881:15:1;;;11725:129:0::1;::::0;::::1;8863:34:1::0;8913:18;;;8906:34;;;;8956:18;;;8949:34;;;;8999:18;;;8992:34;9063:15;;;9042:19;;;9035:44;11838:15:0::1;9095:19:1::0;;;9088:35;8797:19;;11725:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11872:13:0::1;::::0;11903:15:::1;::::0;11865:71:::1;::::0;-1:-1:-1;;;11865:71:0;;-1:-1:-1;;;;;11903:15:0;;::::1;11865:71;::::0;::::1;7218:51:1::0;-1:-1:-1;;7285:18:1;;;7278:34;11872:13:0;::::1;::::0;-1:-1:-1;11865:29:0::1;::::0;7191:18:1;;11865:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11947:11:0::1;:18:::0;;-1:-1:-1;;;;11976:18:0;-1:-1:-1;;;11976:18:0;;;11333:669::o;7093:335::-;-1:-1:-1;;;;;7186:19:0;;7178:68;;;;-1:-1:-1;;;7178:68:0;;9926:2:1;7178:68:0;;;9908:21:1;9965:2;9945:18;;;9938:30;10004:34;9984:18;;;9977:62;-1:-1:-1;;;10055:18:1;;;10048:34;10099:19;;7178:68:0;9724:400:1;7178:68:0;-1:-1:-1;;;;;7265:21:0;;7257:68;;;;-1:-1:-1;;;7257:68:0;;10331:2:1;7257:68:0;;;10313:21:1;10370:2;10350:18;;;10343:30;10409:34;10389:18;;;10382:62;-1:-1:-1;;;10460:18:1;;;10453:32;10502:19;;7257:68:0;10129:398:1;7257:68:0;-1:-1:-1;;;;;7336:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7388:32;;1500:25:1;;;7388:32:0;;1473:18:1;7388:32:0;;;;;;;7093:335;;;:::o;7436:2470::-;-1:-1:-1;;;;;7524:18:0;;7516:68;;;;-1:-1:-1;;;7516:68:0;;10734:2:1;7516:68:0;;;10716:21:1;10773:2;10753:18;;;10746:30;10812:34;10792:18;;;10785:62;-1:-1:-1;;;10863:18:1;;;10856:35;10908:19;;7516:68:0;10532:401:1;7516:68:0;-1:-1:-1;;;;;7603:16:0;;7595:64;;;;-1:-1:-1;;;7595:64:0;;11140:2:1;7595:64:0;;;11122:21:1;11179:2;11159:18;;;11152:30;11218:34;11198:18;;;11191:62;-1:-1:-1;;;11269:18:1;;;11262:33;11312:19;;7595:64:0;10938:399:1;7595:64:0;7687:1;7678:6;:10;7670:64;;;;-1:-1:-1;;;7670:64:0;;11544:2:1;7670:64:0;;;11526:21:1;11583:2;11563:18;;;11556:30;11622:34;11602:18;;;11595:62;-1:-1:-1;;;11673:18:1;;;11666:39;11722:19;;7670:64:0;11342:405:1;7670:64:0;7745:17;2569:6;;-1:-1:-1;;;;;7779:15:0;;;2569:6;;7779:15;;;;:32;;-1:-1:-1;2542:7:0;2569:6;-1:-1:-1;;;;;7798:13:0;;;2569:6;;7798:13;;7779:32;:52;;;;-1:-1:-1;7821:10:0;;-1:-1:-1;;;;;7815:16:0;;;7821:10;;7815:16;;7779:52;7775:1775;;;-1:-1:-1;;;;;7857:10:0;;;;;;:4;:10;;;;;;;;7856:11;:24;;;;-1:-1:-1;;;;;;7872:8:0;;;;;;:4;:8;;;;;;;;7871:9;7856:24;7848:33;;;;;;7901:9;;7912:1;7901:12;7898:139;;7945:76;8017:3;7945:67;7967:15;;7957:9;;:25;7956:55;;7997:14;;7956:55;;;7984:12;;7956:55;7945:6;;:10;:67::i;:76::-;7933:88;;7898:139;8054:9;;:11;8051:95;;8097:33;8126:3;8097:24;8108:12;;8097:6;:10;;:24;;;;:::i;:33::-;8085:45;;8051:95;8174:13;;-1:-1:-1;;;;;8166:21:0;;;8174:13;;8166:21;:55;;;;-1:-1:-1;8205:15:0;;-1:-1:-1;;;;;8191:30:0;;;8205:15;;8191:30;;8166:55;:83;;;;-1:-1:-1;;;;;;8227:22:0;;;;;;:18;:22;;;;;;;;8225:24;8166:83;8162:420;;;8289:12;;8279:6;:22;;8271:60;;;;-1:-1:-1;;;8271:60:0;;11954:2:1;8271:60:0;;;11936:21:1;11993:2;11973:18;;;11966:30;12032:27;12012:18;;;12005:55;12077:18;;8271:60:0;11752:349:1;8271:60:0;8384:14;;8374:6;8358:13;8368:2;-1:-1:-1;;;;;6243:18:0;6216:7;6243:18;;;:9;:18;;;;;;;6150:119;8358:13;:22;;;;:::i;:::-;:40;;8350:79;;;;-1:-1:-1;;;8350:79:0;;12438:2:1;8350:79:0;;;12420:21:1;12477:2;12457:18;;;12450:30;12516:28;12496:18;;;12489:56;12562:18;;8350:79:0;12236:350:1;8350:79:0;8460:76;8532:3;8460:67;8482:15;;8472:9;;:25;8471:55;;8512:14;;8471:55;;8460:76;8555:9;:11;;8448:88;;-1:-1:-1;8555:9:0;:11;;;:::i;:::-;;;;;;8162:420;8607:13;;-1:-1:-1;;;;;8601:19:0;;;8607:13;;8601:19;:43;;;;-1:-1:-1;;;;;;8624:20:0;;8639:4;8624:20;;8601:43;8598:174;;;8677:79;8752:3;8677:70;8699:16;;8689:9;;:26;8688:58;;8731:15;;8688:58;;;8717:13;;8677:6;;:10;:70::i;:79::-;8665:91;;8598:174;8837:4;8788:28;6243:18;;;:9;:18;;;;;;8863:6;;-1:-1:-1;;;8863:6:0;;;;8862:7;:30;;;;-1:-1:-1;8879:13:0;;-1:-1:-1;;;;;8873:19:0;;;8879:13;;8873:19;8862:30;:45;;;;-1:-1:-1;8896:11:0;;-1:-1:-1;;;8896:11:0;;;;8862:45;:89;;;;;8934:17;;8911:20;:40;8862:89;:123;;;;;8967:18;;8955:9;;:30;8862:123;8858:681;;;9025:13;;9010:12;:28;9006:90;;;9075:1;9063:9;:13;9006:90;9134:2;9122:9;;:14;9114:51;;;;-1:-1:-1;;;9114:51:0;;12933:2:1;9114:51:0;;;12915:21:1;12972:2;12952:18;;;12945:30;13011:26;12991:18;;;12984:54;13055:18;;9114:51:0;12731:348:1;9114:51:0;9184:69;9201:51;9205:6;9213:38;9217:20;9239:11;;9213:3;:38::i;:::-;9201:3;:51::i;:::-;9184:16;:69::i;:::-;9301:21;9345:22;;9341:106;;9392:35;9405:21;9392:12;:35::i;:::-;9465:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;9511:12:0;9495:13;:28;-1:-1:-1;8858:681:0;7833:1717;7775:1775;9565:11;;9562:161;;9633:4;9615:24;;;;:9;:24;;;;;;:39;;9644:9;9615:28;:39::i;:::-;9608:4;9590:24;;;;:9;:24;;;;;;;:64;;;;9672:39;;-1:-1:-1;;;;;9672:39:0;;;;;;;9701:9;1500:25:1;;1488:2;1473:18;;1354:177;9672:39:0;;;;;;;;9562:161;-1:-1:-1;;;;;9749:15:0;;;;;;:9;:15;;;;;;:27;;9769:6;9749:19;:27::i;:::-;-1:-1:-1;;;;;9733:15:0;;;;;;:9;:15;;;;;:43;9801:40;9819:21;:6;9830:9;9819:10;:21::i;:::-;-1:-1:-1;;;;;9801:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9787:13:0;;;;;;;:9;:13;;;;;:54;;;;9857:41;;;9876:21;:6;9887:9;9876:10;:21::i;:::-;9857:41;;1500:25:1;;;1488:2;1473:18;9857:41:0;;;;;;;7505:2401;7436:2470;;;:::o;1396:190::-;1482:7;1518:12;1510:6;;;;1502:29;;;;-1:-1:-1;;;1502:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1542:9:0;1554:5;1558:1;1554;:5;:::i;:::-;1542:17;1396:190;-1:-1:-1;;;;;1396:190:0:o;10022:483::-;5379:6;:13;;-1:-1:-1;;;;5379:13:0;-1:-1:-1;;;5379:13:0;;;10124:16:::1;::::0;;10138:1:::1;10124:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10124:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10124:16:0::1;10100:40;;10169:4;10151;10156:1;10151:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10151:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10195:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10195:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10151:7;;10195:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10185:4;10190:1;10185:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10185:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10260:15:::1;::::0;10228:62:::1;::::0;10245:4:::1;::::0;10260:15:::1;10278:11:::0;10228:8:::1;:62::i;:::-;10301:15;::::0;:196:::1;::::0;-1:-1:-1;;;10301:196:0;;-1:-1:-1;;;;;10301:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10382:11;;10301:15:::1;::::0;10424:4;;10451::::1;::::0;10471:15:::1;::::0;10301:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5415:6:0;:14;;-1:-1:-1;;;;5415:14:0;;;-1:-1:-1;;;;10022:483:0:o;10802:92::-;10859:10;;:27;;-1:-1:-1;;;;;10859:10:0;;;;:27;;;;;10879:6;;10859:10;:27;:10;:27;10879:6;10859:10;:27;;;;;;;;;;;;;;;;;;;1594:246;1652:7;1676:1;1681;1676:6;1672:47;;-1:-1:-1;1706:1:0;1699:8;;1672:47;1729:9;1741:5;1745:1;1741;:5;:::i;:::-;1729:17;-1:-1:-1;1774:1:0;1765:5;1769:1;1729:17;1765:5;:::i;:::-;:10;1757:56;;;;-1:-1:-1;;;1757:56:0;;14626:2:1;1757:56:0;;;14608:21:1;14665:2;14645:18;;;14638:30;14704:34;14684:18;;;14677:62;-1:-1:-1;;;14755:18:1;;;14748:31;14796:19;;1757:56:0;14424:397:1;1757:56:0;1831:1;1594:246;-1:-1:-1;;;1594:246:0:o;1848:132::-;1906:7;1933:39;1937:1;1940;1933:39;;;;;;;;;;;;;;;;;:3;:39::i;9916:98::-;9973:7;10000:1;9998;:3;9997:9;;10005:1;9997:9;;;-1:-1:-1;10003:1:0;9916:98;-1:-1:-1;9916:98:0:o;1065:179::-;1123:7;;1155:5;1159:1;1155;:5;:::i;:::-;1143:17;;1184:1;1179;:6;;1171:46;;;;-1:-1:-1;;;1171:46:0;;15028:2:1;1171:46:0;;;15010:21:1;15067:2;15047:18;;;15040:30;15106:29;15086:18;;;15079:57;15153:18;;1171:46:0;14826:351:1;1252:136:0;1310:7;1337:43;1341:1;1344;1337:43;;;;;;;;;;;;;;;;;:3;:43::i;1988:189::-;2074:7;2109:12;2102:5;2094:28;;;;-1:-1:-1;;;2094:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2133:9:0;2145:5;2149:1;2145;:5;:::i;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;622:70;567:131;:::o;703:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:127::-;1597:10;1592:3;1588:20;1585:1;1578:31;1628:4;1625:1;1618:15;1652:4;1649:1;1642:15;1668:1121;1752:6;1783:2;1826;1814:9;1805:7;1801:23;1797:32;1794:52;;;1842:1;1839;1832:12;1794:52;1882:9;1869:23;1911:18;1952:2;1944:6;1941:14;1938:34;;;1968:1;1965;1958:12;1938:34;2006:6;1995:9;1991:22;1981:32;;2051:7;2044:4;2040:2;2036:13;2032:27;2022:55;;2073:1;2070;2063:12;2022:55;2109:2;2096:16;2131:2;2127;2124:10;2121:36;;;2137:18;;:::i;:::-;2183:2;2180:1;2176:10;2215:2;2209:9;2278:2;2274:7;2269:2;2265;2261:11;2257:25;2249:6;2245:38;2333:6;2321:10;2318:22;2313:2;2301:10;2298:18;2295:46;2292:72;;;2344:18;;:::i;:::-;2380:2;2373:22;2430:18;;;2464:15;;;;-1:-1:-1;2506:11:1;;;2502:20;;;2534:19;;;2531:39;;;2566:1;2563;2556:12;2531:39;2590:11;;;;2610:148;2626:6;2621:3;2618:15;2610:148;;;2692:23;2711:3;2692:23;:::i;:::-;2680:36;;2643:12;;;;2736;;;;2610:148;;;2777:6;1668:1121;-1:-1:-1;;;;;;;;1668:1121:1:o;2794:456::-;2871:6;2879;2887;2940:2;2928:9;2919:7;2915:23;2911:32;2908:52;;;2956:1;2953;2946:12;2908:52;2995:9;2982:23;3014:31;3039:5;3014:31;:::i;:::-;3064:5;-1:-1:-1;3121:2:1;3106:18;;3093:32;3134:33;3093:32;3134:33;:::i;:::-;2794:456;;3186:7;;-1:-1:-1;;;3240:2:1;3225:18;;;;3212:32;;2794:456::o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:180::-;4356:6;4409:2;4397:9;4388:7;4384:23;4380:32;4377:52;;;4425:1;4422;4415:12;4377:52;-1:-1:-1;4448:23:1;;4297:180;-1:-1:-1;4297:180:1:o;4482:356::-;4684:2;4666:21;;;4703:18;;;4696:30;4762:34;4757:2;4742:18;;4735:62;4829:2;4814:18;;4482:356::o;5033:127::-;5094:10;5089:3;5085:20;5082:1;5075:31;5125:4;5122:1;5115:15;5149:4;5146:1;5139:15;5165:416;5254:1;5291:5;5254:1;5305:270;5326:7;5316:8;5313:21;5305:270;;;5385:4;5381:1;5377:6;5373:17;5367:4;5364:27;5361:53;;;5394:18;;:::i;:::-;5444:7;5434:8;5430:22;5427:55;;;5464:16;;;;5427:55;5543:22;;;;5503:15;;;;5305:270;;;5309:3;5165:416;;;;;:::o;5586:806::-;5635:5;5665:8;5655:80;;-1:-1:-1;5706:1:1;5720:5;;5655:80;5754:4;5744:76;;-1:-1:-1;5791:1:1;5805:5;;5744:76;5836:4;5854:1;5849:59;;;;5922:1;5917:130;;;;5829:218;;5849:59;5879:1;5870:10;;5893:5;;;5917:130;5954:3;5944:8;5941:17;5938:43;;;5961:18;;:::i;:::-;-1:-1:-1;;6017:1:1;6003:16;;6032:5;;5829:218;;6131:2;6121:8;6118:16;6112:3;6106:4;6103:13;6099:36;6093:2;6083:8;6080:16;6075:2;6069:4;6066:12;6062:35;6059:77;6056:159;;;-1:-1:-1;6168:19:1;;;6200:5;;6056:159;6247:34;6272:8;6266:4;6247:34;:::i;:::-;6317:6;6313:1;6309:6;6305:19;6296:7;6293:32;6290:58;;;6328:18;;:::i;:::-;6366:20;;5586:806;-1:-1:-1;;;5586:806:1:o;6397:140::-;6455:5;6484:47;6525:4;6515:8;6511:19;6505:4;6484:47;:::i;6542:168::-;6615:9;;;6646;;6663:15;;;6657:22;;6643:37;6633:71;;6684:18;;:::i;6715:127::-;6776:10;6771:3;6767:20;6764:1;6757:31;6807:4;6804:1;6797:15;6831:4;6828:1;6821:15;6847:184;6917:6;6970:2;6958:9;6949:7;6945:23;6941:32;6938:52;;;6986:1;6983;6976:12;6938:52;-1:-1:-1;7009:16:1;;6847:184;-1:-1:-1;6847:184:1:o;7323:277::-;7390:6;7443:2;7431:9;7422:7;7418:23;7414:32;7411:52;;;7459:1;7456;7449:12;7411:52;7491:9;7485:16;7544:5;7537:13;7530:21;7523:5;7520:32;7510:60;;7566:1;7563;7556:12;7957:251;8027:6;8080:2;8068:9;8059:7;8055:23;8051:32;8048:52;;;8096:1;8093;8086:12;8048:52;8128:9;8122:16;8147:31;8172:5;8147:31;:::i;9134:306::-;9222:6;9230;9238;9291:2;9279:9;9270:7;9266:23;9262:32;9259:52;;;9307:1;9304;9297:12;9259:52;9336:9;9330:16;9320:26;;9386:2;9375:9;9371:18;9365:25;9355:35;;9430:2;9419:9;9415:18;9409:25;9399:35;;9134:306;;;;;:::o;12106:125::-;12171:9;;;12192:10;;;12189:36;;;12205:18;;:::i;12591:135::-;12630:3;12651:17;;;12648:43;;12671:18;;:::i;:::-;-1:-1:-1;12718:1:1;12707:13;;12591:135::o;13084:128::-;13151:9;;;13172:11;;;13169:37;;;13186:18;;:::i;13217:980::-;13479:4;13527:3;13516:9;13512:19;13558:6;13547:9;13540:25;13584:2;13622:6;13617:2;13606:9;13602:18;13595:34;13665:3;13660:2;13649:9;13645:18;13638:31;13689:6;13724;13718:13;13755:6;13747;13740:22;13793:3;13782:9;13778:19;13771:26;;13832:2;13824:6;13820:15;13806:29;;13853:1;13863:195;13877:6;13874:1;13871:13;13863:195;;;13942:13;;-1:-1:-1;;;;;13938:39:1;13926:52;;14033:15;;;;13998:12;;;;13974:1;13892:9;13863:195;;;-1:-1:-1;;;;;;;14114:32:1;;;;14109:2;14094:18;;14087:60;-1:-1:-1;;;14178:3:1;14163:19;14156:35;14075:3;13217:980;-1:-1:-1;;;13217:980:1:o;14202:217::-;14242:1;14268;14258:132;;14312:10;14307:3;14303:20;14300:1;14293:31;14347:4;14344:1;14337:15;14375:4;14372:1;14365:15;14258:132;-1:-1:-1;14404:9:1;;14202:217::o

Swarm Source

ipfs://80d8a152e5820af7fb24963cdfc1dff24cc89f1e67d029b36b2ee79f1a301b41

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.