ETH Price: $3,744.86 (-0.06%)
Gas: 6 Gwei

Contract

0x84f9EDBC0599961d9223EeE4903AD45648B73536
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve198970932024-05-18 13:21:3513 days ago1716038495IN
0x84f9EDBC...648B73536
0 ETH0.000152593.28046347
Approve198328812024-05-09 13:47:1122 days ago1715262431IN
0x84f9EDBC...648B73536
0 ETH0.00030276.50745811
Approve198328632024-05-09 13:43:3522 days ago1715262215IN
0x84f9EDBC...648B73536
0 ETH0.000215714.63733996
Approve198246512024-05-08 10:08:5923 days ago1715162939IN
0x84f9EDBC...648B73536
0 ETH0.000292136.28027323
Approve197975942024-05-04 15:20:1127 days ago1714836011IN
0x84f9EDBC...648B73536
0 ETH0.000311396.69425915
Approve197546072024-04-28 15:07:2333 days ago1714316843IN
0x84f9EDBC...648B73536
0 ETH0.000322946.98930205
Approve197497142024-04-27 22:41:5934 days ago1714257719IN
0x84f9EDBC...648B73536
0 ETH0.000303616.5270053
Approve196476502024-04-13 15:49:5948 days ago1713023399IN
0x84f9EDBC...648B73536
0 ETH0.0006617614.22635115
Approve196364222024-04-12 2:03:1149 days ago1712887391IN
0x84f9EDBC...648B73536
0 ETH0.0004946410.63374122
Approve196227002024-04-10 3:58:5951 days ago1712721539IN
0x84f9EDBC...648B73536
0 ETH0.0006886314.78488208
Approve194005362024-03-09 22:30:3583 days ago1710023435IN
0x84f9EDBC...648B73536
0 ETH0.0028084460.76648031
Approve192902722024-02-23 12:24:3598 days ago1708691075IN
0x84f9EDBC...648B73536
0 ETH0.0015787733.93976499
Approve192426562024-02-16 19:53:11105 days ago1708113191IN
0x84f9EDBC...648B73536
0 ETH0.0005972624.64678763
Approve192425582024-02-16 19:33:23105 days ago1708112003IN
0x84f9EDBC...648B73536
0 ETH0.0012116226.0468424
Approve192108422024-02-12 8:45:59109 days ago1707727559IN
0x84f9EDBC...648B73536
0 ETH0.0009478120.34934304
Transfer191983962024-02-10 14:49:23111 days ago1707576563IN
0x84f9EDBC...648B73536
0 ETH0.0028265638.53424854
Approve191717142024-02-06 20:57:23115 days ago1707253043IN
0x84f9EDBC...648B73536
0 ETH0.0014164130.44933974
Approve191403182024-02-02 11:09:11119 days ago1706872151IN
0x84f9EDBC...648B73536
0 ETH0.0011924825.63542172
Approve191240272024-01-31 4:15:59121 days ago1706674559IN
0x84f9EDBC...648B73536
0 ETH0.0004707719.42684859
Approve191240272024-01-31 4:15:59121 days ago1706674559IN
0x84f9EDBC...648B73536
0 ETH0.0004719319.42684859
Approve191163502024-01-30 2:29:23122 days ago1706581763IN
0x84f9EDBC...648B73536
0 ETH0.0003495214.42352878
Approve191019742024-01-28 2:10:11124 days ago1706407811IN
0x84f9EDBC...648B73536
0 ETH0.0002502810.32832272
Approve191019732024-01-28 2:09:59124 days ago1706407799IN
0x84f9EDBC...648B73536
0 ETH0.0002442910.05613061
Approve191019722024-01-28 2:09:47124 days ago1706407787IN
0x84f9EDBC...648B73536
0 ETH0.000249710.278945
Approve190582112024-01-21 22:42:35131 days ago1705876955IN
0x84f9EDBC...648B73536
0 ETH0.0004937510.67233159
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
198970972024-05-18 13:22:2313 days ago1716038543
0x84f9EDBC...648B73536
0.00007685 ETH
198970972024-05-18 13:22:2313 days ago1716038543
0x84f9EDBC...648B73536
0.00007685 ETH
198328812024-05-09 13:47:1122 days ago1715262431
0x84f9EDBC...648B73536
0.00020653 ETH
198328812024-05-09 13:47:1122 days ago1715262431
0x84f9EDBC...648B73536
0.00020653 ETH
198328652024-05-09 13:43:5922 days ago1715262239
0x84f9EDBC...648B73536
0.00177089 ETH
198328652024-05-09 13:43:5922 days ago1715262239
0x84f9EDBC...648B73536
0.00177089 ETH
198246592024-05-08 10:10:3523 days ago1715163035
0x84f9EDBC...648B73536
0.00166175 ETH
198246592024-05-08 10:10:3523 days ago1715163035
0x84f9EDBC...648B73536
0.00166175 ETH
198246522024-05-08 10:09:1123 days ago1715162951
0x84f9EDBC...648B73536
0.00055663 ETH
198246522024-05-08 10:09:1123 days ago1715162951
0x84f9EDBC...648B73536
0.00055663 ETH
197975962024-05-04 15:20:3527 days ago1714836035
0x84f9EDBC...648B73536
0.00022217 ETH
197975962024-05-04 15:20:3527 days ago1714836035
0x84f9EDBC...648B73536
0.00022217 ETH
197546322024-04-28 15:12:2333 days ago1714317143
0x84f9EDBC...648B73536
0.000115 ETH
197546322024-04-28 15:12:2333 days ago1714317143
0x84f9EDBC...648B73536
0.000115 ETH
197497142024-04-27 22:41:5934 days ago1714257719
0x84f9EDBC...648B73536
0.00066086 ETH
197497142024-04-27 22:41:5934 days ago1714257719
0x84f9EDBC...648B73536
0.00066086 ETH
196476502024-04-13 15:49:5948 days ago1713023399
0x84f9EDBC...648B73536
0.00055002 ETH
196476502024-04-13 15:49:5948 days ago1713023399
0x84f9EDBC...648B73536
0.00055002 ETH
196364242024-04-12 2:03:3549 days ago1712887415
0x84f9EDBC...648B73536
0.00210888 ETH
196364242024-04-12 2:03:3549 days ago1712887415
0x84f9EDBC...648B73536
0.00210888 ETH
196036372024-04-07 11:51:4754 days ago1712490707
0x84f9EDBC...648B73536
0.00066701 ETH
196036372024-04-07 11:51:4754 days ago1712490707
0x84f9EDBC...648B73536
0.00066701 ETH
194194682024-03-12 14:02:3580 days ago1710252155
0x84f9EDBC...648B73536
0.00284059 ETH
194194682024-03-12 14:02:3580 days ago1710252155
0x84f9EDBC...648B73536
0.00284059 ETH
194005952024-03-09 22:42:2383 days ago1710024143
0x84f9EDBC...648B73536
0.00074738 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BiterDao

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-14
*/

