ETH Price: $3,403.19 (+2.70%)

Contract

0x115a968BD061b3cd0a5e21D80c827e6A4B5e36E6
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve212683522024-11-26 0:29:5928 days ago1732580999IN
0x115a968B...A4B5e36E6
0 ETH0.000209158.64594072
Approve174222722023-06-06 15:23:59566 days ago1686065039IN
0x115a968B...A4B5e36E6
0 ETH0.0018879440.57043238
Approve173374382023-05-25 16:46:59578 days ago1685033219IN
0x115a968B...A4B5e36E6
0 ETH0.0011182246.22490429
Approve172010162023-05-06 10:40:35597 days ago1683369635IN
0x115a968B...A4B5e36E6
0 ETH0.00516438111.12188032
Approve171592612023-04-30 13:49:11603 days ago1682862551IN
0x115a968B...A4B5e36E6
0 ETH0.0011206646.21106297
Approve170975762023-04-21 21:59:47612 days ago1682114387IN
0x115a968B...A4B5e36E6
0 ETH0.0008594235.5267136
Transfer170024422023-04-08 8:16:47626 days ago1680941807IN
0x115a968B...A4B5e36E6
0 ETH0.0006914719.99990732
Transfer170024402023-04-08 8:16:23626 days ago1680941783IN
0x115a968B...A4B5e36E6
0 ETH0.0007097920.52964908
Transfer170024382023-04-08 8:15:59626 days ago1680941759IN
0x115a968B...A4B5e36E6
0 ETH0.0007291921.09811105
Transfer170024362023-04-08 8:15:35626 days ago1680941735IN
0x115a968B...A4B5e36E6
0 ETH0.0006861719.85345852
Transfer170024192023-04-08 8:12:11626 days ago1680941531IN
0x115a968B...A4B5e36E6
0 ETH0.0007166620.73549318
Transfer170024072023-04-08 8:09:47626 days ago1680941387IN
0x115a968B...A4B5e36E6
0 ETH0.0007242620.95556374
Transfer170024072023-04-08 8:09:47626 days ago1680941387IN
0x115a968B...A4B5e36E6
0 ETH0.0007242620.95556374
Transfer170024042023-04-08 8:08:59626 days ago1680941339IN
0x115a968B...A4B5e36E6
0 ETH0.0007759622.45146369
Transfer170024022023-04-08 8:08:35626 days ago1680941315IN
0x115a968B...A4B5e36E6
0 ETH0.0007377421.34560399
Approve169789222023-04-05 0:01:35629 days ago1680652895IN
0x115a968B...A4B5e36E6
0 ETH0.0013663629.4
Approve169628122023-04-02 17:13:47631 days ago1680455627IN
0x115a968B...A4B5e36E6
0 ETH0.0011007523.68477982
Approve169561832023-04-01 18:49:23632 days ago1680374963IN
0x115a968B...A4B5e36E6
0 ETH0.0009983621.45410011
Approve169414112023-03-30 17:01:23634 days ago1680195683IN
0x115a968B...A4B5e36E6
0 ETH0.0026351356.7
Approve169183382023-03-27 11:11:47637 days ago1679915507IN
0x115a968B...A4B5e36E6
0 ETH0.0007874717.04518526
Approve169183252023-03-27 11:09:11637 days ago1679915351IN
0x115a968B...A4B5e36E6
0 ETH0.0008281717.81975436
Approve168885412023-03-23 6:43:23642 days ago1679553803IN
0x115a968B...A4B5e36E6
0 ETH0.0005784412.43042689
Transfer168870152023-03-23 1:34:23642 days ago1679535263IN
0x115a968B...A4B5e36E6
0 ETH0.0007443614.40509079
Approve168868722023-03-23 1:05:11642 days ago1679533511IN
0x115a968B...A4B5e36E6
0 ETH0.0007932317.06797893
Approve168834912023-03-22 13:40:59642 days ago1679492459IN
0x115a968B...A4B5e36E6
0 ETH0.0010439322.46236449
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
174222772023-06-06 15:24:59566 days ago1686065099
0x115a968B...A4B5e36E6
0.00184805 ETH
174222772023-06-06 15:24:59566 days ago1686065099
0x115a968B...A4B5e36E6
0.00184805 ETH
170024662023-04-08 8:21:35626 days ago1680942095
0x115a968B...A4B5e36E6
0.00254108 ETH
170024662023-04-08 8:21:35626 days ago1680942095
0x115a968B...A4B5e36E6
0.00254108 ETH
170024632023-04-08 8:20:59626 days ago1680942059
0x115a968B...A4B5e36E6
0.00045058 ETH
170024632023-04-08 8:20:59626 days ago1680942059
0x115a968B...A4B5e36E6
0.00045058 ETH
169789242023-04-05 0:01:59629 days ago1680652919
0x115a968B...A4B5e36E6
0.0001846 ETH
169789242023-04-05 0:01:59629 days ago1680652919
0x115a968B...A4B5e36E6
0.0001846 ETH
169628652023-04-02 17:24:23631 days ago1680456263
0x115a968B...A4B5e36E6
0.00022913 ETH
169628652023-04-02 17:24:23631 days ago1680456263
0x115a968B...A4B5e36E6
0.00022913 ETH
169529352023-04-01 7:52:11633 days ago1680335531
0x115a968B...A4B5e36E6
0.00050294 ETH
169529352023-04-01 7:52:11633 days ago1680335531
0x115a968B...A4B5e36E6
0.00050294 ETH
169183442023-03-27 11:12:59637 days ago1679915579
0x115a968B...A4B5e36E6
0.00058412 ETH
169183442023-03-27 11:12:59637 days ago1679915579
0x115a968B...A4B5e36E6
0.00058412 ETH
169183282023-03-27 11:09:47637 days ago1679915387
0x115a968B...A4B5e36E6
0.00041936 ETH
169183282023-03-27 11:09:47637 days ago1679915387
0x115a968B...A4B5e36E6
0.00041936 ETH
168887332023-03-23 7:22:35642 days ago1679556155
0x115a968B...A4B5e36E6
0.00079852 ETH
168887332023-03-23 7:22:35642 days ago1679556155
0x115a968B...A4B5e36E6
0.00079852 ETH
168870462023-03-23 1:40:35642 days ago1679535635
0x115a968B...A4B5e36E6
0.00145302 ETH
168870462023-03-23 1:40:35642 days ago1679535635
0x115a968B...A4B5e36E6
0.00145302 ETH
168868812023-03-23 1:06:59642 days ago1679533619
0x115a968B...A4B5e36E6
0.00029717 ETH
168868812023-03-23 1:06:59642 days ago1679533619
0x115a968B...A4B5e36E6
0.00029717 ETH
168742802023-03-21 6:37:23644 days ago1679380643
0x115a968B...A4B5e36E6
0.00031868 ETH
168742802023-03-21 6:37:23644 days ago1679380643
0x115a968B...A4B5e36E6
0.00031868 ETH
168727452023-03-21 1:27:23644 days ago1679362043
0x115a968B...A4B5e36E6
0.00024174 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Token

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-03-07
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.17;

/**
 *  Website: https://opdoge.io/
 *  Telegram: https://t.me/OPDOGE_Community
 *  Twitter: https://twitter.com/OrdinalPUNKDOGE
 *  WhitePaper: https://ordinals.com/inscription/12a3800e25c919c7c69531f124e1400479a700055010e4a3f00e6c6d8b481e4di0
 **/


interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    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);
}

interface IWETH {
    function deposit() external payable;
    function transfer(address to, uint value) external returns (bool);
    function withdraw(uint) external;
}

interface ISwapRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);

}

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

abstract contract Ownable {
    address internal _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = tx.origin;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "!owner");
        _;
    }

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "new is 0");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract TokenDistributor {
    constructor (address token) {
        IERC20(token).approve(msg.sender, uint(~uint256(0)));
    }
}

