ETH Price: $3,292.27 (+1.56%)
Gas: 2 Gwei

Contract

0xB888fD6B9a098Bb0Ed43B5eE2B5c2D10410B2CFf
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer190582392024-01-21 22:48:11187 days ago1705877291IN
0xB888fD6B...0410B2CFf
0 ETH0.0008713212.92900085
Approve190549052024-01-21 11:21:47188 days ago1705836107IN
0xB888fD6B...0410B2CFf
0 ETH0.0006447313.8601916
Approve190548952024-01-21 11:19:47188 days ago1705835987IN
0xB888fD6B...0410B2CFf
0 ETH0.0005917912.70562813
Approve190516562024-01-21 0:28:35188 days ago1705796915IN
0xB888fD6B...0410B2CFf
0 ETH0.0005635612.09954051
Approve190508662024-01-20 21:49:47188 days ago1705787387IN
0xB888fD6B...0410B2CFf
0 ETH0.0006489113.95009539
Approve190496552024-01-20 17:45:35188 days ago1705772735IN
0xB888fD6B...0410B2CFf
0 ETH0.0009645820.73610991
Approve190488192024-01-20 14:57:35188 days ago1705762655IN
0xB888fD6B...0410B2CFf
0 ETH0.0008230817.6943274
Approve190485182024-01-20 13:56:59188 days ago1705759019IN
0xB888fD6B...0410B2CFf
0 ETH0.0007569616.36583345
Approve190483082024-01-20 13:14:59188 days ago1705756499IN
0xB888fD6B...0410B2CFf
0 ETH0.0006709614.50638493
Approve190481812024-01-20 12:49:23188 days ago1705754963IN
0xB888fD6B...0410B2CFf
0 ETH0.0003492713.31419935
Approve190481802024-01-20 12:49:11188 days ago1705754951IN
0xB888fD6B...0410B2CFf
0 ETH0.000350313.35352853
Approve190481782024-01-20 12:48:47189 days ago1705754927IN
0xB888fD6B...0410B2CFf
0 ETH0.0003210213.24745068
Approve190481082024-01-20 12:34:47189 days ago1705754087IN
0xB888fD6B...0410B2CFf
0 ETH0.000314212.96581423
Approve190480362024-01-20 12:19:59189 days ago1705753199IN
0xB888fD6B...0410B2CFf
0 ETH0.0005689912.30171571
Approve190479482024-01-20 12:02:23189 days ago1705752143IN
0xB888fD6B...0410B2CFf
0 ETH0.0006861214.83409825
Approve190479172024-01-20 11:56:11189 days ago1705751771IN
0xB888fD6B...0410B2CFf
0 ETH0.000684614.71730237
Swap Exact Token...190478912024-01-20 11:50:47189 days ago1705751447IN
0xB888fD6B...0410B2CFf
0.003 ETH0.0003253314.01079939
Swap Exact Token...190478802024-01-20 11:48:35189 days ago1705751315IN
0xB888fD6B...0410B2CFf
0 ETH0.0003091613.31461795
Approve190476982024-01-20 11:12:11189 days ago1705749131IN
0xB888fD6B...0410B2CFf
0 ETH0.0003753314.21663573
Approve190471282024-01-20 9:17:47189 days ago1705742267IN
0xB888fD6B...0410B2CFf
0 ETH0.0007280215.71971422
Approve190461722024-01-20 6:06:35189 days ago1705730795IN
0xB888fD6B...0410B2CFf
0 ETH0.0007044515.1439266
Approve190459322024-01-20 5:18:23189 days ago1705727903IN
0xB888fD6B...0410B2CFf
0 ETH0.0006961715.05147707
Approve190452982024-01-20 3:10:35189 days ago1705720235IN
0xB888fD6B...0410B2CFf
0 ETH0.0006838214.76524351
Approve190442712024-01-19 23:44:35189 days ago1705707875IN
0xB888fD6B...0410B2CFf
0 ETH0.0008290817.82317586
Transfer190441522024-01-19 23:20:23189 days ago1705706423IN
0xB888fD6B...0410B2CFf
0 ETH0.0010515915.60385882
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
190433912024-01-19 20:47:11189 days ago1705697231
0xB888fD6B...0410B2CFf
2.5 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KRT

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-19
*/