/*

 _______   __  ___________  _______   _______       ________       __        ______    
|   _  "\ |" \("     _   ")/"     "| /"      \     |"      "\     /""\      /    " \   
(. |_)  :)||  |)__/  \\__/(: ______)|:        |    (.  ___  :)   /    \    // ____  \  
|:     \/ |:  |   \\_ /    \/    |  |_____/   )    |: \   ) ||  /' /\  \  /  /    ) :) 
(|  _  \\ |.  |   |.  |    // ___)_  //      /     (| (___\ || //  __'  \(: (____/ //  
|: |_)  :)/\  |\  \:  |   (:      "||:  __   \     |:       :)/   /  \\  \\        /   
(_______/(__\_|_)  \__|    \_______)|__|  \___)    (________/(___/    \___)\"_____/    


The Ultimate Stablecoin Solution, Bitcoin-Backed, Ethereum Powered

Biter DAO redefines the stablecoin landscape, presenting an unmatched solution that combines 
the security of Bitcoin with the innovative governance and operational capabilities of Ethereum. 
As the first of its kind, Biter DAO's stablecoin is uniquely backed by the strength and 
reliability of Bitcoin assets, ensuring unparalleled stability and market confidence. 
Simultaneously, it leverages Ethereum's decentralized infrastructure, enabling transparent 
and efficient governance and clearance mechanisms. This fusion of Bitcoin’s robust backing with 
Ethereum's advanced blockchain technology not only enhances stability and trust but also introduces 
a new era of transparency and community-driven governance.


Tokenomics of BIT in Biter DAO
- Total Supply              :   1,000,000,000
- Team & Marketing          :   5.9%
- Staking Rewards           :   40%
- Liquidity Provision (LP)  :   54.1%
- Buy & Sell Tax            :   3%

More information
- Website   :   https://biterdao.com
- Telegram  :   https://t.me/BiterDao_Portal
- Twitter   :   https://twitter.com/BiterDAO
- Gitbook   :   https://gitbook.biterdao.com/background/biter-dao-summary

 (erc20) wORDI 21,000,000: 0x7ab95A03c1f1a0D776F59e0599D9A57C6418dFc2
 (brc20) DAIX 2,100,000,000: 75b2720605fc185c1965b0b16ed7d5415e8e9c2c4e121773c48ec2497acbe7edi0
 (erc20) DAIX 2,100,000,000:0x8691D00830Cb0eDDCe2D37b031515Dc45b887f06

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;

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 BiterDao 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;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=3;
    uint256 private _initialSellTax=3;
    uint256 private _finalBuyTax=3;
    uint256 private _finalSellTax=3;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 8;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"Biter Dao";
    string private constant _symbol = unicode"BIT";
    uint256 public _maxTxAmount = 10820000 * 10**_decimals;
    uint256 public _maxWalletSize = 10820000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 0 * 10**_decimals;
    uint256 public _maxTaxSwap = 2705000 * 10**_decimals;

    IUniswapV2Router02 private 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(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

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

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

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

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

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

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

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

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

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

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

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

            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                  require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed.");
                  _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

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


            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            if(to == uniswapV2Pair && from!= address(this) ){
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

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

        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 {
        if(tokenAmount==0){return;}
        if(!tradingOpen){return;}
        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;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

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

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

    function openTrading() 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;
    }

    receive() external payable {}

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    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);
        }
    }

    
    
    
}

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"},{"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":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"manageList","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

60806040526006805460ff191690556003600781905560088181556009829055600a9182556014600b819055600c819055600d555f600e5562000042916200033c565b620000519062a519a062000353565b600f55620000626008600a6200033c565b620000719062a519a062000353565b601055620000826008600a6200033c565b6200008e905f62000353565b6011556200009f6008600a6200033c565b620000ae906229466862000353565b6012556014805461ffff60a81b19169055348015620000cb575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b0319166101003302179055620001316008600a6200033c565b6200014190633b9aca0062000353565b335f9081526001602081905260408220929092556003906200016a5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001cd3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002066008600a6200033c565b6200021690633b9aca0062000353565b60405190815260200160405180910390a36200036d565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028157815f19048211156200026557620002656200022d565b808516156200027357918102915b93841c939080029062000246565b509250929050565b5f82620002995750600162000336565b81620002a757505f62000336565b8160018114620002c05760028114620002cb57620002eb565b600191505062000336565b60ff841115620002df57620002df6200022d565b50506001821b62000336565b5060208310610133831016604e8410600b841016171562000310575081810a62000336565b6200031c838362000241565b805f19048211156200033257620003326200022d565b0290505b92915050565b5f6200034c60ff84168362000289565b9392505050565b80820281158282048414176200033657620003366200022d565b611a67806200037b5f395ff3fe608060405260043610610129575f3560e01c8063715018a6116100a857806395d89b411161006d57806395d89b411461032f578063a9059cbb1461035a578063bf474bed14610379578063c876d0b91461038e578063c9567bf9146103a7578063dd62ed3e146103bb575f80fd5b8063715018a6146102b7578063751039fc146102cb5780637d1db4a5146102df5780638da5cb5b146102f45780638f9a55c01461031a575f80fd5b8063313ce567116100ee578063313ce567146101fc5780633bbac5791461021757806351bc3c851461024e5780636de7bcbd1461026457806370a0823114610283575f80fd5b806306fdde0314610134578063095ea7b3146101775780630faee56f146101a657806318160ddd146101c957806323b872dd146101dd575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600981526842697465722044616f60b81b60208201525b60405161016e9190611576565b60405180910390f35b348015610182575f80fd5b506101966101913660046115e8565b6103ff565b604051901515815260200161016e565b3480156101b1575f80fd5b506101bb60125481565b60405190815260200161016e565b3480156101d4575f80fd5b506101bb610415565b3480156101e8575f80fd5b506101966101f7366004611612565b610435565b348015610207575f80fd5b506040516008815260200161016e565b348015610222575f80fd5b50610196610231366004611650565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610259575f80fd5b5061026261049c565b005b34801561026f575f80fd5b5061026261027e36600461167f565b6104f2565b34801561028e575f80fd5b506101bb61029d366004611650565b6001600160a01b03165f9081526001602052604090205490565b3480156102c2575f80fd5b50610262610589565b3480156102d6575f80fd5b506102626105fa565b3480156102ea575f80fd5b506101bb600f5481565b3480156102ff575f80fd5b505f546040516001600160a01b03909116815260200161016e565b348015610325575f80fd5b506101bb60105481565b34801561033a575f80fd5b5060408051808201909152600381526210925560ea1b6020820152610161565b348015610365575f80fd5b506101966103743660046115e8565b6106b5565b348015610384575f80fd5b506101bb60115481565b348015610399575f80fd5b506006546101969060ff1681565b3480156103b2575f80fd5b506102626106c1565b3480156103c6575f80fd5b506101bb6103d536600461173f565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61040b338484610a6a565b5060015b92915050565b5f6104226008600a61186a565b61043090633b9aca00611878565b905090565b5f610441848484610b8d565b610492843361048d85604051806060016040528060288152602001611a0a602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111d5565b610a6a565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b0316146104c0575f80fd5b305f9081526001602052604090205480156104de576104de8161120d565b4780156104ee576104ee81611396565b5050565b5f546001600160a01b031633146105245760405162461bcd60e51b815260040161051b9061188f565b60405180910390fd5b5f5b81518110156104ee57600160045f848481518110610546576105466118c4565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610581816118d8565b915050610526565b5f546001600160a01b031633146105b25760405162461bcd60e51b815260040161051b9061188f565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106235760405162461bcd60e51b815260040161051b9061188f565b61062f6008600a61186a565b61063d90633b9aca00611878565b600f5561064c6008600a61186a565b61065a90633b9aca00611878565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106946008600a61186a565b6106a290633b9aca00611878565b60405190815260200160405180910390a1565b5f61040b338484610b8d565b5f546001600160a01b031633146106ea5760405162461bcd60e51b815260040161051b9061188f565b601454600160a01b900460ff16156107445760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161051b565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561078d90309061077f6008600a61186a565b61048d90633b9aca00611878565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107dd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080191906118f0565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610860573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088491906118f0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f291906118f0565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610939816001600160a01b03165f9081526001602052604090205490565b5f8061094c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109b2573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109d7919061190b565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a509190611936565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610acc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161051b565b6001600160a01b038216610b2d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161051b565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bf15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161051b565b6001600160a01b038216610c535760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161051b565b5f8111610cb45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161051b565b5f80546001600160a01b03858116911614801590610cdf57505f546001600160a01b03848116911614155b15611098576001600160a01b0384165f9081526004602052604090205460ff16158015610d2457506001600160a01b0383165f9081526004602052604090205460ff16155b610d2c575f80fd5b60065460ff1615610de3576013546001600160a01b03848116911614801590610d6357506014546001600160a01b03848116911614155b15610de357325f908152600560205260409020544311610dd15760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b606482015260840161051b565b325f9081526005602052604090204390555b6014546001600160a01b038581169116148015610e0e57506013546001600160a01b03848116911614155b8015610e3257506001600160a01b0383165f9081526003602052604090205460ff16155b15610f2b57600f54821115610e855760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604482015260640161051b565b60105482610ea7856001600160a01b03165f9081526001602052604090205490565b610eb19190611955565b1115610eff5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161051b565b600d54600e541015610f1657823b15610f16575f80fd5b600e8054905f610f25836118d8565b91905055505b610f576064610f51600b54600e5411610f4657600754610f4a565b6009545b85906113d1565b90611456565b6014549091506001600160a01b038481169116148015610f8057506001600160a01b0384163014155b15610ffb57600f54821115610fd35760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604482015260640161051b565b610ff86064610f51600c54600e5411610fee57600854610f4a565b600a5485906113d1565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561103157506014546001600160a01b038581169116145b80156110465750601454600160b01b900460ff165b8015611053575060115481115b80156110625750600d54600e54115b156110965761108461107f61107960125486611497565b83611497565b61120d565b4780156110945761109447611396565b505b505b801561111057305f908152600160205260409020546110b790826114ab565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111079085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111329083611509565b6001600160a01b0385165f908152600160205260409020556111756111578383611509565b6001600160a01b0385165f90815260016020526040902054906114ab565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111be8585611509565b60405190815260200160405180910390a350505050565b5f81848411156111f85760405162461bcd60e51b815260040161051b9190611576565b505f6112048486611968565b95945050505050565b6014805460ff60a81b1916600160a81b179055801561138657601454600160a01b900460ff1615611386576040805160028082526060820183525f9260208301908036833701905050905030815f8151811061126b5761126b6118c4565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112e691906118f0565b816001815181106112f9576112f96118c4565b6001600160a01b03928316602091820292909201015260135461131f9130911684610a6a565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113579085905f9086903090429060040161197b565b5f604051808303815f87803b15801561136e575f80fd5b505af1158015611380573d5f803e3d5ffd5b50505050505b506014805460ff60a81b19169055565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156104ee573d5f803e3d5ffd5b5f825f036113e057505f61040f565b5f6113eb8385611878565b9050826113f885836119ea565b1461144f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161051b565b9392505050565b5f61144f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061154a565b5f8183116114a5578261144f565b50919050565b5f806114b78385611955565b90508381101561144f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161051b565b5f61144f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111d5565b5f818361156a5760405162461bcd60e51b815260040161051b9190611576565b505f61120484866119ea565b5f6020808352835180828501525f5b818110156115a157858101830151858201604001528201611585565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115d5575f80fd5b50565b80356115e3816115c1565b919050565b5f80604083850312156115f9575f80fd5b8235611604816115c1565b946020939093013593505050565b5f805f60608486031215611624575f80fd5b833561162f816115c1565b9250602084013561163f816115c1565b929592945050506040919091013590565b5f60208284031215611660575f80fd5b813561144f816115c1565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611690575f80fd5b823567ffffffffffffffff808211156116a7575f80fd5b818501915085601f8301126116ba575f80fd5b8135818111156116cc576116cc61166b565b8060051b604051601f19603f830116810181811085821117156116f1576116f161166b565b60405291825284820192508381018501918883111561170e575f80fd5b938501935b8285101561173357611724856115d8565b84529385019392850192611713565b98975050505050505050565b5f8060408385031215611750575f80fd5b823561175b816115c1565b9150602083013561176b816115c1565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117c457815f19048211156117aa576117aa611776565b808516156117b757918102915b93841c939080029061178f565b509250929050565b5f826117da5750600161040f565b816117e657505f61040f565b81600181146117fc576002811461180657611822565b600191505061040f565b60ff84111561181757611817611776565b50506001821b61040f565b5060208310610133831016604e8410600b8410161715611845575081810a61040f565b61184f838361178a565b805f190482111561186257611862611776565b029392505050565b5f61144f60ff8416836117cc565b808202811582820484141761040f5761040f611776565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f600182016118e9576118e9611776565b5060010190565b5f60208284031215611900575f80fd5b815161144f816115c1565b5f805f6060848603121561191d575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611946575f80fd5b8151801515811461144f575f80fd5b8082018082111561040f5761040f611776565b8181038181111561040f5761040f611776565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119c95784516001600160a01b0316835293830193918301916001016119a4565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611a0457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122017a94908a9f3b9b5725d3145fbbc1ce7679554ac08eae2f20df7d1e5b09ec48864736f6c63430008140033

Deployed Bytecode

0x608060405260043610610129575f3560e01c8063715018a6116100a857806395d89b411161006d57806395d89b411461032f578063a9059cbb1461035a578063bf474bed14610379578063c876d0b91461038e578063c9567bf9146103a7578063dd62ed3e146103bb575f80fd5b8063715018a6146102b7578063751039fc146102cb5780637d1db4a5146102df5780638da5cb5b146102f45780638f9a55c01461031a575f80fd5b8063313ce567116100ee578063313ce567146101fc5780633bbac5791461021757806351bc3c851461024e5780636de7bcbd1461026457806370a0823114610283575f80fd5b806306fdde0314610134578063095ea7b3146101775780630faee56f146101a657806318160ddd146101c957806323b872dd146101dd575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600981526842697465722044616f60b81b60208201525b60405161016e9190611576565b60405180910390f35b348015610182575f80fd5b506101966101913660046115e8565b6103ff565b604051901515815260200161016e565b3480156101b1575f80fd5b506101bb60125481565b60405190815260200161016e565b3480156101d4575f80fd5b506101bb610415565b3480156101e8575f80fd5b506101966101f7366004611612565b610435565b348015610207575f80fd5b506040516008815260200161016e565b348015610222575f80fd5b50610196610231366004611650565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610259575f80fd5b5061026261049c565b005b34801561026f575f80fd5b5061026261027e36600461167f565b6104f2565b34801561028e575f80fd5b506101bb61029d366004611650565b6001600160a01b03165f9081526001602052604090205490565b3480156102c2575f80fd5b50610262610589565b3480156102d6575f80fd5b506102626105fa565b3480156102ea575f80fd5b506101bb600f5481565b3480156102ff575f80fd5b505f546040516001600160a01b03909116815260200161016e565b348015610325575f80fd5b506101bb60105481565b34801561033a575f80fd5b5060408051808201909152600381526210925560ea1b6020820152610161565b348015610365575f80fd5b506101966103743660046115e8565b6106b5565b348015610384575f80fd5b506101bb60115481565b348015610399575f80fd5b506006546101969060ff1681565b3480156103b2575f80fd5b506102626106c1565b3480156103c6575f80fd5b506101bb6103d536600461173f565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61040b338484610a6a565b5060015b92915050565b5f6104226008600a61186a565b61043090633b9aca00611878565b905090565b5f610441848484610b8d565b610492843361048d85604051806060016040528060288152602001611a0a602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111d5565b610a6a565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b0316146104c0575f80fd5b305f9081526001602052604090205480156104de576104de8161120d565b4780156104ee576104ee81611396565b5050565b5f546001600160a01b031633146105245760405162461bcd60e51b815260040161051b9061188f565b60405180910390fd5b5f5b81518110156104ee57600160045f848481518110610546576105466118c4565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610581816118d8565b915050610526565b5f546001600160a01b031633146105b25760405162461bcd60e51b815260040161051b9061188f565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106235760405162461bcd60e51b815260040161051b9061188f565b61062f6008600a61186a565b61063d90633b9aca00611878565b600f5561064c6008600a61186a565b61065a90633b9aca00611878565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106946008600a61186a565b6106a290633b9aca00611878565b60405190815260200160405180910390a1565b5f61040b338484610b8d565b5f546001600160a01b031633146106ea5760405162461bcd60e51b815260040161051b9061188f565b601454600160a01b900460ff16156107445760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161051b565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561078d90309061077f6008600a61186a565b61048d90633b9aca00611878565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107dd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080191906118f0565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610860573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088491906118f0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f291906118f0565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610939816001600160a01b03165f9081526001602052604090205490565b5f8061094c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109b2573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109d7919061190b565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a509190611936565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610acc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161051b565b6001600160a01b038216610b2d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161051b565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bf15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161051b565b6001600160a01b038216610c535760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161051b565b5f8111610cb45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161051b565b5f80546001600160a01b03858116911614801590610cdf57505f546001600160a01b03848116911614155b15611098576001600160a01b0384165f9081526004602052604090205460ff16158015610d2457506001600160a01b0383165f9081526004602052604090205460ff16155b610d2c575f80fd5b60065460ff1615610de3576013546001600160a01b03848116911614801590610d6357506014546001600160a01b03848116911614155b15610de357325f908152600560205260409020544311610dd15760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b606482015260840161051b565b325f9081526005602052604090204390555b6014546001600160a01b038581169116148015610e0e57506013546001600160a01b03848116911614155b8015610e3257506001600160a01b0383165f9081526003602052604090205460ff16155b15610f2b57600f54821115610e855760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604482015260640161051b565b60105482610ea7856001600160a01b03165f9081526001602052604090205490565b610eb19190611955565b1115610eff5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161051b565b600d54600e541015610f1657823b15610f16575f80fd5b600e8054905f610f25836118d8565b91905055505b610f576064610f51600b54600e5411610f4657600754610f4a565b6009545b85906113d1565b90611456565b6014549091506001600160a01b038481169116148015610f8057506001600160a01b0384163014155b15610ffb57600f54821115610fd35760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604482015260640161051b565b610ff86064610f51600c54600e5411610fee57600854610f4a565b600a5485906113d1565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561103157506014546001600160a01b038581169116145b80156110465750601454600160b01b900460ff165b8015611053575060115481115b80156110625750600d54600e54115b156110965761108461107f61107960125486611497565b83611497565b61120d565b4780156110945761109447611396565b505b505b801561111057305f908152600160205260409020546110b790826114ab565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111079085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111329083611509565b6001600160a01b0385165f908152600160205260409020556111756111578383611509565b6001600160a01b0385165f90815260016020526040902054906114ab565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111be8585611509565b60405190815260200160405180910390a350505050565b5f81848411156111f85760405162461bcd60e51b815260040161051b9190611576565b505f6112048486611968565b95945050505050565b6014805460ff60a81b1916600160a81b179055801561138657601454600160a01b900460ff1615611386576040805160028082526060820183525f9260208301908036833701905050905030815f8151811061126b5761126b6118c4565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112e691906118f0565b816001815181106112f9576112f96118c4565b6001600160a01b03928316602091820292909201015260135461131f9130911684610a6a565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113579085905f9086903090429060040161197b565b5f604051808303815f87803b15801561136e575f80fd5b505af1158015611380573d5f803e3d5ffd5b50505050505b506014805460ff60a81b19169055565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156104ee573d5f803e3d5ffd5b5f825f036113e057505f61040f565b5f6113eb8385611878565b9050826113f885836119ea565b1461144f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161051b565b9392505050565b5f61144f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061154a565b5f8183116114a5578261144f565b50919050565b5f806114b78385611955565b90508381101561144f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161051b565b5f61144f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111d5565b5f818361156a5760405162461bcd60e51b815260040161051b9190611576565b505f61120484866119ea565b5f6020808352835180828501525f5b818110156115a157858101830151858201604001528201611585565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115d5575f80fd5b50565b80356115e3816115c1565b919050565b5f80604083850312156115f9575f80fd5b8235611604816115c1565b946020939093013593505050565b5f805f60608486031215611624575f80fd5b833561162f816115c1565b9250602084013561163f816115c1565b929592945050506040919091013590565b5f60208284031215611660575f80fd5b813561144f816115c1565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611690575f80fd5b823567ffffffffffffffff808211156116a7575f80fd5b818501915085601f8301126116ba575f80fd5b8135818111156116cc576116cc61166b565b8060051b604051601f19603f830116810181811085821117156116f1576116f161166b565b60405291825284820192508381018501918883111561170e575f80fd5b938501935b8285101561173357611724856115d8565b84529385019392850192611713565b98975050505050505050565b5f8060408385031215611750575f80fd5b823561175b816115c1565b9150602083013561176b816115c1565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117c457815f19048211156117aa576117aa611776565b808516156117b757918102915b93841c939080029061178f565b509250929050565b5f826117da5750600161040f565b816117e657505f61040f565b81600181146117fc576002811461180657611822565b600191505061040f565b60ff84111561181757611817611776565b50506001821b61040f565b5060208310610133831016604e8410600b8410161715611845575081810a61040f565b61184f838361178a565b805f190482111561186257611862611776565b029392505050565b5f61144f60ff8416836117cc565b808202811582820484141761040f5761040f611776565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f600182016118e9576118e9611776565b5060010190565b5f60208284031215611900575f80fd5b815161144f816115c1565b5f805f6060848603121561191d575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611946575f80fd5b8151801515811461144f575f80fd5b8082018082111561040f5761040f611776565b8181038181111561040f5761040f611776565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119c95784516001600160a01b0316835293830193918301916001016119a4565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611a0457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122017a94908a9f3b9b5725d3145fbbc1ce7679554ac08eae2f20df7d1e5b09ec48864736f6c63430008140033

Deployed Bytecode Sourcemap

5611:8612:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7537:83;;;;;;;;;;-1:-1:-1;7607:5:0;;;;;;;;;;;;-1:-1:-1;;;7607:5:0;;;;7537:83;;;;;;;:::i;:::-;;;;;;;;8370:161;;;;;;;;;;-1:-1:-1;8370:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;8370:161:0;1162:187:1;6812:52:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;6812:52:0;1354:177:1;7814:95:0;;;;;;;;;;;;;:::i;8539:313::-;;;;;;;;;;-1:-1:-1;8539:313:0;;;;;:::i;:::-;;:::i;7723:83::-;;;;;;;;;;-1:-1:-1;7723:83:0;;6443:1;2139:36:1;;2127:2;2112:18;7723:83:0;1997:184:1;12666:83:0;;;;;;;;;;-1:-1:-1;12666:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;12734:7:0;12713:4;12734:7;;;:4;:7;;;;;;;;;12666:83;13852:348;;;;;;;;;;;;;:::i;:::-;;12757:168;;;;;;;;;;-1:-1:-1;12757:168:0;;;;;:::i;:::-;;:::i;7917:119::-;;;;;;;;;;-1:-1:-1;7917:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8010:18:0;7983:7;8010:18;;;:9;:18;;;;;;;7917:119;4692:148;;;;;;;;;;;;;:::i;12362:196::-;;;;;;;;;;;;;:::i;6629:54::-;;;;;;;;;;;;;;;;4478:79;;;;;;;;;;-1:-1:-1;4516:7:0;4543:6;4478:79;;-1:-1:-1;;;;;4543:6:0;;;3842:51:1;;3830:2;3815:18;4478:79:0;3696:203:1;6690:56:0;;;;;;;;;;;;;;;;7628:87;;;;;;;;;;-1:-1:-1;7700:7:0;;;;;;;;;;;;-1:-1:-1;;;7700:7:0;;;;7628:87;;8044:167;;;;;;;;;;-1:-1:-1;8044:167:0;;;;;:::i;:::-;;:::i;6753:52::-;;;;;;;;;;;;;;;;6001:40;;;;;;;;;;-1:-1:-1;6001:40:0;;;;;;;;12933:671;;;;;;;;;;;;;:::i;8219:143::-;;;;;;;;;;-1:-1:-1;8219:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8327:18:0;;;8300:7;8327:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8219:143;8370:161;8445:4;8462:39;2313:10;8485:7;8494:6;8462:8;:39::i;:::-;-1:-1:-1;8519:4:0;8370:161;;;;;:::o;7814:95::-;7867:7;6499:13;6443:1;6499:2;:13;:::i;:::-;6486:26;;:10;:26;:::i;:::-;7887:14;;7814:95;:::o;8539:313::-;8637:4;8654:36;8664:6;8672:9;8683:6;8654:9;:36::i;:::-;8701:121;8710:6;2313:10;8732:89;8770:6;8732:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8732:19:0;;;;;;:11;:19;;;;;;;;2313:10;8732:33;;;;;;;;;;:37;:89::i;:::-;8701:8;:121::i;:::-;-1:-1:-1;8840:4:0;8539:313;;;;;:::o;13852:348::-;13916:10;;;;;-1:-1:-1;;;;;13916:10:0;2313;-1:-1:-1;;;;;13902:24:0;;13894:33;;;;;;13977:4;13938:20;8010:18;;;:9;:18;;;;;;13997:14;;13994:73;;14025:30;14042:12;14025:16;:30::i;:::-;14096:21;14131:12;;14128:65;;14157:24;14170:10;14157:12;:24::i;:::-;13883:317;;13852:348::o;12757:168::-;4605:6;;-1:-1:-1;;;;;4605:6:0;2313:10;4605:22;4597:67;;;;-1:-1:-1;;;4597:67:0;;;;;;;:::i;:::-;;;;;;;;;12835:6:::1;12830:88;12851:5;:12;12847:1;:16;12830:88;;;12902:4;12885;:14;12890:5;12896:1;12890:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12885:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12885:14:0;:21;;-1:-1:-1;;12885:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12865:3;::::1;::::0;::::1;:::i;:::-;;;;12830:88;;4692:148:::0;4605:6;;-1:-1:-1;;;;;4605:6:0;2313:10;4605:22;4597:67;;;;-1:-1:-1;;;4597:67:0;;;;;;;:::i;:::-;4799:1:::1;4783:6:::0;;4762:40:::1;::::0;-1:-1:-1;;;;;4783:6:0;;::::1;::::0;4762:40:::1;::::0;4799:1;;4762:40:::1;4830:1;4813:19:::0;;-1:-1:-1;;;;;;4813:19:0::1;::::0;;4692:148::o;12362:196::-;4605:6;;-1:-1:-1;;;;;4605:6:0;2313:10;4605:22;4597:67;;;;-1:-1:-1;;;4597:67:0;;;;;;;:::i;:::-;6499:13:::1;6443:1;6499:2;:13;:::i;:::-;6486:26;::::0;:10:::1;:26;:::i;:::-;12415:12;:22:::0;6499:13:::1;6443:1;6499:2;:13;:::i;:::-;6486:26;::::0;:10:::1;:26;:::i;:::-;12448:14;:22:::0;12481:20:::1;:26:::0;;-1:-1:-1;;12481:26:0::1;::::0;;12523:27:::1;6499:13;6443:1;-1:-1:-1::0;6499:13:0::1;:::i;:::-;6486:26;::::0;:10:::1;:26;:::i;:::-;12523:27;::::0;1500:25:1;;;1488:2;1473:18;12523:27:0::1;;;;;;;12362:196::o:0;8044:167::-;8122:4;8139:42;2313:10;8163:9;8174:6;8139:9;:42::i;12933:671::-;4605:6;;-1:-1:-1;;;;;4605:6:0;2313:10;4605:22;4597:67;;;;-1:-1:-1;;;4597:67:0;;;;;;;:::i;:::-;12997:11:::1;::::0;-1:-1:-1;;;12997:11:0;::::1;;;12996:12;12988:47;;;::::0;-1:-1:-1;;;12988:47:0;;6820:2:1;12988:47:0::1;::::0;::::1;6802:21:1::0;6859:2;6839:18;;;6832:30;6898:25;6878:18;;;6871:53;6941:18;;12988:47:0::1;6618:347:1::0;12988:47:0::1;13046:15;:80:::0;;-1:-1:-1;;;;;;13046:80:0::1;13083:42;13046:80:::0;;::::1;::::0;;;13137:58:::1;::::0;13154:4:::1;::::0;6499:13:::1;6443:1;6499:2;:13;:::i;:::-;6486:26;::::0;:10:::1;:26;:::i;13137:58::-;13240:15;;;;;;;;;-1:-1:-1::0;;;;;13240:15:0::1;-1:-1:-1::0;;;;;13240:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13222:55:0::1;;13286:4;13293:15;;;;;;;;;-1:-1:-1::0;;;;;13293:15:0::1;-1:-1:-1::0;;;;;13293:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13222:94;::::0;-1:-1:-1;;;;;;13222:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7456:15:1;;;13222:94:0::1;::::0;::::1;7438:34:1::0;7508:15;;7488:18;;;7481:43;7373:18;;13222:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13206:13;:110:::0;;-1:-1:-1;;;;;13206:110:0;;::::1;-1:-1:-1::0;;;;;;13206:110:0;;::::1;;::::0;;13327:15:::1;::::0;::::1;:31;13366:21;13397:4;13403:24;13397:4:::0;-1:-1:-1;;;;;8010:18:0;7983:7;8010:18;;;:9;:18;;;;;;;7917:119;13403:24:::1;13428:1;13430::::0;13432:7:::1;4516::::0;4543:6;-1:-1:-1;;;;;4543:6:0;;4478:79;13432:7:::1;13327:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13327:129:0;;;-1:-1:-1;;;;;7894:15:1;;;13327:129:0::1;::::0;::::1;7876:34:1::0;7926:18;;;7919:34;;;;7969:18;;;7962:34;;;;8012:18;;;8005:34;8076:15;;;8055:19;;;8048:44;13440:15:0::1;8108:19:1::0;;;8101:35;7810:19;;13327:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13474:13:0::1;::::0;13505:15:::1;::::0;13467:71:::1;::::0;-1:-1:-1;;;13467:71:0;;-1:-1:-1;;;;;13505:15:0;;::::1;13467:71;::::0;::::1;8632:51:1::0;-1:-1:-1;;8699:18:1;;;8692:34;13474:13:0;::::1;::::0;-1:-1:-1;13467:29:0::1;::::0;8605:18:1;;13467:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13549:11:0::1;:18:::0;;-1:-1:-1;;;;13578:18:0;-1:-1:-1;;;13578:18:0;;;12933:671::o;8860:335::-;-1:-1:-1;;;;;8953:19:0;;8945:68;;;;-1:-1:-1;;;8945:68:0;;9221:2:1;8945:68:0;;;9203:21:1;9260:2;9240:18;;;9233:30;9299:34;9279:18;;;9272:62;-1:-1:-1;;;9350:18:1;;;9343:34;9394:19;;8945:68:0;9019:400:1;8945:68:0;-1:-1:-1;;;;;9032:21:0;;9024:68;;;;-1:-1:-1;;;9024:68:0;;9626:2:1;9024:68:0;;;9608:21:1;9665:2;9645:18;;;9638:30;9704:34;9684:18;;;9677:62;-1:-1:-1;;;9755:18:1;;;9748:32;9797:19;;9024:68:0;9424:398:1;9024:68:0;-1:-1:-1;;;;;9103:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9155:32;;1500:25:1;;;9155:32:0;;1473:18:1;9155:32:0;;;;;;;8860:335;;;:::o;9203:2480::-;-1:-1:-1;;;;;9291:18:0;;9283:68;;;;-1:-1:-1;;;9283:68:0;;10029:2:1;9283:68:0;;;10011:21:1;10068:2;10048:18;;;10041:30;10107:34;10087:18;;;10080:62;-1:-1:-1;;;10158:18:1;;;10151:35;10203:19;;9283:68:0;9827:401:1;9283:68:0;-1:-1:-1;;;;;9370:16:0;;9362:64;;;;-1:-1:-1;;;9362:64:0;;10435:2:1;9362:64:0;;;10417:21:1;10474:2;10454:18;;;10447:30;10513:34;10493:18;;;10486:62;-1:-1:-1;;;10564:18:1;;;10557:33;10607:19;;9362:64:0;10233:399:1;9362:64:0;9454:1;9445:6;:10;9437:64;;;;-1:-1:-1;;;9437:64:0;;10839:2:1;9437:64:0;;;10821:21:1;10878:2;10858:18;;;10851:30;10917:34;10897:18;;;10890:62;-1:-1:-1;;;10968:18:1;;;10961:39;11017:19;;9437:64:0;10637:405:1;9437:64:0;9512:17;4543:6;;-1:-1:-1;;;;;9546:15:0;;;4543:6;;9546:15;;;;:32;;-1:-1:-1;4516:7:0;4543:6;-1:-1:-1;;;;;9565:13:0;;;4543:6;;9565:13;;9546:32;9542:1785;;;-1:-1:-1;;;;;9604:10:0;;;;;;:4;:10;;;;;;;;9603:11;:24;;;;-1:-1:-1;;;;;;9619:8:0;;;;;;:4;:8;;;;;;;;9618:9;9603:24;9595:33;;;;;;9649:20;;;;9645:346;;;9708:15;;-1:-1:-1;;;;;9694:30:0;;;9708:15;;9694:30;;;;:62;;-1:-1:-1;9742:13:0;;-1:-1:-1;;;;;9728:28:0;;;9742:13;;9728:28;;9694:62;9690:286;;;9816:9;9787:39;;;;:28;:39;;;;;;9829:12;-1:-1:-1;9779:102:0;;;;-1:-1:-1;;;9779:102:0;;11249:2:1;9779:102:0;;;11231:21:1;11288:2;11268:18;;;11261:30;11327:34;11307:18;;;11300:62;-1:-1:-1;;;11378:18:1;;;11371:34;11422:19;;9779:102:0;11047:400:1;9779:102:0;9931:9;9902:39;;;;:28;:39;;;;;9944:12;9902:54;;9690:286;10019:13;;-1:-1:-1;;;;;10011:21:0;;;10019:13;;10011:21;:55;;;;-1:-1:-1;10050:15:0;;-1:-1:-1;;;;;10036:30:0;;;10050:15;;10036:30;;10011:55;:83;;;;-1:-1:-1;;;;;;10072:22:0;;;;;;:18;:22;;;;;;;;10070:24;10011:83;10007:428;;;10134:12;;10124:6;:22;;10116:60;;;;-1:-1:-1;;;10116:60:0;;11654:2:1;10116:60:0;;;11636:21:1;11693:2;11673:18;;;11666:30;-1:-1:-1;;;11712:18:1;;;11705:55;11777:18;;10116:60:0;11452:349:1;10116:60:0;10229:14;;10219:6;10203:13;10213:2;-1:-1:-1;;;;;8010:18:0;7983:7;8010:18;;;:9;:18;;;;;;;7917:119;10203:13;:22;;;;:::i;:::-;:40;;10195:79;;;;-1:-1:-1;;;10195:79:0;;12138:2:1;10195:79:0;;;12120:21:1;12177:2;12157:18;;;12150:30;12216:28;12196:18;;;12189:56;12262:18;;10195:79:0;11936:350:1;10195:79:0;10306:18;;10296:9;;:28;10293:97;;;13780:20;;13828:8;10346:24;;;;;;10408:9;:11;;;:9;:11;;;:::i;:::-;;;;;;10007:428;10465:76;10537:3;10465:67;10487:15;;10477:9;;:25;10476:55;;10517:14;;10476:55;;;10504:12;;10476:55;10465:6;;:10;:67::i;:::-;:71;;:76::i;:::-;10565:13;;10453:88;;-1:-1:-1;;;;;;10559:19:0;;;10565:13;;10559:19;:43;;;;-1:-1:-1;;;;;;10582:20:0;;10597:4;10582:20;;10559:43;10556:253;;;10641:12;;10631:6;:22;;10623:60;;;;-1:-1:-1;;;10623:60:0;;11654:2:1;10623:60:0;;;11636:21:1;11693:2;11673:18;;;11666:30;-1:-1:-1;;;11712:18:1;;;11705:55;11777:18;;10623:60:0;11452:349:1;10623:60:0;10714:79;10789:3;10714:70;10736:16;;10726:9;;:26;10725:58;;10768:15;;10725:58;;;10754:13;;10714:6;;:10;:70::i;:79::-;10702:91;;10556:253;10874:4;10825:28;8010:18;;;:9;:18;;;;;;10900:6;;-1:-1:-1;;;10900:6:0;;;;10899:7;:30;;;;-1:-1:-1;10916:13:0;;-1:-1:-1;;;;;10910:19:0;;;10916:13;;10910:19;10899:30;:45;;;;-1:-1:-1;10933:11:0;;-1:-1:-1;;;10933:11:0;;;;10899:45;:87;;;;;10969:17;;10948:20;:38;10899:87;:119;;;;;11000:18;;10990:9;;:28;10899:119;10895:421;;;11039:69;11056:51;11060:24;11064:11;;11077:6;11060:3;:24::i;:::-;11086:20;11056:3;:51::i;:::-;11039:16;:69::i;:::-;11156:21;11199:22;;11196:105;;11246:35;11259:21;11246:12;:35::i;:::-;11020:296;10895:421;9580:1747;9542:1785;11342:11;;11339:161;;11410:4;11392:24;;;;:9;:24;;;;;;:39;;11421:9;11392:28;:39::i;:::-;11385:4;11367:24;;;;:9;:24;;;;;;;:64;;;;11449:39;;-1:-1:-1;;;;;11449:39:0;;;;;;;11478:9;1500:25:1;;1488:2;1473:18;;1354:177;11449:39:0;;;;;;;;11339:161;-1:-1:-1;;;;;11526:15:0;;;;;;:9;:15;;;;;;:27;;11546:6;11526:19;:27::i;:::-;-1:-1:-1;;;;;11510:15:0;;;;;;:9;:15;;;;;:43;11578:40;11596:21;:6;11607:9;11596:10;:21::i;:::-;-1:-1:-1;;;;;11578:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;11564:13:0;;;;;;;:9;:13;;;;;:54;;;;11634:41;;;11653:21;:6;11664:9;11653:10;:21::i;:::-;11634:41;;1500:25:1;;;1488:2;1473:18;11634:41:0;;;;;;;9272:2411;9203:2480;;;:::o;3370:190::-;3456:7;3492:12;3484:6;;;;3476:29;;;;-1:-1:-1;;;3476:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3516:9:0;3528:5;3532:1;3528;:5;:::i;:::-;3516:17;3370:190;-1:-1:-1;;;;;3370:190:0:o;11799:555::-;7146:6;:13;;-1:-1:-1;;;;7146:13:0;-1:-1:-1;;;7146:13:0;;;11877:27;;11896:7:::1;11877:27;11918:11;::::0;-1:-1:-1;;;11918:11:0;::::1;;;11914:25:::0;11931:7:::1;11914:25;11973:16;::::0;;11987:1:::1;11973:16:::0;;;;;::::1;::::0;;11949:21:::1;::::0;11973:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11973:16:0::1;11949:40;;12018:4;12000;12005:1;12000:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12000:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12044:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12044:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12000:7;;12044:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12034:4;12039:1;12034:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12034:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12109:15:::1;::::0;12077:62:::1;::::0;12094:4:::1;::::0;12109:15:::1;12127:11:::0;12077:8:::1;:62::i;:::-;12150:15;::::0;:196:::1;::::0;-1:-1:-1;;;12150:196:0;;-1:-1:-1;;;;;12150:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12231:11;;12150:15:::1;::::0;12273:4;;12300::::1;::::0;12320:15:::1;::::0;12150:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11866:488;7170:1;-1:-1:-1::0;7182:6:0;:14;;-1:-1:-1;;;;7182:14:0;;;11799:555::o;12566:92::-;12623:10;;:27;;:10;;;;-1:-1:-1;;;;;12623:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;3568:246;3626:7;3650:1;3655;3650:6;3646:47;;-1:-1:-1;3680:1:0;3673:8;;3646:47;3703:9;3715:5;3719:1;3715;:5;:::i;:::-;3703:17;-1:-1:-1;3748:1:0;3739:5;3743:1;3703:17;3739:5;:::i;:::-;:10;3731:56;;;;-1:-1:-1;;;3731:56:0;;13833:2:1;3731:56:0;;;13815:21:1;13872:2;13852:18;;;13845:30;13911:34;13891:18;;;13884:62;-1:-1:-1;;;13962:18:1;;;13955:31;14003:19;;3731:56:0;13631:397:1;3731:56:0;3805:1;3568:246;-1:-1:-1;;;3568:246:0:o;3822:132::-;3880:7;3907:39;3911:1;3914;3907:39;;;;;;;;;;;;;;;;;:3;:39::i;11693:98::-;11750:7;11777:1;11775;:3;11774:9;;11782:1;11774:9;;;-1:-1:-1;11780:1:0;11693:98;-1:-1:-1;11693:98:0:o;3039:179::-;3097:7;;3129:5;3133:1;3129;:5;:::i;:::-;3117:17;;3158:1;3153;:6;;3145:46;;;;-1:-1:-1;;;3145:46:0;;14235:2:1;3145:46:0;;;14217:21:1;14274:2;14254:18;;;14247:30;14313:29;14293:18;;;14286:57;14360:18;;3145:46:0;14033:351:1;3226:136:0;3284:7;3311:43;3315:1;3318;3311:43;;;;;;;;;;;;;;;;;:3;:43::i;3962:189::-;4048:7;4083:12;4076:5;4068:28;;;;-1:-1:-1;;;4068:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4107:9:0;4119:5;4123:1;4119;: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:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:247::-;2245:6;2298:2;2286:9;2277:7;2273:23;2269:32;2266:52;;;2314:1;2311;2304:12;2266:52;2353:9;2340:23;2372:31;2397:5;2372:31;:::i;2438:127::-;2499:10;2494:3;2490:20;2487:1;2480:31;2530:4;2527:1;2520:15;2554:4;2551:1;2544:15;2570:1121;2654:6;2685:2;2728;2716:9;2707:7;2703:23;2699:32;2696:52;;;2744:1;2741;2734:12;2696:52;2784:9;2771:23;2813:18;2854:2;2846:6;2843:14;2840:34;;;2870:1;2867;2860:12;2840:34;2908:6;2897:9;2893:22;2883:32;;2953:7;2946:4;2942:2;2938:13;2934:27;2924:55;;2975:1;2972;2965:12;2924:55;3011:2;2998:16;3033:2;3029;3026:10;3023:36;;;3039:18;;:::i;:::-;3085:2;3082:1;3078:10;3117:2;3111:9;3180:2;3176:7;3171:2;3167;3163:11;3159:25;3151:6;3147:38;3235:6;3223:10;3220:22;3215:2;3203:10;3200:18;3197:46;3194:72;;;3246:18;;:::i;:::-;3282:2;3275:22;3332:18;;;3366:15;;;;-1:-1:-1;3408:11:1;;;3404:20;;;3436:19;;;3433:39;;;3468:1;3465;3458:12;3433:39;3492:11;;;;3512:148;3528:6;3523:3;3520:15;3512:148;;;3594:23;3613:3;3594:23;:::i;:::-;3582:36;;3545:12;;;;3638;;;;3512:148;;;3679:6;2570:1121;-1:-1:-1;;;;;;;;2570:1121:1:o;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:127::-;4358:10;4353:3;4349:20;4346:1;4339:31;4389:4;4386:1;4379:15;4413:4;4410:1;4403:15;4429:422;4518:1;4561:5;4518:1;4575:270;4596:7;4586:8;4583:21;4575:270;;;4655:4;4651:1;4647:6;4643:17;4637:4;4634:27;4631:53;;;4664:18;;:::i;:::-;4714:7;4704:8;4700:22;4697:55;;;4734:16;;;;4697:55;4813:22;;;;4773:15;;;;4575:270;;;4579:3;4429:422;;;;;:::o;4856:806::-;4905:5;4935:8;4925:80;;-1:-1:-1;4976:1:1;4990:5;;4925:80;5024:4;5014:76;;-1:-1:-1;5061:1:1;5075:5;;5014:76;5106:4;5124:1;5119:59;;;;5192:1;5187:130;;;;5099:218;;5119:59;5149:1;5140:10;;5163:5;;;5187:130;5224:3;5214:8;5211:17;5208:43;;;5231:18;;:::i;:::-;-1:-1:-1;;5287:1:1;5273:16;;5302:5;;5099:218;;5401:2;5391:8;5388:16;5382:3;5376:4;5373:13;5369:36;5363:2;5353:8;5350:16;5345:2;5339:4;5336:12;5332:35;5329:77;5326:159;;;-1:-1:-1;5438:19:1;;;5470:5;;5326:159;5517:34;5542:8;5536:4;5517:34;:::i;:::-;5587:6;5583:1;5579:6;5575:19;5566:7;5563:32;5560:58;;;5598:18;;:::i;:::-;5636:20;;4856:806;-1:-1:-1;;;4856:806:1:o;5667:140::-;5725:5;5754:47;5795:4;5785:8;5781:19;5775:4;5754:47;:::i;5812:168::-;5885:9;;;5916;;5933:15;;;5927:22;;5913:37;5903:71;;5954:18;;:::i;5985:356::-;6187:2;6169:21;;;6206:18;;;6199:30;6265:34;6260:2;6245:18;;6238:62;6332:2;6317:18;;5985:356::o;6346:127::-;6407:10;6402:3;6398:20;6395:1;6388:31;6438:4;6435:1;6428:15;6462:4;6459:1;6452:15;6478:135;6517:3;6538:17;;;6535:43;;6558:18;;:::i;:::-;-1:-1:-1;6605:1:1;6594:13;;6478:135::o;6970:251::-;7040:6;7093:2;7081:9;7072:7;7068:23;7064:32;7061:52;;;7109:1;7106;7099:12;7061:52;7141:9;7135:16;7160:31;7185:5;7160:31;:::i;8147:306::-;8235:6;8243;8251;8304:2;8292:9;8283:7;8279:23;8275:32;8272:52;;;8320:1;8317;8310:12;8272:52;8349:9;8343:16;8333:26;;8399:2;8388:9;8384:18;8378:25;8368:35;;8443:2;8432:9;8428:18;8422:25;8412:35;;8147:306;;;;;:::o;8737:277::-;8804:6;8857:2;8845:9;8836:7;8832:23;8828:32;8825:52;;;8873:1;8870;8863:12;8825:52;8905:9;8899:16;8958:5;8951:13;8944:21;8937:5;8934:32;8924:60;;8980:1;8977;8970:12;11806:125;11871:9;;;11892:10;;;11889:36;;;11905:18;;:::i;12291:128::-;12358:9;;;12379:11;;;12376:37;;;12393:18;;:::i;12424:980::-;12686:4;12734:3;12723:9;12719:19;12765:6;12754:9;12747:25;12791:2;12829:6;12824:2;12813:9;12809:18;12802:34;12872:3;12867:2;12856:9;12852:18;12845:31;12896:6;12931;12925:13;12962:6;12954;12947:22;13000:3;12989:9;12985:19;12978:26;;13039:2;13031:6;13027:15;13013:29;;13060:1;13070:195;13084:6;13081:1;13078:13;13070:195;;;13149:13;;-1:-1:-1;;;;;13145:39:1;13133:52;;13240:15;;;;13205:12;;;;13181:1;13099:9;13070:195;;;-1:-1:-1;;;;;;;13321:32:1;;;;13316:2;13301:18;;13294:60;-1:-1:-1;;;13385:3:1;13370:19;13363:35;13282:3;12424:980;-1:-1:-1;;;12424:980:1:o;13409:217::-;13449:1;13475;13465:132;;13519:10;13514:3;13510:20;13507:1;13500:31;13554:4;13551:1;13544:15;13582:4;13579:1;13572:15;13465:132;-1:-1:-1;13611:9:1;;13409:217::o

Swarm Source

ipfs://17a94908a9f3b9b5725d3145fbbc1ce7679554ac08eae2f20df7d1e5b09ec488

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.