abstract contract AbsToken is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address public fundAddress;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    mapping(address => bool) public _isExcludeFromFee;
    
    uint256 private _tTotal;

    ISwapRouter public _swapRouter;
    address public _currency;
    mapping(address => bool) public _swapPairList;
    bool private inSwap;

    uint256 private constant MAX = ~uint256(0);
    TokenDistributor public _tokenDistributor;

    uint256 public _buyFundFee = 100;
    uint256 public _buyLPFee = 50;
    uint256 public _sellFundFee = 100;
    uint256 public _sellLPFee = 50;

    address public _mainPair;

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

    constructor (
        address RouterAddress,
        string memory Name, string memory Symbol, uint8 Decimals, uint256 Supply,
        address FundAddress
    ){
        _name = Name;
        _symbol = Symbol;
        _decimals = Decimals;

        ISwapRouter swapRouter = ISwapRouter(RouterAddress);
        address WETHAddress = swapRouter.WETH();
        IERC20(WETHAddress).approve(address(swapRouter), MAX);

        _currency = WETHAddress;
        _swapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;

        ISwapFactory swapFactory = ISwapFactory(swapRouter.factory());
        address swapPair = swapFactory.createPair(address(this), WETHAddress);
        _mainPair = swapPair;
        _swapPairList[swapPair] = true;

        uint256 total = Supply * 10 ** Decimals;
        _tTotal = total;

        address ReceiveAddress = 0x2670dDf60545E437A66daDFF26c8C213e2ec85dF;
        _balances[ReceiveAddress] = total;
        emit Transfer(address(0), ReceiveAddress, total);

        fundAddress = FundAddress;

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[address(swapRouter)] = true;
        _isExcludeFromFee[msg.sender] = true;
        _isExcludeFromFee[ReceiveAddress] = true;
        _isExcludeFromFee[fundAddress] = true;

        _tokenDistributor = new TokenDistributor(WETHAddress);
    }

    function symbol() external view override returns (string memory) {
        return _symbol;
    }

    function name() external view override returns (string memory) {
        return _name;
    }

    function decimals() external view override returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view 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(msg.sender, 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(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }


    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        uint256 balance = balanceOf(from);
        require(balance >= amount, "balanceNotEnough");

        bool takeFee;
        bool isSell;
        
        if (_swapPairList[from] || _swapPairList[to]) {
            if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to]) {
                if (_swapPairList[to]) {
                    if (!inSwap) {
                        uint256 contractTokenBalance = balanceOf(address(this));
                        if (contractTokenBalance > 0) {
                            uint256 swapFee = _buyFundFee + _buyLPFee + _sellFundFee + _sellLPFee;
                            uint256 numTokensSellToFund = amount * swapFee / 5000;
                            if (numTokensSellToFund > contractTokenBalance) {
                                numTokensSellToFund = contractTokenBalance;
                            }
                            swapTokenForFund(numTokensSellToFund, swapFee);
                        }
                    }
                }
                takeFee = true;
            }
            if (_swapPairList[to]) {
                isSell = true;
            }
        }
        _tokenTransfer(from, to, amount, takeFee, isSell);
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee,
        bool isSell
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;

        if (takeFee) {
            uint256 swapFee;

            if (isSell) {
                swapFee = _sellFundFee + _sellLPFee;
            } else {
                swapFee = _buyFundFee + _buyLPFee;
            }
            uint256 swapAmount = tAmount * swapFee / 10000;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _takeTransfer(
                    sender,
                    address(this),
                    swapAmount
                );
            }
        }

        _takeTransfer(sender, recipient, tAmount - feeAmount);
    }

    event Failed_swapExactTokensForTokensSupportingFeeOnTransferTokens();
    event Failed_addLiquidity();

    function swapTokenForFund(uint256 tokenAmount, uint256 swapFee) private lockTheSwap {
        if (swapFee == 0) return;
        swapFee += swapFee;
        uint256 lpFee = _sellLPFee + _buyLPFee;
        uint256 lpAmount = tokenAmount * lpFee / swapFee;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _currency;
        try _swapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(
            tokenAmount - lpAmount,
            0,
            path,
            address(_tokenDistributor),
            block.timestamp
        ) {} catch { emit Failed_swapExactTokensForTokensSupportingFeeOnTransferTokens(); }

        swapFee -= lpFee;

        IERC20 FIST = IERC20(_currency);
        uint256 fistBalance = FIST.balanceOf(address(_tokenDistributor));
        uint256 fundAmount = fistBalance * (_buyFundFee + _sellFundFee) * 2 / swapFee;
        if (_currency == _swapRouter.WETH()) {
            FIST.transferFrom(address(_tokenDistributor), address(this), fundAmount);
            IWETH(_currency).withdraw(fundAmount);
            transferToAddressETH(payable(fundAddress),fundAmount);
        }else{
            FIST.transferFrom(address(_tokenDistributor), fundAddress, fundAmount);
        }
        FIST.transferFrom(address(_tokenDistributor), address(this), fistBalance - fundAmount);
        
        if (lpAmount > 0) {
            uint256 lpFist = fistBalance * lpFee / swapFee;
            if (lpFist > 0) {
                try _swapRouter.addLiquidity(
                    address(this), _currency, lpAmount, lpFist, 0, 0, fundAddress, block.timestamp
                ) {} catch { emit Failed_addLiquidity(); }
            }
        }
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

    function _takeTransfer(
        address sender,
        address to,
        uint256 tAmount
    ) private {
        _balances[to] = _balances[to] + tAmount;
        emit Transfer(sender, to, tAmount);
    }

    function setFundAddress(address addr) external onlyOwner {
        fundAddress = addr;
        _isExcludeFromFee[addr] = true;
    }

    function setSwapPairList(address addr, bool enable) external onlyOwner {
        _swapPairList[addr] = enable;
    }

    function claimBalance() external {
        payable(fundAddress).transfer(address(this).balance);
    }

    function claimToken(address token, uint256 amount) external {
        require(fundAddress == address(msg.sender),"Cant Claim");
        IERC20(token).transfer(fundAddress, amount);
    }

    function multiWLs(address[] calldata addresses, bool value) public onlyOwner{
        require(addresses.length < 201);
        for (uint256 i; i < addresses.length; ++i) {
            _isExcludeFromFee[addresses[i]] = value;
        }
    }

    function setWLs(address addr, bool enable) external onlyOwner {
        _isExcludeFromFee[addr] = enable;
    }

    receive() external payable {}
}