/**

Website:  https://krypton.finance
Twitter:  https://twitter.com/kryptonfi
Telegram: https://t.me/KyptonOfficial

*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.18;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

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

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

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

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

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

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

contract KRT is Context, IERC20, Ownable {
    uint256 private constant _totalSupply = 10_000_000e18;
    uint256 private constant onePercent = 100_000e18;
    uint256 private constant tenthPercent = 10_000e18;
    uint256 private minSwap = 72e18;
    uint256 private maxSwap = onePercent * 2;
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address public uniswapV2Pair;
    address immutable WETH;
    address payable _utilReceiver = 
        payable(0xc12b929479eb243550F280D4b46f2f18AD465B65);

    uint256 public buyTax;
    uint256 public sellTax;
    uint256 public lpTax;

    uint8 private launch;
    uint8 private inSwapAndLiquify;

    uint256 private launchBlock;
    uint256 public maxTxAmount = onePercent * 2; //max Tx for first mins after launch
    uint256 public maxWalletLimit = onePercent * 2; //max Tx for first mins after launch

    string private constant _name = "Krypton";
    string private constant _symbol = "KRT";

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private _isExcludedForMaxWl;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();

        _balance[msg.sender] = _totalSupply;
        _isExcludedFromFees[_utilReceiver] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedForMaxWl[address(this)] = true;
        _isExcludedForMaxWl[address(uniswapV2Router)] = true;
        _isExcludedForMaxWl[address(0)] = true;
        _isExcludedForMaxWl[address(0xDEAD)] = true;
        _isExcludedForMaxWl[msg.sender] = true;
        _allowances[address(this)][address(uniswapV2Router)] = type(uint256)
            .max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;

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

    function createAMM() external onlyOwner {
        require(launch == 0, "already opened");
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );
        _isExcludedForMaxWl[address(uniswapV2Pair)] = true;

        uint256 ethBalance = address(this).balance;
        uniswapV2Router.addLiquidityETH{value: ethBalance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
    }

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

    function getContractBalance() public view returns (uint256) {
        return address(this).balance;
    }

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

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

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - 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);
    }

    function startTrading() external onlyOwner {
        require(launch == 0, "already opened");
        launch = 1;
        launchBlock = block.number;
        buyTax = 30;
        sellTax = 30;
        lpTax = 0;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = type(uint256).max;
        maxWalletLimit = type(uint256).max;
    }

    function changeTax(
        uint256 newBuyTax,
        uint256 newSellTax,
        uint256 newLpTax
    ) external onlyOwner {
        require(
            newBuyTax < 20 ||
                newSellTax < 20 ||
                newLpTax < 20 ||
                (newBuyTax + newSellTax + newLpTax) < 50,
            "Cannot set taxes above 20%"
        );
        buyTax = newBuyTax;
        sellTax = newSellTax;
        lpTax = newLpTax;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");

        uint256 _tax;
        if (from == address(this) || to == address(this)) {
            _balance[from] -= amount;
            _balance[to] += amount;

            emit Transfer(from, to, amount);
            return;
        }
        if (!_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            require(
                launch != 0 && amount <= maxTxAmount,
                "Launch / Max TxAmount 1% at launch"
            );
            if (!_isExcludedForMaxWl[to]) {
                require(
                    _balance[to] + amount <= maxWalletLimit,
                    "Exceeds max wallet balance"
                );
            }

            if (inSwapAndLiquify == 1) {
                //No tax transfer
                _balance[from] -= amount;
                _balance[to] += amount;

                emit Transfer(from, to, amount);
                return;
            }

            if (from == uniswapV2Pair) {
                _tax = buyTax + lpTax;
            } else if (to == uniswapV2Pair) {
                uint256 tokensToSwap = _balance[address(this)];
                if (amount > minSwap && inSwapAndLiquify == 0) {
                    if (tokensToSwap > minSwap) {
                        if (tokensToSwap > maxSwap) {
                            tokensToSwap = maxSwap;
                        }

                        uint256 liqidityToken = (tokensToSwap * lpTax) /
                            (((buyTax + sellTax) / 2) + lpTax);
                        uint256 tokensTosell = tokensToSwap - liqidityToken;

                        inSwapAndLiquify = 1;
                        address[] memory path = new address[](2);
                        path[0] = address(this);
                        path[1] = WETH;

                        uniswapV2Router
                            .swapExactTokensForETHSupportingFeeOnTransferTokens(
                                tokensTosell,
                                0,
                                path,
                                _utilReceiver,
                                block.timestamp
                            );

                        if (liqidityToken > 0) {
                            uniswapV2Router
                                .swapExactTokensForETHSupportingFeeOnTransferTokens(
                                    liqidityToken / 2,
                                    0,
                                    path,
                                    address(this),
                                    block.timestamp
                                );

                            uint256 newBal = address(this).balance;
                            uniswapV2Router.addLiquidityETH{value: newBal}(
                                address(this),
                                liqidityToken / 2,
                                0,
                                0,
                                owner(),
                                block.timestamp
                            );
                        }
                        inSwapAndLiquify = 0;
                    }
                }

                _tax = sellTax + lpTax;
            } else {
                _tax = 0;
            }
        }

        bool _takeTax = shouldTakeTax(from, to);

        if (_takeTax) {
            //Tax transfer
            uint256 transferAmount = takeTax(from, to, amount, _tax);

            _balance[to] += transferAmount;
            emit Transfer(from, to, transferAmount);
        } else {
            _balance[to] += amount;

            emit Transfer(from, to, amount);
        }
    }

    function shouldTakeTax(address from, address to)
        internal
        view
        returns (bool)
    {
        return !_isExcludedFromFees[from];
    }

    function takeTax(
        address from,
        address to,
        uint256 amount,
        uint256 taxRate
    ) internal returns (uint256) {
        uint256 taxTokens = (amount * taxRate) / 100;
        uint256 transferAmount = amount - taxTokens;

        _balance[from] -= amount;
        _balance[address(this)] += taxTokens;
        emit Transfer(from, address(this), taxTokens);

        return transferAmount;
    }

    receive() external payable {}
}

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":[{"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":[{"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":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"},{"internalType":"uint256","name":"newLpTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"createAMM","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getContractBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletLimit","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526803e73362871420000060025569152d02c7e14af680000060026200002a9190620002be565b600355600580546001600160a01b03191673c12b929479eb243550f280d4b46f2f18ad465b651790556200006a69152d02c7e14af68000006002620002be565b600b556200008469152d02c7e14af68000006002620002be565b600c5534801562000093575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000128573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200014e9190620002e8565b6001600160a01b0390811660a052335f818152600d602090815260408083206a084595161401484a000000905560055485168352600f82528083208054600160ff19918216811790925530808652838620805483168417905560108552838620805483168417905560805190971680865283862080548316841790557f6e0956cda88cad152e89927e53611735b61a5c762d1428573c6931b0a5efcb0180548316841790557f9e93e1db4a1f807cc22b2aecf4deeb0bf5745f1ecb319e87c68c5624c0fa6b69805483168417905586865283862080549092169092179055948352600e80835281842086855283528184205f199081905594845282528083209483529390529190912055620002603390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a084595161401484a000000604051620002b091815260200190565b60405180910390a362000317565b8082028115828204841417620002e257634e487b7160e01b5f52601160045260245ffd5b92915050565b5f60208284031215620002f9575f80fd5b81516001600160a01b038116811462000310575f80fd5b9392505050565b60805160a05161166d6200035c5f395f81816107b00152610e5a01525f81816107150152818161086001528181610eb401528181610f320152610fbe015261166d5ff3fe60806040526004361061013f575f3560e01c806370a08231116100b3578063974ea01e1161006d578063974ea01e14610371578063a9059cbb14610390578063cc1776d3146103af578063dd62ed3e146103c4578063f29435dd14610408578063f2fde38b1461041c575f80fd5b806370a08231146102b9578063715018a6146102ed578063751039fc146103015780638c0b5e22146103155780638da5cb5b1461032a57806395d89b4114610346575f80fd5b8063293230b811610104578063293230b814610215578063313ce5671461022b57806349bd5a5e146102465780634f7041a51461027d57806366a88d96146102925780636f9fb98a146102a7575f80fd5b806306fdde031461014a578063095ea7b31461018b57806318160ddd146101ba5780631de3b450146101e157806323b872dd146101f6575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600781526625b93cb83a37b760c91b60208201525b6040516101829190611317565b60405180910390f35b348015610196575f80fd5b506101aa6101a5366004611376565b61043b565b6040519015158152602001610182565b3480156101c5575f80fd5b506a084595161401484a0000005b604051908152602001610182565b3480156101ec575f80fd5b506101d360085481565b348015610201575f80fd5b506101aa6102103660046113a0565b610451565b348015610220575f80fd5b506102296104a1565b005b348015610236575f80fd5b5060405160128152602001610182565b348015610251575f80fd5b50600454610265906001600160a01b031681565b6040516001600160a01b039091168152602001610182565b348015610288575f80fd5b506101d360065481565b34801561029d575f80fd5b506101d3600c5481565b3480156102b2575f80fd5b50476101d3565b3480156102c4575f80fd5b506101d36102d33660046113de565b6001600160a01b03165f908152600d602052604090205490565b3480156102f8575f80fd5b50610229610538565b34801561030c575f80fd5b506102296105a9565b348015610320575f80fd5b506101d3600b5481565b348015610335575f80fd5b505f546001600160a01b0316610265565b348015610351575f80fd5b5060408051808201909152600381526212d49560ea1b6020820152610175565b34801561037c575f80fd5b5061022961038b366004611400565b6105de565b34801561039b575f80fd5b506101aa6103aa366004611376565b61069a565b3480156103ba575f80fd5b506101d360075481565b3480156103cf575f80fd5b506101d36103de366004611429565b6001600160a01b039182165f908152600e6020908152604080832093909416825291909152205490565b348015610413575f80fd5b506102296106a6565b348015610427575f80fd5b506102296104363660046113de565b610921565b5f610447338484610956565b5060015b92915050565b5f61045d848484610a79565b6001600160a01b0384165f908152600e6020908152604080832033808552925290912054610497918691610492908690611474565b610956565b5060019392505050565b5f546001600160a01b031633146104d35760405162461bcd60e51b81526004016104ca90611487565b60405180910390fd5b60095460ff16156105175760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481bdc195b995960921b60448201526064016104ca565b6009805460ff1916600117905543600a55601e60068190556007555f600855565b5f546001600160a01b031633146105615760405162461bcd60e51b81526004016104ca90611487565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105d25760405162461bcd60e51b81526004016104ca90611487565b5f19600b819055600c55565b5f546001600160a01b031633146106075760405162461bcd60e51b81526004016104ca90611487565b60148310806106165750601482105b806106215750601481105b80610640575060328161063484866114bc565b61063e91906114bc565b105b61068c5760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74207365742074617865732061626f76652032302500000000000060448201526064016104ca565b600692909255600755600855565b5f610447338484610a79565b5f546001600160a01b031633146106cf5760405162461bcd60e51b81526004016104ca90611487565b60095460ff16156107135760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481bdc195b995960921b60448201526064016104ca565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561076f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079391906114cf565b6040516364e329cb60e11b81523060048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166024830152919091169063c9c65396906044016020604051808303815f875af1158015610800573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061082491906114cf565b600480546001600160a01b039283166001600160a01b031990911681179091555f908152601060205260409020805460ff1916600117905547907f00000000000000000000000000000000000000000000000000000000000000001663f305d71982306108a5816001600160a01b03165f908152600d602052604090205490565b5f806108b85f546001600160a01b031690565b426040518863ffffffff1660e01b81526004016108da969594939291906114ea565b60606040518083038185885af11580156108f6573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061091b9190611525565b50505050565b5f546001600160a01b0316331461094a5760405162461bcd60e51b81526004016104ca90611487565b610953816111a9565b50565b6001600160a01b0383166109b85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ca565b6001600160a01b038216610a195760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ca565b6001600160a01b038381165f818152600e602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610add5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ca565b5f6001600160a01b038416301480610afd57506001600160a01b03831630145b15610b9c576001600160a01b0384165f908152600d602052604081208054849290610b29908490611474565b90915550506001600160a01b0383165f908152600d602052604081208054849290610b559084906114bc565b92505081905550826001600160a01b0316846001600160a01b03165f8051602061161883398151915284604051610b8e91815260200190565b60405180910390a350505050565b6001600160a01b0384165f908152600f602052604090205460ff16158015610bdc57506001600160a01b0383165f908152600f602052604090205460ff16155b156110975760095460ff1615801590610bf75750600b548211155b610c4e5760405162461bcd60e51b815260206004820152602260248201527f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e6044820152610c6d60f31b60648201526084016104ca565b6001600160a01b0383165f9081526010602052604090205460ff16610ce157600c546001600160a01b0384165f908152600d6020526040902054610c939084906114bc565b1115610ce15760405162461bcd60e51b815260206004820152601a60248201527f45786365656473206d61782077616c6c65742062616c616e636500000000000060448201526064016104ca565b600954610100900460ff16600103610d1a576001600160a01b0384165f908152600d602052604081208054849290610b29908490611474565b6004546001600160a01b0390811690851603610d4757600854600654610d4091906114bc565b9050611097565b6004546001600160a01b039081169084160361109457305f908152600d602052604090205460025483118015610d855750600954610100900460ff16155b1561107c5760025481111561107c57600354811115610da357506003545b5f6008546002600754600654610db991906114bc565b610dc39190611550565b610dcd91906114bc565b600854610dda908461156f565b610de49190611550565b90505f610df18284611474565b6009805461ff0019166101001790556040805160028082526060820183529293505f92909160208301908036833701905050905030815f81518110610e3857610e38611586565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610e8c57610e8c611586565b6001600160a01b03928316602091820292909201015260055460405163791ac94760e01b81527f000000000000000000000000000000000000000000000000000000000000000083169263791ac94792610ef39287925f92889291169042906004016115dc565b5f604051808303815f87803b158015610f0a575f80fd5b505af1158015610f1c573d5f803e3d5ffd5b505050505f83111561106d576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663791ac947610f62600286611550565b5f8430426040518663ffffffff1660e01b8152600401610f869594939291906115dc565b5f604051808303815f87803b158015610f9d575f80fd5b505af1158015610faf573d5f803e3d5ffd5b50479250506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016905063f305d7198230610ff2600289611550565b5f806110055f546001600160a01b031690565b426040518863ffffffff1660e01b8152600401611027969594939291906114ea565b60606040518083038185885af1158015611043573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110689190611525565b505050505b50506009805461ff0019169055505b60085460075461108c91906114bc565b915050611097565b505f5b6001600160a01b0384165f908152600f602052604090205460ff16158015611139575f6110c686868686611267565b6001600160a01b0386165f908152600d60205260408120805492935083929091906110f29084906114bc565b92505081905550846001600160a01b0316866001600160a01b03165f805160206116188339815191528360405161112b91815260200190565b60405180910390a3506111a2565b6001600160a01b0384165f908152600d6020526040812080548592906111609084906114bc565b92505081905550836001600160a01b0316856001600160a01b03165f805160206116188339815191528560405161119991815260200190565b60405180910390a35b5050505050565b6001600160a01b03811661120e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ca565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f806064611275848661156f565b61127f9190611550565b90505f61128c8286611474565b6001600160a01b0388165f908152600d60205260408120805492935087929091906112b8908490611474565b9091555050305f908152600d6020526040812080548492906112db9084906114bc565b909155505060405182815230906001600160a01b038916905f805160206116188339815191529060200160405180910390a39695505050505050565b5f6020808352835180828501525f5b8181101561134257858101830151858201604001528201611326565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610953575f80fd5b5f8060408385031215611387575f80fd5b823561139281611362565b946020939093013593505050565b5f805f606084860312156113b2575f80fd5b83356113bd81611362565b925060208401356113cd81611362565b929592945050506040919091013590565b5f602082840312156113ee575f80fd5b81356113f981611362565b9392505050565b5f805f60608486031215611412575f80fd5b505081359360208301359350604090920135919050565b5f806040838503121561143a575f80fd5b823561144581611362565b9150602083013561145581611362565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561044b5761044b611460565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561044b5761044b611460565b5f602082840312156114df575f80fd5b81516113f981611362565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b5f805f60608486031215611537575f80fd5b8351925060208401519150604084015190509250925092565b5f8261156a57634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761044b5761044b611460565b634e487b7160e01b5f52603260045260245ffd5b5f8151808452602080850194508084015f5b838110156115d15781516001600160a01b0316875295820195908201906001016115ac565b509495945050505050565b85815284602082015260a060408201525f6115fa60a083018661159a565b6001600160a01b039490941660608301525060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212203799c4d554599d1b721f2139548cfdf7e06a3160c79da3aa58d2ce01afc8ee0264736f6c63430008150033

Deployed Bytecode

0x60806040526004361061013f575f3560e01c806370a08231116100b3578063974ea01e1161006d578063974ea01e14610371578063a9059cbb14610390578063cc1776d3146103af578063dd62ed3e146103c4578063f29435dd14610408578063f2fde38b1461041c575f80fd5b806370a08231146102b9578063715018a6146102ed578063751039fc146103015780638c0b5e22146103155780638da5cb5b1461032a57806395d89b4114610346575f80fd5b8063293230b811610104578063293230b814610215578063313ce5671461022b57806349bd5a5e146102465780634f7041a51461027d57806366a88d96146102925780636f9fb98a146102a7575f80fd5b806306fdde031461014a578063095ea7b31461018b57806318160ddd146101ba5780631de3b450146101e157806323b872dd146101f6575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600781526625b93cb83a37b760c91b60208201525b6040516101829190611317565b60405180910390f35b348015610196575f80fd5b506101aa6101a5366004611376565b61043b565b6040519015158152602001610182565b3480156101c5575f80fd5b506a084595161401484a0000005b604051908152602001610182565b3480156101ec575f80fd5b506101d360085481565b348015610201575f80fd5b506101aa6102103660046113a0565b610451565b348015610220575f80fd5b506102296104a1565b005b348015610236575f80fd5b5060405160128152602001610182565b348015610251575f80fd5b50600454610265906001600160a01b031681565b6040516001600160a01b039091168152602001610182565b348015610288575f80fd5b506101d360065481565b34801561029d575f80fd5b506101d3600c5481565b3480156102b2575f80fd5b50476101d3565b3480156102c4575f80fd5b506101d36102d33660046113de565b6001600160a01b03165f908152600d602052604090205490565b3480156102f8575f80fd5b50610229610538565b34801561030c575f80fd5b506102296105a9565b348015610320575f80fd5b506101d3600b5481565b348015610335575f80fd5b505f546001600160a01b0316610265565b348015610351575f80fd5b5060408051808201909152600381526212d49560ea1b6020820152610175565b34801561037c575f80fd5b5061022961038b366004611400565b6105de565b34801561039b575f80fd5b506101aa6103aa366004611376565b61069a565b3480156103ba575f80fd5b506101d360075481565b3480156103cf575f80fd5b506101d36103de366004611429565b6001600160a01b039182165f908152600e6020908152604080832093909416825291909152205490565b348015610413575f80fd5b506102296106a6565b348015610427575f80fd5b506102296104363660046113de565b610921565b5f610447338484610956565b5060015b92915050565b5f61045d848484610a79565b6001600160a01b0384165f908152600e6020908152604080832033808552925290912054610497918691610492908690611474565b610956565b5060019392505050565b5f546001600160a01b031633146104d35760405162461bcd60e51b81526004016104ca90611487565b60405180910390fd5b60095460ff16156105175760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481bdc195b995960921b60448201526064016104ca565b6009805460ff1916600117905543600a55601e60068190556007555f600855565b5f546001600160a01b031633146105615760405162461bcd60e51b81526004016104ca90611487565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105d25760405162461bcd60e51b81526004016104ca90611487565b5f19600b819055600c55565b5f546001600160a01b031633146106075760405162461bcd60e51b81526004016104ca90611487565b60148310806106165750601482105b806106215750601481105b80610640575060328161063484866114bc565b61063e91906114bc565b105b61068c5760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74207365742074617865732061626f76652032302500000000000060448201526064016104ca565b600692909255600755600855565b5f610447338484610a79565b5f546001600160a01b031633146106cf5760405162461bcd60e51b81526004016104ca90611487565b60095460ff16156107135760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481bdc195b995960921b60448201526064016104ca565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561076f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079391906114cf565b6040516364e329cb60e11b81523060048201526001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281166024830152919091169063c9c65396906044016020604051808303815f875af1158015610800573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061082491906114cf565b600480546001600160a01b039283166001600160a01b031990911681179091555f908152601060205260409020805460ff1916600117905547907f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d1663f305d71982306108a5816001600160a01b03165f908152600d602052604090205490565b5f806108b85f546001600160a01b031690565b426040518863ffffffff1660e01b81526004016108da969594939291906114ea565b60606040518083038185885af11580156108f6573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061091b9190611525565b50505050565b5f546001600160a01b0316331461094a5760405162461bcd60e51b81526004016104ca90611487565b610953816111a9565b50565b6001600160a01b0383166109b85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ca565b6001600160a01b038216610a195760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ca565b6001600160a01b038381165f818152600e602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610add5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ca565b5f6001600160a01b038416301480610afd57506001600160a01b03831630145b15610b9c576001600160a01b0384165f908152600d602052604081208054849290610b29908490611474565b90915550506001600160a01b0383165f908152600d602052604081208054849290610b559084906114bc565b92505081905550826001600160a01b0316846001600160a01b03165f8051602061161883398151915284604051610b8e91815260200190565b60405180910390a350505050565b6001600160a01b0384165f908152600f602052604090205460ff16158015610bdc57506001600160a01b0383165f908152600f602052604090205460ff16155b156110975760095460ff1615801590610bf75750600b548211155b610c4e5760405162461bcd60e51b815260206004820152602260248201527f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e6044820152610c6d60f31b60648201526084016104ca565b6001600160a01b0383165f9081526010602052604090205460ff16610ce157600c546001600160a01b0384165f908152600d6020526040902054610c939084906114bc565b1115610ce15760405162461bcd60e51b815260206004820152601a60248201527f45786365656473206d61782077616c6c65742062616c616e636500000000000060448201526064016104ca565b600954610100900460ff16600103610d1a576001600160a01b0384165f908152600d602052604081208054849290610b29908490611474565b6004546001600160a01b0390811690851603610d4757600854600654610d4091906114bc565b9050611097565b6004546001600160a01b039081169084160361109457305f908152600d602052604090205460025483118015610d855750600954610100900460ff16155b1561107c5760025481111561107c57600354811115610da357506003545b5f6008546002600754600654610db991906114bc565b610dc39190611550565b610dcd91906114bc565b600854610dda908461156f565b610de49190611550565b90505f610df18284611474565b6009805461ff0019166101001790556040805160028082526060820183529293505f92909160208301908036833701905050905030815f81518110610e3857610e38611586565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610e8c57610e8c611586565b6001600160a01b03928316602091820292909201015260055460405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d83169263791ac94792610ef39287925f92889291169042906004016115dc565b5f604051808303815f87803b158015610f0a575f80fd5b505af1158015610f1c573d5f803e3d5ffd5b505050505f83111561106d576001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d1663791ac947610f62600286611550565b5f8430426040518663ffffffff1660e01b8152600401610f869594939291906115dc565b5f604051808303815f87803b158015610f9d575f80fd5b505af1158015610faf573d5f803e3d5ffd5b50479250506001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d16905063f305d7198230610ff2600289611550565b5f806110055f546001600160a01b031690565b426040518863ffffffff1660e01b8152600401611027969594939291906114ea565b60606040518083038185885af1158015611043573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110689190611525565b505050505b50506009805461ff0019169055505b60085460075461108c91906114bc565b915050611097565b505f5b6001600160a01b0384165f908152600f602052604090205460ff16158015611139575f6110c686868686611267565b6001600160a01b0386165f908152600d60205260408120805492935083929091906110f29084906114bc565b92505081905550846001600160a01b0316866001600160a01b03165f805160206116188339815191528360405161112b91815260200190565b60405180910390a3506111a2565b6001600160a01b0384165f908152600d6020526040812080548592906111609084906114bc565b92505081905550836001600160a01b0316856001600160a01b03165f805160206116188339815191528560405161119991815260200190565b60405180910390a35b5050505050565b6001600160a01b03811661120e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ca565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f806064611275848661156f565b61127f9190611550565b90505f61128c8286611474565b6001600160a01b0388165f908152600d60205260408120805492935087929091906112b8908490611474565b9091555050305f908152600d6020526040812080548492906112db9084906114bc565b909155505060405182815230906001600160a01b038916905f805160206116188339815191529060200160405180910390a39695505050505050565b5f6020808352835180828501525f5b8181101561134257858101830151858201604001528201611326565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610953575f80fd5b5f8060408385031215611387575f80fd5b823561139281611362565b946020939093013593505050565b5f805f606084860312156113b2575f80fd5b83356113bd81611362565b925060208401356113cd81611362565b929592945050506040919091013590565b5f602082840312156113ee575f80fd5b81356113f981611362565b9392505050565b5f805f60608486031215611412575f80fd5b505081359360208301359350604090920135919050565b5f806040838503121561143a575f80fd5b823561144581611362565b9150602083013561145581611362565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561044b5761044b611460565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561044b5761044b611460565b5f602082840312156114df575f80fd5b81516113f981611362565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b5f805f60608486031215611537575f80fd5b8351925060208401519150604084015190509250925092565b5f8261156a57634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761044b5761044b611460565b634e487b7160e01b5f52603260045260245ffd5b5f8151808452602080850194508084015f5b838110156115d15781516001600160a01b0316875295820195908201906001016115ac565b509495945050505050565b85815284602082015260a060408201525f6115fa60a083018661159a565b6001600160a01b039490941660608301525060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212203799c4d554599d1b721f2139548cfdf7e06a3160c79da3aa58d2ce01afc8ee0264736f6c63430008150033

Deployed Bytecode Sourcemap

3172:10067:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5876:83;;;;;;;;;;-1:-1:-1;5946:5:0;;;;;;;;;;;;-1:-1:-1;;;5946:5:0;;;;5876:83;;;;;;;:::i;:::-;;;;;;;;6901:193;;;;;;;;;;-1:-1:-1;6901:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6901:193:0;1023:187:1;6268:100:0;;;;;;;;;;-1:-1:-1;3260:13:0;6268:100;;;1361:25:1;;;1349:2;1334:18;6268:100:0;1215:177:1;3796:20:0;;;;;;;;;;;;;;;;7102:350;;;;;;;;;;-1:-1:-1;7102:350:0;;;;;:::i;:::-;;:::i;7837:223::-;;;;;;;;;;;;;:::i;:::-;;6177:83;;;;;;;;;;-1:-1:-1;6177:83:0;;3511:2;2000:36:1;;1988:2;1973:18;6177:83:0;1858:184:1;3573:28:0;;;;;;;;;;-1:-1:-1;3573:28:0;;;;-1:-1:-1;;;;;3573:28:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;3573:28:0;2047:203:1;3739:21:0;;;;;;;;;;;;;;;;4012:46;;;;;;;;;;;;;;;;5967:107;;;;;;;;;;-1:-1:-1;6045:21:0;5967:107;;6376:118;;;;;;;;;;-1:-1:-1;6376:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;6469:17:0;6442:7;6469:17;;;:8;:17;;;;;;;6376:118;2124:148;;;;;;;;;;;;;:::i;8068:138::-;;;;;;;;;;;;;:::i;3925:43::-;;;;;;;;;;;;;;;;1519:79;;;;;;;;;;-1:-1:-1;1557:7:0;1584:6;-1:-1:-1;;;;;1584:6:0;1519:79;;6082:87;;;;;;;;;;-1:-1:-1;6154:7:0;;;;;;;;;;;;-1:-1:-1;;;6154:7:0;;;;6082:87;;8214:456;;;;;;;;;;-1:-1:-1;8214:456:0;;;;;:::i;:::-;;:::i;6502:199::-;;;;;;;;;;-1:-1:-1;6502:199:0;;;;;:::i;:::-;;:::i;3767:22::-;;;;;;;;;;;;;;;;6709:184;;;;;;;;;;-1:-1:-1;6709:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6858:18:0;;;6826:7;6858:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6709:184;5292:576;;;;;;;;;;;;;:::i;1733:109::-;;;;;;;;;;-1:-1:-1;1733:109:0;;;;;:::i;:::-;;:::i;6901:193::-;7003:4;7025:39;313:10;7048:7;7057:6;7025:8;:39::i;:::-;-1:-1:-1;7082:4:0;6901:193;;;;;:::o;7102:350::-;7234:4;7251:36;7261:6;7269:9;7280:6;7251:9;:36::i;:::-;-1:-1:-1;;;;;7369:19:0;;;;;;:11;:19;;;;;;;;313:10;7369:33;;;;;;;;;7298:124;;7321:6;;7369:42;;7405:6;;7369:42;:::i;:::-;7298:8;:124::i;:::-;-1:-1:-1;7440:4:0;7102:350;;;;;:::o;7837:223::-;1646:6;;-1:-1:-1;;;;;1646:6:0;313:10;1646:22;1638:67;;;;-1:-1:-1;;;1638:67:0;;;;;;;:::i;:::-;;;;;;;;;7899:6:::1;::::0;::::1;;:11:::0;7891:38:::1;;;::::0;-1:-1:-1;;;7891:38:0;;4049:2:1;7891:38:0::1;::::0;::::1;4031:21:1::0;4088:2;4068:18;;;4061:30;-1:-1:-1;;;4107:18:1;;;4100:44;4161:18;;7891:38:0::1;3847:338:1::0;7891:38:0::1;7940:6;:10:::0;;-1:-1:-1;;7940:10:0::1;7949:1;7940:10;::::0;;7975:12:::1;7961:11;:26:::0;8007:2:::1;7998:6;:11:::0;;;8020:7:::1;:12:::0;7940:6:::1;8043:5;:9:::0;7837:223::o;2124:148::-;1646:6;;-1:-1:-1;;;;;1646:6:0;313:10;1646:22;1638:67;;;;-1:-1:-1;;;1638:67:0;;;;;;;:::i;:::-;2231:1:::1;2215:6:::0;;2194:40:::1;::::0;-1:-1:-1;;;;;2215:6:0;;::::1;::::0;2194:40:::1;::::0;2231:1;;2194:40:::1;2262:1;2245:19:::0;;-1:-1:-1;;;;;;2245:19:0::1;::::0;;2124:148::o;8068:138::-;1646:6;;-1:-1:-1;;;;;1646:6:0;313:10;1646:22;1638:67;;;;-1:-1:-1;;;1638:67:0;;;;;;;:::i;:::-;-1:-1:-1;;8122:11:0::1;:31:::0;;;8164:14:::1;:34:::0;8068:138::o;8214:456::-;1646:6;;-1:-1:-1;;;;;1646:6:0;313:10;1646:22;1638:67;;;;-1:-1:-1;;;1638:67:0;;;;;;;:::i;:::-;8388:2:::1;8376:9;:14;:50;;;;8424:2;8411:10;:15;8376:50;:84;;;;8458:2;8447:8;:13;8376:84;:145;;;-1:-1:-1::0;8519:2:0::1;8507:8:::0;8482:22:::1;8494:10:::0;8482:9;:22:::1;:::i;:::-;:33;;;;:::i;:::-;8481:40;8376:145;8354:221;;;::::0;-1:-1:-1;;;8354:221:0;;4522:2:1;8354:221:0::1;::::0;::::1;4504:21:1::0;4561:2;4541:18;;;4534:30;4600:28;4580:18;;;4573:56;4646:18;;8354:221:0::1;4320:350:1::0;8354:221:0::1;8586:6;:18:::0;;;;8615:7:::1;:20:::0;8646:5:::1;:16:::0;8214:456::o;6502:199::-;6607:4;6629:42;313:10;6653:9;6664:6;6629:9;:42::i;5292:576::-;1646:6;;-1:-1:-1;;;;;1646:6:0;313:10;1646:22;1638:67;;;;-1:-1:-1;;;1638:67:0;;;;;;;:::i;:::-;5351:6:::1;::::0;::::1;;:11:::0;5343:38:::1;;;::::0;-1:-1:-1;;;5343:38:0;;4049:2:1;5343:38:0::1;::::0;::::1;4031:21:1::0;4088:2;4068:18;;;4061:30;-1:-1:-1;;;4107:18:1;;;4100:44;4161:18;;5343:38:0::1;3847:338:1::0;5343:38:0::1;5426:15;-1:-1:-1::0;;;;;5426:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5408:113;::::0;-1:-1:-1;;;5408:113:0;;5486:4:::1;5408:113;::::0;::::1;5143:34:1::0;-1:-1:-1;;;;;5506:4:0::1;5213:15:1::0;;5193:18;;;5186:43;5408:55:0;;;::::1;::::0;::::1;::::0;5078:18:1;;5408:113:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5392:13;:129:::0;;-1:-1:-1;;;;;5392:129:0;;::::1;-1:-1:-1::0;;;;;;5392:129:0;;::::1;::::0;::::1;::::0;;;:13:::1;5532:43:::0;;;:19:::1;:43;::::0;;;;:50;;-1:-1:-1;;5532:50:0::1;5392:129:::0;5532:50:::1;::::0;;5616:21:::1;::::0;5648:15:::1;:31;;5616:21:::0;5721:4:::1;5741:24;5721:4:::0;-1:-1:-1;;;;;6469:17:0;6442:7;6469:17;;;:8;:17;;;;;;;6376:118;5741:24:::1;5780:1;5796::::0;5812:7:::1;1557::::0;1584:6;-1:-1:-1;;;;;1584:6:0;;1519:79;5812:7:::1;5834:15;5648:212;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;5332:536;5292:576::o:0;1733:109::-;1646:6;;-1:-1:-1;;;;;1646:6:0;313:10;1646:22;1638:67;;;;-1:-1:-1;;;1638:67:0;;;;;;;:::i;:::-;1806:28:::1;1825:8;1806:18;:28::i;:::-;1733:109:::0;:::o;7460:369::-;-1:-1:-1;;;;;7587:19:0;;7579:68;;;;-1:-1:-1;;;7579:68:0;;6365:2:1;7579:68:0;;;6347:21:1;6404:2;6384:18;;;6377:30;6443:34;6423:18;;;6416:62;-1:-1:-1;;;6494:18:1;;;6487:34;6538:19;;7579:68:0;6163:400:1;7579:68:0;-1:-1:-1;;;;;7666:21:0;;7658:68;;;;-1:-1:-1;;;7658:68:0;;6770:2:1;7658:68:0;;;6752:21:1;6809:2;6789:18;;;6782:30;6848:34;6828:18;;;6821:62;-1:-1:-1;;;6899:18:1;;;6892:32;6941:19;;7658:68:0;6568:398:1;7658:68:0;-1:-1:-1;;;;;7737:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7789:32;;1361:25:1;;;7789:32:0;;1334:18:1;7789:32:0;;;;;;;7460:369;;;:::o;8678:3906::-;-1:-1:-1;;;;;8800:18:0;;8792:68;;;;-1:-1:-1;;;8792:68:0;;7173:2:1;8792:68:0;;;7155:21:1;7212:2;7192:18;;;7185:30;7251:34;7231:18;;;7224:62;-1:-1:-1;;;7302:18:1;;;7295:35;7347:19;;8792:68:0;6971:401:1;8792:68:0;8873:12;-1:-1:-1;;;;;8900:21:0;;8916:4;8900:21;;:44;;-1:-1:-1;;;;;;8925:19:0;;8939:4;8925:19;8900:44;8896:207;;;-1:-1:-1;;;;;8961:14:0;;;;;;:8;:14;;;;;:24;;8979:6;;8961:14;:24;;8979:6;;8961:24;:::i;:::-;;;;-1:-1:-1;;;;;;;9000:12:0;;;;;;:8;:12;;;;;:22;;9016:6;;9000:12;:22;;9016:6;;9000:22;:::i;:::-;;;;;;;;9059:2;-1:-1:-1;;;;;9044:26:0;9053:4;-1:-1:-1;;;;;9044:26:0;-1:-1:-1;;;;;;;;;;;9063:6:0;9044:26;;;;1361:25:1;;1349:2;1334:18;;1215:177;9044:26:0;;;;;;;;9085:7;8678:3906;;;:::o;8896:207::-;-1:-1:-1;;;;;9118:25:0;;;;;;:19;:25;;;;;;;;9117:26;:54;;;;-1:-1:-1;;;;;;9148:23:0;;;;;;:19;:23;;;;;;;;9147:24;9117:54;9113:3071;;;9214:6;;;;:11;;;;:36;;;9239:11;;9229:6;:21;;9214:36;9188:132;;;;-1:-1:-1;;;9188:132:0;;7579:2:1;9188:132:0;;;7561:21:1;7618:2;7598:18;;;7591:30;7657:34;7637:18;;;7630:62;-1:-1:-1;;;7708:18:1;;;7701:32;7750:19;;9188:132:0;7377:398:1;9188:132:0;-1:-1:-1;;;;;9340:23:0;;;;;;:19;:23;;;;;;;;9335:204;;9439:14;;-1:-1:-1;;;;;9414:12:0;;;;;;:8;:12;;;;;;:21;;9429:6;;9414:21;:::i;:::-;:39;;9384:139;;;;-1:-1:-1;;;9384:139:0;;7982:2:1;9384:139:0;;;7964:21:1;8021:2;8001:18;;;7994:30;8060:28;8040:18;;;8033:56;8106:18;;9384:139:0;7780:350:1;9384:139:0;9559:16;;;;;;;;:21;9555:239;;-1:-1:-1;;;;;9636:14:0;;;;;;:8;:14;;;;;:24;;9654:6;;9636:14;:24;;9654:6;;9636:24;:::i;9555:239::-;9822:13;;-1:-1:-1;;;;;9822:13:0;;;9814:21;;;;9810:2363;;9872:5;;9863:6;;:14;;;;:::i;:::-;9856:21;;9810:2363;;;9909:13;;-1:-1:-1;;;;;9909:13:0;;;9903:19;;;;9899:2274;;9983:4;9943:20;9966:23;;;:8;:23;;;;;;10021:7;;10012:16;;:41;;;;-1:-1:-1;10032:16:0;;;;;;;:21;10012:41;10008:2058;;;10097:7;;10082:12;:22;10078:1969;;;10152:7;;10137:12;:22;10133:109;;;-1:-1:-1;10207:7:0;;10133:109;10270:21;10376:5;;10371:1;10360:7;;10351:6;;:16;;;;:::i;:::-;10350:22;;;;:::i;:::-;10349:32;;;;:::i;:::-;10310:5;;10295:20;;:12;:20;:::i;:::-;10294:88;;;;:::i;:::-;10270:112;-1:-1:-1;10409:20:0;10432:28;10270:112;10432:12;:28;:::i;:::-;10489:16;:20;;-1:-1:-1;;10489:20:0;;;;;10560:16;;;10574:1;10560:16;;;;;;;;10409:51;;-1:-1:-1;;;10560:16:0;;;;;;;;;;;;-1:-1:-1;10560:16:0;10536:40;;10621:4;10603;10608:1;10603:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;10603:23:0;;;-1:-1:-1;;;;;10603:23:0;;;;;10663:4;10653;10658:1;10653:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10653:14:0;;;:7;;;;;;;;;:14;10949:13;;10696:347;;-1:-1:-1;;;10696:347:0;;:15;:96;;;;;:347;;10827:12;;10874:1;;10910:4;;10949:13;;;10997:15;;10696:347;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11092:1;11076:13;:17;11072:905;;;-1:-1:-1;;;;;11126:15:0;:100;;11265:17;11281:1;11265:13;:17;:::i;:::-;11321:1;11361:4;11412;11456:15;11126:380;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11556:21:0;;-1:-1:-1;;;;;;;11608:15:0;:31;;-1:-1:-1;11608:31:0;11556:21;11697:4;11737:17;11753:1;11737:13;:17;:::i;:::-;11789:1;11825;11861:7;1557;1584:6;-1:-1:-1;;;;;1584:6:0;;1519:79;11861:7;11903:15;11608:341;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11095:882;11072:905;-1:-1:-1;;12003:16:0;:20;;-1:-1:-1;;12003:20:0;;;-1:-1:-1;10078:1969:0;12103:5;;12093:7;;:15;;;;:::i;:::-;12086:22;;9924:2200;9899:2274;;;-1:-1:-1;12156:1:0;9899:2274;-1:-1:-1;;;;;12721:25:0;;12196:13;12721:25;;;:19;:25;;;;;;;;12720:26;12248:329;;;;12305:22;12330:31;12338:4;12344:2;12348:6;12356:4;12330:7;:31::i;:::-;-1:-1:-1;;;;;12378:12:0;;;;;;:8;:12;;;;;:30;;12305:56;;-1:-1:-1;12305:56:0;;12378:12;;;:30;;12305:56;;12378:30;:::i;:::-;;;;;;;;12443:2;-1:-1:-1;;;;;12428:34:0;12437:4;-1:-1:-1;;;;;12428:34:0;-1:-1:-1;;;;;;;;;;;12447:14:0;12428:34;;;;1361:25:1;;1349:2;1334:18;;1215:177;12428:34:0;;;;;;;;12262:212;12248:329;;;-1:-1:-1;;;;;12495:12:0;;;;;;:8;:12;;;;;:22;;12511:6;;12495:12;:22;;12511:6;;12495:22;:::i;:::-;;;;;;;;12554:2;-1:-1:-1;;;;;12539:26:0;12548:4;-1:-1:-1;;;;;12539:26:0;-1:-1:-1;;;;;;;;;;;12558:6:0;12539:26;;;;1361:25:1;;1349:2;1334:18;;1215:177;12539:26:0;;;;;;;;12248:329;8781:3803;;8678:3906;;;:::o;1850:266::-;-1:-1:-1;;;;;1938:22:0;;1916:110;;;;-1:-1:-1;;;1916:110:0;;10644:2:1;1916:110:0;;;10626:21:1;10683:2;10663:18;;;10656:30;10722:34;10702:18;;;10695:62;-1:-1:-1;;;10773:18:1;;;10766:36;10819:19;;1916:110:0;10442:402:1;1916:110:0;2063:6;;;2042:38;;-1:-1:-1;;;;;2042:38:0;;;;2063:6;;;2042:38;;;2091:6;:17;;-1:-1:-1;;;;;;2091:17:0;-1:-1:-1;;;;;2091:17:0;;;;;;;;;;1850:266::o;12762:437::-;12899:7;;12960:3;12940:16;12949:7;12940:6;:16;:::i;:::-;12939:24;;;;:::i;:::-;12919:44;-1:-1:-1;12974:22:0;12999:18;12919:44;12999:6;:18;:::i;:::-;-1:-1:-1;;;;;13030:14:0;;;;;;:8;:14;;;;;:24;;12974:43;;-1:-1:-1;13048:6:0;;13030:14;;;:24;;13048:6;;13030:24;:::i;:::-;;;;-1:-1:-1;;13082:4:0;13065:23;;;;:8;:23;;;;;:36;;13092:9;;13065:23;:36;;13092:9;;13065:36;:::i;:::-;;;;-1:-1:-1;;13117:40:0;;1361:25:1;;;13140:4:0;;-1:-1:-1;;;;;13117:40:0;;;-1:-1:-1;;;;;;;;;;;13117:40:0;1349:2:1;1334:18;13117:40:0;;;;;;;13177:14;12762:437;-1:-1:-1;;;;;;12762:437:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;:::-;2491:5;2255:247;-1:-1:-1;;;2255:247:1:o;2507:316::-;2584:6;2592;2600;2653:2;2641:9;2632:7;2628:23;2624:32;2621:52;;;2669:1;2666;2659:12;2621:52;-1:-1:-1;;2692:23:1;;;2762:2;2747:18;;2734:32;;-1:-1:-1;2813:2:1;2798:18;;;2785:32;;2507:316;-1:-1:-1;2507:316:1:o;2828:388::-;2896:6;2904;2957:2;2945:9;2936:7;2932:23;2928:32;2925:52;;;2973:1;2970;2963:12;2925:52;3012:9;2999:23;3031:31;3056:5;3031:31;:::i;:::-;3081:5;-1:-1:-1;3138:2:1;3123:18;;3110:32;3151:33;3110:32;3151:33;:::i;:::-;3203:7;3193:17;;;2828:388;;;;;:::o;3221:127::-;3282:10;3277:3;3273:20;3270:1;3263:31;3313:4;3310:1;3303:15;3337:4;3334:1;3327:15;3353:128;3420:9;;;3441:11;;;3438:37;;;3455:18;;:::i;3486:356::-;3688:2;3670:21;;;3707:18;;;3700:30;3766:34;3761:2;3746:18;;3739:62;3833:2;3818:18;;3486:356::o;4190:125::-;4255:9;;;4276:10;;;4273:36;;;4289:18;;:::i;4675:251::-;4745:6;4798:2;4786:9;4777:7;4773:23;4769:32;4766:52;;;4814:1;4811;4804:12;4766:52;4846:9;4840:16;4865:31;4890:5;4865:31;:::i;5240:607::-;-1:-1:-1;;;;;5599:15:1;;;5581:34;;5646:2;5631:18;;5624:34;;;;5689:2;5674:18;;5667:34;;;;5732:2;5717:18;;5710:34;;;;5781:15;;;5775:3;5760:19;;5753:44;5561:3;5813:19;;5806:35;;;;5530:3;5515:19;;5240:607::o;5852:306::-;5940:6;5948;5956;6009:2;5997:9;5988:7;5984:23;5980:32;5977:52;;;6025:1;6022;6015:12;5977:52;6054:9;6048:16;6038:26;;6104:2;6093:9;6089:18;6083:25;6073:35;;6148:2;6137:9;6133:18;6127:25;6117:35;;5852:306;;;;;:::o;8135:217::-;8175:1;8201;8191:132;;8245:10;8240:3;8236:20;8233:1;8226:31;8280:4;8277:1;8270:15;8308:4;8305:1;8298:15;8191:132;-1:-1:-1;8337:9:1;;8135:217::o;8357:168::-;8430:9;;;8461;;8478:15;;;8472:22;;8458:37;8448:71;;8499:18;;:::i;8662:127::-;8723:10;8718:3;8714:20;8711:1;8704:31;8754:4;8751:1;8744:15;8778:4;8775:1;8768:15;8794:461;8847:3;8885:5;8879:12;8912:6;8907:3;8900:19;8938:4;8967:2;8962:3;8958:12;8951:19;;9004:2;8997:5;8993:14;9025:1;9035:195;9049:6;9046:1;9043:13;9035:195;;;9114:13;;-1:-1:-1;;;;;9110:39:1;9098:52;;9170:12;;;;9205:15;;;;9146:1;9064:9;9035:195;;;-1:-1:-1;9246:3:1;;8794:461;-1:-1:-1;;;;;8794:461:1:o;9260:590::-;9567:6;9556:9;9549:25;9610:6;9605:2;9594:9;9590:18;9583:34;9653:3;9648:2;9637:9;9633:18;9626:31;9530:4;9674:57;9726:3;9715:9;9711:19;9703:6;9674:57;:::i;:::-;-1:-1:-1;;;;;9767:32:1;;;;9762:2;9747:18;;9740:60;-1:-1:-1;9831:3:1;9816:19;9809:35;9666:65;9260:590;-1:-1:-1;;;9260:590:1:o

Swarm Source

ipfs://3799c4d554599d1b721f2139548cfdf7e06a3160c79da3aa58d2ce01afc8ee02

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.