contract Token is AbsToken {
    constructor() AbsToken(
        address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D),
        "OrdinalPUNKDOGE",
        "OPDOGE",
        9,
        2100000000000000,
        address(0x3013222347a7315e3cf5746fab942704874A5c95)
    ){
    }
}

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":[],"name":"Failed_addLiquidity","type":"event"},{"anonymous":false,"inputs":[],"name":"Failed_swapExactTokensForTokensSupportingFeeOnTransferTokens","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":"_buyFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLPFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_currency","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mainPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLPFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_swapPairList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapRouter","outputs":[{"internalType":"contract ISwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tokenDistributor","outputs":[{"internalType":"contract TokenDistributor","name":"","type":"address"}],"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":"claimBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claimToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"multiWLs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setFundAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"enable","type":"bool"}],"name":"setSwapPairList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"enable","type":"bool"}],"name":"setWLs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526064600d556032600e556064600f5560326010553480156200002557600080fd5b50604080518082018252600f81526e4f7264696e616c50554e4b444f474560881b6020808301919091528251808401845260068152654f50444f474560d01b91810191909152600080546001600160a01b0319163290811782559351737a250d5630b4cf539739df2c5dacb4c659f2488d94600992660775f05a07400092733013222347a7315e3cf5746fab942704874a5c95929182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506004620000f08682620005a3565b506005620000ff8582620005a3565b506006805460ff191660ff8516179055604080516315ab88c960e31b8152905187916000916001600160a01b0384169163ad5c46489160048083019260209291908290030181865afa1580156200015a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018091906200066f565b60405163095ea7b360e01b81526001600160a01b03848116600483015260001960248301529192509082169063095ea7b3906044016020604051808303816000875af1158015620001d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fb9190620006a1565b50600a80546001600160a01b038084166001600160a01b03199283161790925560098054928516929091168217905530600090815260026020908152604080832084845282528083206000199055805163c45a015560e01b8152905192939263c45a0155926004808401939192918290030181865afa15801562000283573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a991906200066f565b6040516364e329cb60e11b81523060048201526001600160a01b03848116602483015291925060009183169063c9c65396906044016020604051808303816000875af1158015620002fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032491906200066f565b601180546001600160a01b0319166001600160a01b0383169081179091556000908152600b60205260408120805460ff191660011790559091506200036b88600a620007da565b620003779088620007eb565b6008819055732670ddf60545e437a66dadff26c8c213e2ec85df6000818152600160209081527fd0f56a4b2078545ccfb2638a6f2da73f7213e24077e295fdeb5c7c37f39a50ef849055604051848152939450919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b0319166001600160a01b0389811691909117825530600090815260076020526040808220805460ff1990811660019081179092558b851684528284208054821683179055338452828420805482168317905586851684528284208054821683179055945490931682529081902080549093169091179091555185906200048a90620004f0565b6001600160a01b039091168152602001604051809103906000f080158015620004b7573d6000803e3d6000fd5b50600c60016101000a8154816001600160a01b0302191690836001600160a01b0316021790555050505050505050505050505062000805565b61014780620020d383390190565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200052957607f821691505b6020821081036200054a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200059e57600081815260208120601f850160051c81016020861015620005795750805b601f850160051c820191505b818110156200059a5782815560010162000585565b5050505b505050565b81516001600160401b03811115620005bf57620005bf620004fe565b620005d781620005d0845462000514565b8462000550565b602080601f8311600181146200060f5760008415620005f65750858301515b600019600386901b1c1916600185901b1785556200059a565b600085815260208120601f198616915b8281101562000640578886015182559484019460019091019084016200061f565b50858210156200065f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200068257600080fd5b81516001600160a01b03811681146200069a57600080fd5b9392505050565b600060208284031215620006b457600080fd5b815180151581146200069a57600080fd5b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200071c578160001904821115620007005762000700620006c5565b808516156200070e57918102915b93841c9390800290620006e0565b509250929050565b6000826200073557506001620007d4565b816200074457506000620007d4565b81600181146200075d5760028114620007685762000788565b6001915050620007d4565b60ff8411156200077c576200077c620006c5565b50506001821b620007d4565b5060208310610133831016604e8410600b8410161715620007ad575081810a620007d4565b620007b98383620006db565b8060001904821115620007d057620007d0620006c5565b0290505b92915050565b60006200069a60ff84168362000724565b8082028115828204841417620007d457620007d4620006c5565b6118be80620008156000396000f3fe6080604052600436106101c65760003560e01c8063715018a6116100f7578063a9059cbb11610095578063ce0192f911610064578063ce0192f914610522578063dd62ed3e14610538578063e82bef291461057e578063f2fde38b1461059e57600080fd5b8063a9059cbb146104b6578063adc7955d146104d6578063b9fbc49d146104ec578063c4a6358e1461050257600080fd5b80638718b24f116100d15780638718b24f1461043e5780638da5cb5b1461046357806395d89b4114610481578063a84248611461049657600080fd5b8063715018a6146103e957806373042738146103fe57806385dc30041461041e57600080fd5b8063313ce567116101645780633c11100d1161013e5780633c11100d146103435780634188bf5a146103735780634325dea01461039357806370a08231146103b357600080fd5b8063313ce567146102db57806336b2e027146102fd5780633bfe62ca1461032d57600080fd5b806318160ddd116101a057806318160ddd1461024f578063206c17bb1461026e57806323b872dd146102a657806330509bca146102c657600080fd5b806306fdde03146101d2578063095ea7b3146101fd5780631698755f1461022d57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76105be565b6040516101f491906114a9565b60405180910390f35b34801561020957600080fd5b5061021d61021836600461150c565b610650565b60405190151581526020016101f4565b34801561023957600080fd5b5061024d61024836600461150c565b610667565b005b34801561025b57600080fd5b506008545b6040519081526020016101f4565b34801561027a57600080fd5b5060095461028e906001600160a01b031681565b6040516001600160a01b0390911681526020016101f4565b3480156102b257600080fd5b5061021d6102c1366004611538565b61072f565b3480156102d257600080fd5b5061024d6107c6565b3480156102e757600080fd5b5060065460405160ff90911681526020016101f4565b34801561030957600080fd5b5061021d610318366004611579565b60076020526000908152604090205460ff1681565b34801561033957600080fd5b50610260600f5481565b34801561034f57600080fd5b5061021d61035e366004611579565b600b6020526000908152604090205460ff1681565b34801561037f57600080fd5b5060115461028e906001600160a01b031681565b34801561039f57600080fd5b50600a5461028e906001600160a01b031681565b3480156103bf57600080fd5b506102606103ce366004611579565b6001600160a01b031660009081526001602052604090205490565b3480156103f557600080fd5b5061024d610802565b34801561040a57600080fd5b5061024d6104193660046115ab565b61087c565b34801561042a57600080fd5b5061024d610439366004611579565b610928565b34801561044a57600080fd5b50600c5461028e9061010090046001600160a01b031681565b34801561046f57600080fd5b506000546001600160a01b031661028e565b34801561048d57600080fd5b506101e761098c565b3480156104a257600080fd5b5061024d6104b1366004611631565b61099b565b3480156104c257600080fd5b5061021d6104d136600461150c565b6109f0565b3480156104e257600080fd5b5061026060105481565b3480156104f857600080fd5b50610260600e5481565b34801561050e57600080fd5b5061024d61051d366004611631565b6109fd565b34801561052e57600080fd5b50610260600d5481565b34801561054457600080fd5b5061026061055336600461166a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561058a57600080fd5b5060035461028e906001600160a01b031681565b3480156105aa57600080fd5b5061024d6105b9366004611579565b610a52565b6060600480546105cd90611698565b80601f01602080910402602001604051908101604052809291908181526020018280546105f990611698565b80156106465780601f1061061b57610100808354040283529160200191610646565b820191906000526020600020905b81548152906001019060200180831161062957829003601f168201915b5050505050905090565b600061065d338484610b18565b5060015b92915050565b6003546001600160a01b031633146106b35760405162461bcd60e51b815260206004820152600a60248201526943616e7420436c61696d60b01b60448201526064015b60405180910390fd5b60035460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af1158015610706573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072a91906116d2565b505050565b600061073c848484610b7a565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146107bc576001600160a01b0384166000908152600260209081526040808320338452909152902054610797908390611705565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156107ff573d6000803e3d6000fd5b50565b6000546001600160a01b0316331461082c5760405162461bcd60e51b81526004016106aa90611718565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146108a65760405162461bcd60e51b81526004016106aa90611718565b60c982106108b357600080fd5b60005b828110156109225781600760008686858181106108d5576108d5611738565b90506020020160208101906108ea9190611579565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561091b8161174e565b90506108b6565b50505050565b6000546001600160a01b031633146109525760405162461bcd60e51b81526004016106aa90611718565b600380546001600160a01b039092166001600160a01b0319909216821790556000908152600760205260409020805460ff19166001179055565b6060600580546105cd90611698565b6000546001600160a01b031633146109c55760405162461bcd60e51b81526004016106aa90611718565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b600061065d338484610b7a565b6000546001600160a01b03163314610a275760405162461bcd60e51b81526004016106aa90611718565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610a7c5760405162461bcd60e51b81526004016106aa90611718565b6001600160a01b038116610abd5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106aa565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610bd65760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016106aa565b6001600160a01b0384166000908152600b6020526040812054819060ff1680610c1757506001600160a01b0385166000908152600b602052604090205460ff165b15610d31576001600160a01b03861660009081526007602052604090205460ff16158015610c5e57506001600160a01b03851660009081526007602052604090205460ff16155b15610d0c576001600160a01b0385166000908152600b602052604090205460ff1615610d0757600c5460ff16610d0757306000908152600160205260409020548015610d05576000601054600f54600e54600d54610cbc9190611767565b610cc69190611767565b610cd09190611767565b90506000611388610ce1838961177a565b610ceb9190611791565b905082811115610cf85750815b610d028183610d46565b50505b505b600191505b6001600160a01b0385166000908152600b602052604090205460ff1615610d31575060015b610d3e8686868585611334565b505050505050565b600c805460ff19166001179055801561132657610d638180611767565b90506000600e54601054610d779190611767565b9050600082610d86838661177a565b610d909190611791565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610dca57610dca611738565b6001600160a01b039283166020918202929092010152600a54825191169082906001908110610dfb57610dfb611738565b6001600160a01b03928316602091820292909201015260095416635c11d795610e248488611705565b600c5460405160e084901b6001600160e01b0319168152610e5e9291600091879161010090046001600160a01b03169042906004016117b3565b600060405180830381600087803b158015610e7857600080fd5b505af1925050508015610e89575060015b610eb7576040517ffa4626fc78df02cb8fdea85a8af60ad29e2c95f22e2a91c79d99631c288a8b6c90600090a15b610ec18385611705565b600a54600c546040516370a0823160e01b81526001600160a01b0361010090920482166004820152929650169060009082906370a0823190602401602060405180830381865afa158015610f19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3d9190611824565b9050600086600f54600d54610f529190611767565b610f5c908461177a565b610f6790600261177a565b610f719190611791565b9050600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fea919061183d565b600a546001600160a01b039182169116036110fc57600c546040516323b872dd60e01b81526101009091046001600160a01b039081166004830152306024830152604482018390528416906323b872dd906064016020604051808303816000875af115801561105d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108191906116d2565b50600a54604051632e1a7d4d60e01b8152600481018390526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b1580156110c857600080fd5b505af11580156110dc573d6000803e3d6000fd5b50506003546110f792506001600160a01b03169050826113fb565b611185565b600c546003546040516323b872dd60e01b81526101009092046001600160a01b0390811660048401529081166024830152604482018390528416906323b872dd906064016020604051808303816000875af115801561115f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118391906116d2565b505b600c546001600160a01b03808516916323b872dd9161010090910416306111ac8587611705565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af1158015611200573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122491906116d2565b50841561131f57600087611238888561177a565b6112429190611791565b9050801561131d57600954600a5460035460405162e8e33760e81b81523060048201526001600160a01b039283166024820152604481018a90526064810185905260006084820181905260a482015290821660c48201524260e482015291169063e8e3370090610104016060604051808303816000875af19250505080156112e7575060408051601f3d908101601f191682019092526112e49181019061185a565b60015b611319576040517f6c331c730efd7c7d973857825b7c7b2087a7dad2124068053cb23fb17801604990600090a161131d565b5050505b505b5050505050505b5050600c805460ff19169055565b6001600160a01b038516600090815260016020526040902054611358908490611705565b6001600160a01b03861660009081526001602052604081209190915582156113e7576000821561139957601054600f546113929190611767565b90506113ac565b600e54600d546113a99190611767565b90505b60006127106113bb838861177a565b6113c59190611791565b905080156113e4576113d78184611767565b92506113e4883083611431565b50505b610d3e86866113f68488611705565b611431565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561072a573d6000803e3d6000fd5b6001600160a01b038216600090815260016020526040902054611455908290611767565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b6d9085815260200190565b600060208083528351808285015260005b818110156114d6578581018301518582016040015282016114ba565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107ff57600080fd5b6000806040838503121561151f57600080fd5b823561152a816114f7565b946020939093013593505050565b60008060006060848603121561154d57600080fd5b8335611558816114f7565b92506020840135611568816114f7565b929592945050506040919091013590565b60006020828403121561158b57600080fd5b8135611596816114f7565b9392505050565b80151581146107ff57600080fd5b6000806000604084860312156115c057600080fd5b833567ffffffffffffffff808211156115d857600080fd5b818601915086601f8301126115ec57600080fd5b8135818111156115fb57600080fd5b8760208260051b850101111561161057600080fd5b602092830195509350508401356116268161159d565b809150509250925092565b6000806040838503121561164457600080fd5b823561164f816114f7565b9150602083013561165f8161159d565b809150509250929050565b6000806040838503121561167d57600080fd5b8235611688816114f7565b9150602083013561165f816114f7565b600181811c908216806116ac57607f821691505b6020821081036116cc57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156116e457600080fd5b81516115968161159d565b634e487b7160e01b600052601160045260246000fd5b81810381811115610661576106616116ef565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611760576117606116ef565b5060010190565b80820180821115610661576106616116ef565b8082028115828204841417610661576106616116ef565b6000826117ae57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118035784516001600160a01b0316835293830193918301916001016117de565b50506001600160a01b03969096166060850152505050608001529392505050565b60006020828403121561183657600080fd5b5051919050565b60006020828403121561184f57600080fd5b8151611596816114f7565b60008060006060848603121561186f57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220e0e0ba3e6b655d7ceb5d13692aa5cf18d9d116d0f536d30f2cb6657e74ce2c6a64736f6c63430008110033608060405234801561001057600080fd5b5060405161014738038061014783398101604081905261002f916100a8565b60405163095ea7b360e01b815233600482015260001960248201526001600160a01b0382169063095ea7b3906044016020604051808303816000875af115801561007d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100a191906100d8565b50506100fa565b6000602082840312156100ba57600080fd5b81516001600160a01b03811681146100d157600080fd5b9392505050565b6000602082840312156100ea57600080fd5b815180151581146100d157600080fd5b603f806101086000396000f3fe6080604052600080fdfea2646970667358221220aae067fa6c5d36386076e7aea3d74ce5bd6071b0ce8f42b987704df1cdbf765764736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101c65760003560e01c8063715018a6116100f7578063a9059cbb11610095578063ce0192f911610064578063ce0192f914610522578063dd62ed3e14610538578063e82bef291461057e578063f2fde38b1461059e57600080fd5b8063a9059cbb146104b6578063adc7955d146104d6578063b9fbc49d146104ec578063c4a6358e1461050257600080fd5b80638718b24f116100d15780638718b24f1461043e5780638da5cb5b1461046357806395d89b4114610481578063a84248611461049657600080fd5b8063715018a6146103e957806373042738146103fe57806385dc30041461041e57600080fd5b8063313ce567116101645780633c11100d1161013e5780633c11100d146103435780634188bf5a146103735780634325dea01461039357806370a08231146103b357600080fd5b8063313ce567146102db57806336b2e027146102fd5780633bfe62ca1461032d57600080fd5b806318160ddd116101a057806318160ddd1461024f578063206c17bb1461026e57806323b872dd146102a657806330509bca146102c657600080fd5b806306fdde03146101d2578063095ea7b3146101fd5780631698755f1461022d57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76105be565b6040516101f491906114a9565b60405180910390f35b34801561020957600080fd5b5061021d61021836600461150c565b610650565b60405190151581526020016101f4565b34801561023957600080fd5b5061024d61024836600461150c565b610667565b005b34801561025b57600080fd5b506008545b6040519081526020016101f4565b34801561027a57600080fd5b5060095461028e906001600160a01b031681565b6040516001600160a01b0390911681526020016101f4565b3480156102b257600080fd5b5061021d6102c1366004611538565b61072f565b3480156102d257600080fd5b5061024d6107c6565b3480156102e757600080fd5b5060065460405160ff90911681526020016101f4565b34801561030957600080fd5b5061021d610318366004611579565b60076020526000908152604090205460ff1681565b34801561033957600080fd5b50610260600f5481565b34801561034f57600080fd5b5061021d61035e366004611579565b600b6020526000908152604090205460ff1681565b34801561037f57600080fd5b5060115461028e906001600160a01b031681565b34801561039f57600080fd5b50600a5461028e906001600160a01b031681565b3480156103bf57600080fd5b506102606103ce366004611579565b6001600160a01b031660009081526001602052604090205490565b3480156103f557600080fd5b5061024d610802565b34801561040a57600080fd5b5061024d6104193660046115ab565b61087c565b34801561042a57600080fd5b5061024d610439366004611579565b610928565b34801561044a57600080fd5b50600c5461028e9061010090046001600160a01b031681565b34801561046f57600080fd5b506000546001600160a01b031661028e565b34801561048d57600080fd5b506101e761098c565b3480156104a257600080fd5b5061024d6104b1366004611631565b61099b565b3480156104c257600080fd5b5061021d6104d136600461150c565b6109f0565b3480156104e257600080fd5b5061026060105481565b3480156104f857600080fd5b50610260600e5481565b34801561050e57600080fd5b5061024d61051d366004611631565b6109fd565b34801561052e57600080fd5b50610260600d5481565b34801561054457600080fd5b5061026061055336600461166a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561058a57600080fd5b5060035461028e906001600160a01b031681565b3480156105aa57600080fd5b5061024d6105b9366004611579565b610a52565b6060600480546105cd90611698565b80601f01602080910402602001604051908101604052809291908181526020018280546105f990611698565b80156106465780601f1061061b57610100808354040283529160200191610646565b820191906000526020600020905b81548152906001019060200180831161062957829003601f168201915b5050505050905090565b600061065d338484610b18565b5060015b92915050565b6003546001600160a01b031633146106b35760405162461bcd60e51b815260206004820152600a60248201526943616e7420436c61696d60b01b60448201526064015b60405180910390fd5b60035460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af1158015610706573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072a91906116d2565b505050565b600061073c848484610b7a565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146107bc576001600160a01b0384166000908152600260209081526040808320338452909152902054610797908390611705565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156107ff573d6000803e3d6000fd5b50565b6000546001600160a01b0316331461082c5760405162461bcd60e51b81526004016106aa90611718565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146108a65760405162461bcd60e51b81526004016106aa90611718565b60c982106108b357600080fd5b60005b828110156109225781600760008686858181106108d5576108d5611738565b90506020020160208101906108ea9190611579565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561091b8161174e565b90506108b6565b50505050565b6000546001600160a01b031633146109525760405162461bcd60e51b81526004016106aa90611718565b600380546001600160a01b039092166001600160a01b0319909216821790556000908152600760205260409020805460ff19166001179055565b6060600580546105cd90611698565b6000546001600160a01b031633146109c55760405162461bcd60e51b81526004016106aa90611718565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b600061065d338484610b7a565b6000546001600160a01b03163314610a275760405162461bcd60e51b81526004016106aa90611718565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610a7c5760405162461bcd60e51b81526004016106aa90611718565b6001600160a01b038116610abd5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106aa565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610bd65760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016106aa565b6001600160a01b0384166000908152600b6020526040812054819060ff1680610c1757506001600160a01b0385166000908152600b602052604090205460ff165b15610d31576001600160a01b03861660009081526007602052604090205460ff16158015610c5e57506001600160a01b03851660009081526007602052604090205460ff16155b15610d0c576001600160a01b0385166000908152600b602052604090205460ff1615610d0757600c5460ff16610d0757306000908152600160205260409020548015610d05576000601054600f54600e54600d54610cbc9190611767565b610cc69190611767565b610cd09190611767565b90506000611388610ce1838961177a565b610ceb9190611791565b905082811115610cf85750815b610d028183610d46565b50505b505b600191505b6001600160a01b0385166000908152600b602052604090205460ff1615610d31575060015b610d3e8686868585611334565b505050505050565b600c805460ff19166001179055801561132657610d638180611767565b90506000600e54601054610d779190611767565b9050600082610d86838661177a565b610d909190611791565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610dca57610dca611738565b6001600160a01b039283166020918202929092010152600a54825191169082906001908110610dfb57610dfb611738565b6001600160a01b03928316602091820292909201015260095416635c11d795610e248488611705565b600c5460405160e084901b6001600160e01b0319168152610e5e9291600091879161010090046001600160a01b03169042906004016117b3565b600060405180830381600087803b158015610e7857600080fd5b505af1925050508015610e89575060015b610eb7576040517ffa4626fc78df02cb8fdea85a8af60ad29e2c95f22e2a91c79d99631c288a8b6c90600090a15b610ec18385611705565b600a54600c546040516370a0823160e01b81526001600160a01b0361010090920482166004820152929650169060009082906370a0823190602401602060405180830381865afa158015610f19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3d9190611824565b9050600086600f54600d54610f529190611767565b610f5c908461177a565b610f6790600261177a565b610f719190611791565b9050600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fea919061183d565b600a546001600160a01b039182169116036110fc57600c546040516323b872dd60e01b81526101009091046001600160a01b039081166004830152306024830152604482018390528416906323b872dd906064016020604051808303816000875af115801561105d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108191906116d2565b50600a54604051632e1a7d4d60e01b8152600481018390526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b1580156110c857600080fd5b505af11580156110dc573d6000803e3d6000fd5b50506003546110f792506001600160a01b03169050826113fb565b611185565b600c546003546040516323b872dd60e01b81526101009092046001600160a01b0390811660048401529081166024830152604482018390528416906323b872dd906064016020604051808303816000875af115801561115f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118391906116d2565b505b600c546001600160a01b03808516916323b872dd9161010090910416306111ac8587611705565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af1158015611200573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122491906116d2565b50841561131f57600087611238888561177a565b6112429190611791565b9050801561131d57600954600a5460035460405162e8e33760e81b81523060048201526001600160a01b039283166024820152604481018a90526064810185905260006084820181905260a482015290821660c48201524260e482015291169063e8e3370090610104016060604051808303816000875af19250505080156112e7575060408051601f3d908101601f191682019092526112e49181019061185a565b60015b611319576040517f6c331c730efd7c7d973857825b7c7b2087a7dad2124068053cb23fb17801604990600090a161131d565b5050505b505b5050505050505b5050600c805460ff19169055565b6001600160a01b038516600090815260016020526040902054611358908490611705565b6001600160a01b03861660009081526001602052604081209190915582156113e7576000821561139957601054600f546113929190611767565b90506113ac565b600e54600d546113a99190611767565b90505b60006127106113bb838861177a565b6113c59190611791565b905080156113e4576113d78184611767565b92506113e4883083611431565b50505b610d3e86866113f68488611705565b611431565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561072a573d6000803e3d6000fd5b6001600160a01b038216600090815260016020526040902054611455908290611767565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b6d9085815260200190565b600060208083528351808285015260005b818110156114d6578581018301518582016040015282016114ba565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107ff57600080fd5b6000806040838503121561151f57600080fd5b823561152a816114f7565b946020939093013593505050565b60008060006060848603121561154d57600080fd5b8335611558816114f7565b92506020840135611568816114f7565b929592945050506040919091013590565b60006020828403121561158b57600080fd5b8135611596816114f7565b9392505050565b80151581146107ff57600080fd5b6000806000604084860312156115c057600080fd5b833567ffffffffffffffff808211156115d857600080fd5b818601915086601f8301126115ec57600080fd5b8135818111156115fb57600080fd5b8760208260051b850101111561161057600080fd5b602092830195509350508401356116268161159d565b809150509250925092565b6000806040838503121561164457600080fd5b823561164f816114f7565b9150602083013561165f8161159d565b809150509250929050565b6000806040838503121561167d57600080fd5b8235611688816114f7565b9150602083013561165f816114f7565b600181811c908216806116ac57607f821691505b6020821081036116cc57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156116e457600080fd5b81516115968161159d565b634e487b7160e01b600052601160045260246000fd5b81810381811115610661576106616116ef565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611760576117606116ef565b5060010190565b80820180821115610661576106616116ef565b8082028115828204841417610661576106616116ef565b6000826117ae57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118035784516001600160a01b0316835293830193918301916001016117de565b50506001600160a01b03969096166060850152505050608001529392505050565b60006020828403121561183657600080fd5b5051919050565b60006020828403121561184f57600080fd5b8151611596816114f7565b60008060006060848603121561186f57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220e0e0ba3e6b655d7ceb5d13692aa5cf18d9d116d0f536d30f2cb6657e74ce2c6a64736f6c63430008110033

Deployed Bytecode Sourcemap

12636:284:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5743:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6501:159;;;;;;;;;;-1:-1:-1;6501:159:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6501:159:0;1023:187:1;12029:189:0;;;;;;;;;;-1:-1:-1;12029:189:0;;;;;:::i;:::-;;:::i;:::-;;5947:95;;;;;;;;;;-1:-1:-1;6027:7:0;;5947:95;;;1361:25:1;;;1349:2;1334:18;5947:95:0;1215:177:1;3686:30:0;;;;;;;;;;-1:-1:-1;3686:30:0;;;;-1:-1:-1;;;;;3686:30:0;;;;;;-1:-1:-1;;;;;1580:32:1;;;1562:51;;1550:2;1535:18;3686:30:0;1397:222:1;6668:336:0;;;;;;;;;;-1:-1:-1;6668:336:0;;;;;:::i;:::-;;:::i;11917:104::-;;;;;;;;;;;;;:::i;5845:94::-;;;;;;;;;;-1:-1:-1;5922:9:0;;5845:94;;5922:9;;;;2227:36:1;;2215:2;2200:18;5845:94:0;2085:184:1;3592:49:0;;;;;;;;;;-1:-1:-1;3592:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4008:33;;;;;;;;;;;;;;;;3754:45;;;;;;;;;;-1:-1:-1;3754:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4087:24;;;;;;;;;;-1:-1:-1;4087:24:0;;;;-1:-1:-1;;;;;4087:24:0;;;3723;;;;;;;;;;-1:-1:-1;3723:24:0;;;;-1:-1:-1;;;;;3723:24:0;;;6050:119;;;;;;;;;;-1:-1:-1;6050:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6143:18:0;6116:7;6143:18;;;:9;:18;;;;;;;6050:119;2762:158;;;;;;;;;;;;;:::i;12226:245::-;;;;;;;;;;-1:-1:-1;12226:245:0;;;;;:::i;:::-;;:::i;11648:135::-;;;;;;;;;;-1:-1:-1;11648:135:0;;;;;:::i;:::-;;:::i;3883:41::-;;;;;;;;;;-1:-1:-1;3883:41:0;;;;;;;-1:-1:-1;;;;;3883:41:0;;;2576:79;;;;;;;;;;-1:-1:-1;2614:7:0;2641:6;-1:-1:-1;;;;;2641:6:0;2576:79;;5637:98;;;;;;;;;;;;;:::i;11791:118::-;;;;;;;;;;-1:-1:-1;11791:118:0;;;;;:::i;:::-;;:::i;6177:165::-;;;;;;;;;;-1:-1:-1;6177:165:0;;;;;:::i;:::-;;:::i;4048:30::-;;;;;;;;;;;;;;;;3972:29;;;;;;;;;;;;;;;;12479:113;;;;;;;;;;-1:-1:-1;12479:113:0;;;;;:::i;:::-;;:::i;3933:32::-;;;;;;;;;;;;;;;;6350:143;;;;;;;;;;-1:-1:-1;6350:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6458:18:0;;;6431:7;6458:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6350:143;3469:26;;;;;;;;;;-1:-1:-1;3469:26:0;;;;-1:-1:-1;;;;;3469:26:0;;;2928:214;;;;;;;;;;-1:-1:-1;2928:214:0;;;;;:::i;:::-;;:::i;5743:94::-;5791:13;5824:5;5817:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5743:94;:::o;6501:159::-;6576:4;6593:37;6602:10;6614:7;6623:6;6593:8;:37::i;:::-;-1:-1:-1;6648:4:0;6501:159;;;;;:::o;12029:189::-;12108:11;;-1:-1:-1;;;;;12108:11:0;12131:10;12108:34;12100:56;;;;-1:-1:-1;;;12100:56:0;;5211:2:1;12100:56:0;;;5193:21:1;5250:2;5230:18;;;5223:30;-1:-1:-1;;;5269:18:1;;;5262:40;5319:18;;12100:56:0;;;;;;;;;12190:11;;12167:43;;-1:-1:-1;;;12167:43:0;;-1:-1:-1;;;;;12190:11:0;;;12167:43;;;5522:51:1;5589:18;;;5582:34;;;12167:22:0;;;;;;5495:18:1;;12167:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12029:189;;:::o;6668:336::-;6766:4;6783:36;6793:6;6801:9;6812:6;6783:9;:36::i;:::-;-1:-1:-1;;;;;6834:19:0;;3874:1;6834:19;;;:11;:19;;;;;;;;6854:10;6834:31;;;;;;;;-1:-1:-1;;6834:38:0;6830:145;;-1:-1:-1;;;;;6923:19:0;;;;;;:11;:19;;;;;;;;6943:10;6923:31;;;;;;;;:40;;6957:6;;6923:40;:::i;:::-;-1:-1:-1;;;;;6889:19:0;;;;;;:11;:19;;;;;;;;6909:10;6889:31;;;;;;;:74;6830:145;-1:-1:-1;6992:4:0;6668:336;;;;;:::o;11917:104::-;11969:11;;11961:52;;-1:-1:-1;;;;;11969:11:0;;;;11991:21;11961:52;;;;;11969:11;11961:52;11969:11;11961:52;11991:21;11969:11;11961:52;;;;;;;;;;;;;;;;;;;;;11917:104::o;2762:158::-;2703:6;;-1:-1:-1;;;;;2703:6:0;2713:10;2703:20;2695:39;;;;-1:-1:-1;;;2695:39:0;;;;;;;:::i;:::-;2853:6:::1;::::0;;2832:45:::1;::::0;2869:6:::1;::::0;-1:-1:-1;;;;;2853:6:0;;::::1;::::0;2832:45:::1;::::0;::::1;2888:6;:24:::0;;-1:-1:-1;;;;;;2888:24:0::1;2905:6;2888:24;::::0;;2762:158::o;12226:245::-;2703:6;;-1:-1:-1;;;;;2703:6:0;2713:10;2703:20;2695:39;;;;-1:-1:-1;;;2695:39:0;;;;;;;:::i;:::-;12340:3:::1;12321:22:::0;::::1;12313:31;;;::::0;::::1;;12360:9;12355:109;12371:20:::0;;::::1;12355:109;;;12447:5;12413:17;:31;12431:9;;12441:1;12431:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12413:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;12413:31:0;:39;;-1:-1:-1;;12413:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12393:3:::1;::::0;::::1;:::i;:::-;;;12355:109;;;;12226:245:::0;;;:::o;11648:135::-;2703:6;;-1:-1:-1;;;;;2703:6:0;2713:10;2703:20;2695:39;;;;-1:-1:-1;;;2695:39:0;;;;;;;:::i;:::-;11716:11:::1;:18:::0;;-1:-1:-1;;;;;11716:18:0;;::::1;-1:-1:-1::0;;;;;;11716:18:0;;::::1;::::0;::::1;::::0;;:11:::1;11745:23:::0;;;:17:::1;:23;::::0;;;;:30;;-1:-1:-1;;11745:30:0::1;11716:18:::0;11745:30:::1;::::0;;11648:135::o;5637:98::-;5687:13;5720:7;5713:14;;;;;:::i;11791:118::-;2703:6;;-1:-1:-1;;;;;2703:6:0;2713:10;2703:20;2695:39;;;;-1:-1:-1;;;2695:39:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11873:19:0;;;::::1;;::::0;;;:13:::1;:19;::::0;;;;:28;;-1:-1:-1;;11873:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11791:118::o;6177:165::-;6255:4;6272:40;6282:10;6294:9;6305:6;6272:9;:40::i;12479:113::-;2703:6;;-1:-1:-1;;;;;2703:6:0;2713:10;2703:20;2695:39;;;;-1:-1:-1;;;2695:39:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12552:23:0;;;::::1;;::::0;;;:17:::1;:23;::::0;;;;:32;;-1:-1:-1;;12552:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12479:113::o;2928:214::-;2703:6;;-1:-1:-1;;;;;2703:6:0;2713:10;2703:20;2695:39;;;;-1:-1:-1;;;2695:39:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3017:22:0;::::1;3009:43;;;::::0;-1:-1:-1;;;3009:43:0;;6950:2:1;3009:43:0::1;::::0;::::1;6932:21:1::0;6989:1;6969:18;;;6962:29;-1:-1:-1;;;7007:18:1;;;7000:38;7055:18;;3009:43:0::1;6748:331:1::0;3009:43:0::1;3089:6;::::0;;3068:38:::1;::::0;-1:-1:-1;;;;;3068:38:0;;::::1;::::0;3089:6;::::1;::::0;3068:38:::1;::::0;::::1;3117:6;:17:::0;;-1:-1:-1;;;;;;3117:17:0::1;-1:-1:-1::0;;;;;3117:17:0;;;::::1;::::0;;;::::1;::::0;;2928:214::o;7012:177::-;-1:-1:-1;;;;;7097:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7149:32;;1361:25:1;;;7149:32:0;;1334:18:1;7149:32:0;;;;;;;;7012:177;;;:::o;7199:1335::-;-1:-1:-1;;;;;6143:18:0;;7313:15;6143:18;;;:9;:18;;;;;;7365:17;;;;7357:46;;;;-1:-1:-1;;;7357:46:0;;7286:2:1;7357:46:0;;;7268:21:1;7325:2;7305:18;;;7298:30;-1:-1:-1;;;7344:18:1;;;7337:46;7400:18;;7357:46:0;7084:340:1;7357:46:0;-1:-1:-1;;;;;7475:19:0;;7416:12;7475:19;;;:13;:19;;;;;;7416:12;;7475:19;;;:40;;-1:-1:-1;;;;;;7498:17:0;;;;;;:13;:17;;;;;;;;7475:40;7471:996;;;-1:-1:-1;;;;;7537:23:0;;;;;;:17;:23;;;;;;;;7536:24;:50;;;;-1:-1:-1;;;;;;7565:21:0;;;;;;:17;:21;;;;;;;;7564:22;7536:50;7532:839;;;-1:-1:-1;;;;;7611:17:0;;;;;;:13;:17;;;;;;;;7607:716;;;7658:6;;;;7653:651;;7742:4;7693:28;6143:18;;;:9;:18;;;;;;7779:24;;7775:506;;7836:15;7895:10;;7880:12;;7868:9;;7854:11;;:23;;;;:::i;:::-;:38;;;;:::i;:::-;:51;;;;:::i;:::-;7836:69;-1:-1:-1;7936:27:0;7985:4;7966:16;7836:69;7966:6;:16;:::i;:::-;:23;;;;:::i;:::-;7936:53;;8046:20;8024:19;:42;8020:157;;;-1:-1:-1;8125:20:0;8020:157;8207:46;8224:19;8245:7;8207:16;:46::i;:::-;7805:476;;7775:506;7666:638;7653:651;8351:4;8341:14;;7532:839;-1:-1:-1;;;;;8389:17:0;;;;;;:13;:17;;;;;;;;8385:71;;;-1:-1:-1;8436:4:0;8385:71;8477:49;8492:4;8498:2;8502:6;8510:7;8519:6;8477:14;:49::i;:::-;7302:1232;;;7199:1335;;;:::o;9525:1760::-;4152:6;:13;;-1:-1:-1;;4152:13:0;4161:4;4152:13;;;9620:25;;9638:7:::1;9620:25;9655:18;9666:7:::0;;9655:18:::1;:::i;:::-;;;9684:13;9713:9;;9700:10;;:22;;;;:::i;:::-;9684:38:::0;-1:-1:-1;9733:16:0::1;9774:7:::0;9752:19:::1;9684:38:::0;9752:11;:19:::1;:::i;:::-;:29;;;;:::i;:::-;9818:16;::::0;;9832:1:::1;9818:16:::0;;;;;::::1;::::0;;9733:48;;-1:-1:-1;9794:21:0::1;::::0;9818:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9818:16:0::1;9794:40;;9863:4;9845;9850:1;9845:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9845:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;9889:9:::1;::::0;9879:7;;9889:9;::::1;::::0;9879:4;;9889:9;;9879:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;9879:19:0;;::::1;:7;::::0;;::::1;::::0;;;;;:19;9913:11:::1;::::0;::::1;:65;9993:22;10007:8:::0;9993:11;:22:::1;:::i;:::-;10073:17;::::0;9913:219:::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9913:219:0;;;::::1;::::0;;10030:1:::1;::::0;10046:4;;10073:17:::1;::::0;::::1;-1:-1:-1::0;;;;;10073:17:0::1;::::0;10106:15:::1;::::0;9913:219:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;9909:305;;10149:62;::::0;::::1;::::0;;;::::1;9909:305;10226:16;10237:5:::0;10226:16;::::1;:::i;:::-;10276:9;::::0;10342:17:::1;::::0;10319:42:::1;::::0;-1:-1:-1;;;10319:42:0;;-1:-1:-1;;;;;10276:9:0::1;10342:17:::0;;::::1;::::0;::::1;10319:42;::::0;::::1;1562:51:1::0;10226:16:0;;-1:-1:-1;10276:9:0::1;::::0;-1:-1:-1;;10276:9:0;;10319:14:::1;::::0;1535:18:1;;10319:42:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10297:64;;10372:18;10442:7;10422:12;;10408:11;;:26;;;;:::i;:::-;10393:42;::::0;:11;:42:::1;:::i;:::-;:46;::::0;10438:1:::1;10393:46;:::i;:::-;:56;;;;:::i;:::-;10372:77;;10477:11;;;;;;;;;-1:-1:-1::0;;;;;10477:11:0::1;-1:-1:-1::0;;;;;10477:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10464:9;::::0;-1:-1:-1;;;;;10464:31:0;;::::1;:9:::0;::::1;:31:::0;10460:357:::1;;10538:17;::::0;10512:72:::1;::::0;-1:-1:-1;;;10512:72:0;;10538:17:::1;::::0;;::::1;-1:-1:-1::0;;;;;10538:17:0;;::::1;10512:72;::::0;::::1;9756:34:1::0;10566:4:0::1;9806:18:1::0;;;9799:43;9858:18;;;9851:34;;;10512:17:0;::::1;::::0;::::1;::::0;9691:18:1;;10512:72:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10605:9:0::1;::::0;10599:37:::1;::::0;-1:-1:-1;;;10599:37:0;;::::1;::::0;::::1;1361:25:1::0;;;-1:-1:-1;;;;;10605:9:0;;::::1;::::0;10599:25:::1;::::0;1334:18:1;;10599:37:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10680:11:0::1;::::0;10651:53:::1;::::0;-1:-1:-1;;;;;;10680:11:0::1;::::0;-1:-1:-1;10693:10:0;10651:20:::1;:53::i;:::-;10460:357;;;10761:17;::::0;10781:11:::1;::::0;10735:70:::1;::::0;-1:-1:-1;;;10735:70:0;;10761:17:::1;::::0;;::::1;-1:-1:-1::0;;;;;10761:17:0;;::::1;10735:70;::::0;::::1;9756:34:1::0;10781:11:0;;::::1;9806:18:1::0;;;9799:43;9858:18;;;9851:34;;;10735:17:0;::::1;::::0;::::1;::::0;9691:18:1;;10735:70:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10460:357;10853:17;::::0;-1:-1:-1;;;;;10827:17:0;;::::1;::::0;::::1;::::0;10853::::1;::::0;;::::1;;10881:4;10888:24;10902:10:::0;10888:11;:24:::1;:::i;:::-;10827:86;::::0;-1:-1:-1;;;;;;10827:86:0::1;::::0;;;;;;-1:-1:-1;;;;;9774:15:1;;;10827:86:0::1;::::0;::::1;9756:34:1::0;9826:15;;;;9806:18;;;9799:43;9858:18;;;9851:34;9691:18;;10827:86:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10938:12:0;;10934:344:::1;;10967:14;11006:7:::0;10984:19:::1;10998:5:::0;10984:11;:19:::1;:::i;:::-;:29;;;;:::i;:::-;10967:46:::0;-1:-1:-1;11032:10:0;;11028:239:::1;;11067:11;::::0;11129:9:::1;::::0;11164:11:::1;::::0;11067:144:::1;::::0;-1:-1:-1;;;11067:144:0;;11122:4:::1;11067:144;::::0;::::1;10293:34:1::0;-1:-1:-1;;;;;11129:9:0;;::::1;10343:18:1::0;;;10336:43;10395:18;;;10388:34;;;10438:18;;;10431:34;;;11067:11:0::1;10481:19:1::0;;;10474:35;;;10525:19;;;10518:35;11164:11:0;;::::1;10569:19:1::0;;;10562:44;11177:15:0::1;10622:19:1::0;;;10615:35;11067:11:0;::::1;::::0;:24:::1;::::0;10227:19:1;;11067:144:0::1;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;11067:144:0::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;11067:144:0::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;11063:189;;11228:21;::::0;::::1;::::0;;;::::1;11063:189;;;;;;;10952:326;10934:344;9609:1676;;;;;;4176:1;-1:-1:-1::0;;4188:6:0;:14;;-1:-1:-1;;4188:14:0;;;9525:1760::o;8542:864::-;-1:-1:-1;;;;;8736:17:0;;;;;;:9;:17;;;;;;:27;;8756:7;;8736:27;:::i;:::-;-1:-1:-1;;;;;8716:17:0;;;;;;:9;:17;;;;;:47;;;;8804:529;;;;8832:15;8868:6;8864:156;;;8920:10;;8905:12;;:25;;;;:::i;:::-;8895:35;;8864:156;;;8995:9;;8981:11;;:23;;;;:::i;:::-;8971:33;;8864:156;9034:18;9075:5;9055:17;9065:7;9055;:17;:::i;:::-;:25;;;;:::i;:::-;9034:46;-1:-1:-1;9099:14:0;;9095:227;;9134:23;9147:10;9134:23;;:::i;:::-;;;9176:130;9212:6;9249:4;9277:10;9176:13;:130::i;:::-;8817:516;;8804:529;9345:53;9359:6;9367:9;9378:19;9388:9;9378:7;:19;:::i;:::-;9345:13;:53::i;11293:126::-;11385:26;;-1:-1:-1;;;;;11385:18:0;;;:26;;;;;11404:6;;11385:26;;;;11404:6;11385:18;:26;;;;;;;;;;;;;;;;;;;11427:213;-1:-1:-1;;;;;11564:13:0;;;;;;:9;:13;;;;;;:23;;11580:7;;11564:23;:::i;:::-;-1:-1:-1;;;;;11548:13:0;;;;;;;:9;:13;;;;;;;:39;;;;11603:29;;;;;;;;;;11624:7;1361:25:1;;1349:2;1334:18;;1215:177;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1624:456::-;1701:6;1709;1717;1770:2;1758:9;1749:7;1745:23;1741:32;1738:52;;;1786:1;1783;1776:12;1738:52;1825:9;1812:23;1844:31;1869:5;1844:31;:::i;:::-;1894:5;-1:-1:-1;1951:2:1;1936:18;;1923:32;1964:33;1923:32;1964:33;:::i;:::-;1624:456;;2016:7;;-1:-1:-1;;;2070:2:1;2055:18;;;;2042:32;;1624:456::o;2274:247::-;2333:6;2386:2;2374:9;2365:7;2361:23;2357:32;2354:52;;;2402:1;2399;2392:12;2354:52;2441:9;2428:23;2460:31;2485:5;2460:31;:::i;:::-;2510:5;2274:247;-1:-1:-1;;;2274:247:1:o;2734:118::-;2820:5;2813:13;2806:21;2799:5;2796:32;2786:60;;2842:1;2839;2832:12;2857:750;2949:6;2957;2965;3018:2;3006:9;2997:7;2993:23;2989:32;2986:52;;;3034:1;3031;3024:12;2986:52;3074:9;3061:23;3103:18;3144:2;3136:6;3133:14;3130:34;;;3160:1;3157;3150:12;3130:34;3198:6;3187:9;3183:22;3173:32;;3243:7;3236:4;3232:2;3228:13;3224:27;3214:55;;3265:1;3262;3255:12;3214:55;3305:2;3292:16;3331:2;3323:6;3320:14;3317:34;;;3347:1;3344;3337:12;3317:34;3402:7;3395:4;3385:6;3382:1;3378:14;3374:2;3370:23;3366:34;3363:47;3360:67;;;3423:1;3420;3413:12;3360:67;3454:4;3446:13;;;;-1:-1:-1;3478:6:1;-1:-1:-1;;3519:20:1;;3506:34;3549:28;3506:34;3549:28;:::i;:::-;3596:5;3586:15;;;2857:750;;;;;:::o;3844:382::-;3909:6;3917;3970:2;3958:9;3949:7;3945:23;3941:32;3938:52;;;3986:1;3983;3976:12;3938:52;4025:9;4012:23;4044:31;4069:5;4044:31;:::i;:::-;4094:5;-1:-1:-1;4151:2:1;4136:18;;4123:32;4164:30;4123:32;4164:30;:::i;:::-;4213:7;4203:17;;;3844:382;;;;;:::o;4231:388::-;4299:6;4307;4360:2;4348:9;4339:7;4335:23;4331:32;4328:52;;;4376:1;4373;4366:12;4328:52;4415:9;4402:23;4434:31;4459:5;4434:31;:::i;:::-;4484:5;-1:-1:-1;4541:2:1;4526:18;;4513:32;4554:33;4513:32;4554:33;:::i;4624:380::-;4703:1;4699:12;;;;4746;;;4767:61;;4821:4;4813:6;4809:17;4799:27;;4767:61;4874:2;4866:6;4863:14;4843:18;4840:38;4837:161;;4920:10;4915:3;4911:20;4908:1;4901:31;4955:4;4952:1;4945:15;4983:4;4980:1;4973:15;4837:161;;4624:380;;;:::o;5627:245::-;5694:6;5747:2;5735:9;5726:7;5722:23;5718:32;5715:52;;;5763:1;5760;5753:12;5715:52;5795:9;5789:16;5814:28;5836:5;5814:28;:::i;5877:127::-;5938:10;5933:3;5929:20;5926:1;5919:31;5969:4;5966:1;5959:15;5993:4;5990:1;5983:15;6009:128;6076:9;;;6097:11;;;6094:37;;;6111:18;;:::i;6142:329::-;6344:2;6326:21;;;6383:1;6363:18;;;6356:29;-1:-1:-1;;;6416:2:1;6401:18;;6394:36;6462:2;6447:18;;6142:329::o;6476:127::-;6537:10;6532:3;6528:20;6525:1;6518:31;6568:4;6565:1;6558:15;6592:4;6589:1;6582:15;6608:135;6647:3;6668:17;;;6665:43;;6688:18;;:::i;:::-;-1:-1:-1;6735:1:1;6724:13;;6608:135::o;7429:125::-;7494:9;;;7515:10;;;7512:36;;;7528:18;;:::i;7559:168::-;7632:9;;;7663;;7680:15;;;7674:22;;7660:37;7650:71;;7701:18;;:::i;7732:217::-;7772:1;7798;7788:132;;7842:10;7837:3;7833:20;7830:1;7823:31;7877:4;7874:1;7867:15;7905:4;7902:1;7895:15;7788:132;-1:-1:-1;7934:9:1;;7732:217::o;8086:980::-;8348:4;8396:3;8385:9;8381:19;8427:6;8416:9;8409:25;8453:2;8491:6;8486:2;8475:9;8471:18;8464:34;8534:3;8529:2;8518:9;8514:18;8507:31;8558:6;8593;8587:13;8624:6;8616;8609:22;8662:3;8651:9;8647:19;8640:26;;8701:2;8693:6;8689:15;8675:29;;8722:1;8732:195;8746:6;8743:1;8740:13;8732:195;;;8811:13;;-1:-1:-1;;;;;8807:39:1;8795:52;;8902:15;;;;8867:12;;;;8843:1;8761:9;8732:195;;;-1:-1:-1;;;;;;;8983:32:1;;;;8978:2;8963:18;;8956:60;-1:-1:-1;;;9047:3:1;9032:19;9025:35;8944:3;8086:980;-1:-1:-1;;;8086:980:1:o;9071:184::-;9141:6;9194:2;9182:9;9173:7;9169:23;9165:32;9162:52;;;9210:1;9207;9200:12;9162:52;-1:-1:-1;9233:16:1;;9071:184;-1:-1:-1;9071:184:1:o;9260:251::-;9330:6;9383:2;9371:9;9362:7;9358:23;9354:32;9351:52;;;9399:1;9396;9389:12;9351:52;9431:9;9425:16;9450:31;9475:5;9450:31;:::i;10661:306::-;10749:6;10757;10765;10818:2;10806:9;10797:7;10793:23;10789:32;10786:52;;;10834:1;10831;10824:12;10786:52;10863:9;10857:16;10847:26;;10913:2;10902:9;10898:18;10892:25;10882:35;;10957:2;10946:9;10942:18;10936:25;10926:35;;10661:306;;;;;:::o

Swarm Source

ipfs://aae067fa6c5d36386076e7aea3d74ce5bd6071b0ce8f42b987704df1cdbf7657

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.