ETH Price: $3,505.64 (-0.11%)
Gas: 2 Gwei

Contract

0x4853b3c490880c1d9Bd9a920EfC86609F2c1b381
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Approve185052132023-11-05 10:28:23258 days ago1699180103IN
0x4853b3c4...9F2c1b381
0 ETH0.0003810115.75088887
Approve183983492023-10-21 11:20:35273 days ago1697887235IN
0x4853b3c4...9F2c1b381
0 ETH0.000355997.68788592
Transfer183256332023-10-11 7:12:11283 days ago1697008331IN
0x4853b3c4...9F2c1b381
0 ETH0.00049057.6983023
Transfer183173032023-10-10 3:13:59285 days ago1696907639IN
0x4853b3c4...9F2c1b381
0 ETH0.000505767.93772764
Approve183126542023-10-09 11:35:47285 days ago1696851347IN
0x4853b3c4...9F2c1b381
0 ETH0.000296596.41512762
Approve182884992023-10-06 2:32:23289 days ago1696559543IN
0x4853b3c4...9F2c1b381
0 ETH0.000271465.83372979
Approve181414062023-09-15 11:44:47309 days ago1694778287IN
0x4853b3c4...9F2c1b381
0 ETH0.000655314.16999667
Approve180670822023-09-05 1:45:11320 days ago1693878311IN
0x4853b3c4...9F2c1b381
0 ETH0.000456249.817198
Approve180484752023-09-02 11:16:59322 days ago1693653419IN
0x4853b3c4...9F2c1b381
0 ETH0.0005113711.00340908
Approve180416792023-09-01 12:23:35323 days ago1693571015IN
0x4853b3c4...9F2c1b381
0 ETH0.0007111215.30161116
Approve180390622023-09-01 3:36:35324 days ago1693539395IN
0x4853b3c4...9F2c1b381
0 ETH0.0005718712.36593484
Approve180054042023-08-27 10:27:35328 days ago1693132055IN
0x4853b3c4...9F2c1b381
0 ETH0.000702715.17514564
Approve179705612023-08-22 13:30:23333 days ago1692711023IN
0x4853b3c4...9F2c1b381
0 ETH0.0016878536.44997408
Approve179632202023-08-21 12:51:35334 days ago1692622295IN
0x4853b3c4...9F2c1b381
0 ETH0.0007928217.05963002
Approve179456342023-08-19 1:45:59337 days ago1692409559IN
0x4853b3c4...9F2c1b381
0 ETH0.0006927314.90580622
Approve179397212023-08-18 5:53:59337 days ago1692338039IN
0x4853b3c4...9F2c1b381
0 ETH0.0006901614.85056773
Approve179386342023-08-18 2:14:11338 days ago1692324851IN
0x4853b3c4...9F2c1b381
0 ETH0.0013437628.89945992
Approve179385842023-08-18 2:04:11338 days ago1692324251IN
0x4853b3c4...9F2c1b381
0 ETH0.0014206130.5286121
Approve179385302023-08-18 1:53:23338 days ago1692323603IN
0x4853b3c4...9F2c1b381
0 ETH0.0012435526.75814907
Approve179352322023-08-17 14:47:47338 days ago1692283667IN
0x4853b3c4...9F2c1b381
0 ETH0.0016263134.99418767
Approve179348062023-08-17 13:21:59338 days ago1692278519IN
0x4853b3c4...9F2c1b381
0 ETH0.000972820.92153558
Approve179336442023-08-17 9:28:35338 days ago1692264515IN
0x4853b3c4...9F2c1b381
0 ETH0.0009717320.98504282
Approve179283882023-08-16 15:49:23339 days ago1692200963IN
0x4853b3c4...9F2c1b381
0 ETH0.001744837.49526232
Approve179266752023-08-16 10:04:23339 days ago1692180263IN
0x4853b3c4...9F2c1b381
0 ETH0.0011847525.45995415
Approve179249622023-08-16 4:19:11340 days ago1692159551IN
0x4853b3c4...9F2c1b381
0 ETH0.0008905119.13696997
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-11
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

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

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

    function WETH() external pure returns (address);

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

interface IUniswapV2Pair {
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function token0() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function totalSupply() external view returns (uint256);
}

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

abstract contract Ownable {
    address internal _owner;

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

    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

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

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

    address public fundAddress;

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

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

    IUniswapRouter public _uniswapRouter;

    mapping(address => bool) public isMarketPair;
    bool private inSwap;

    uint256 private constant MAX = ~uint256(0);

    uint256 public _buyFundFee = 20;
    uint256 public _sellFundFee = 20;

    address public _uniswapPair;

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

    constructor (){
        _name = "Kvb Coin";
        _symbol = "KVB";
        _decimals = 18;
        uint256 Supply = 420690000000000;
        
        IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        _uniswapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;

        IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory());
        address swapPair = swapFactory.createPair(address(this), swapRouter.WETH());
        _uniswapPair = swapPair;
        isMarketPair[swapPair] = true;

        _totalSupply = Supply * 10 ** _decimals;
        require(_totalSupply < ~uint112(0),"high decimals");

        address receiveAddr = 0xF600E540816d2883E516f3524E9Df9a7993afD04;
        _balances[receiveAddr] = _totalSupply;
        emit Transfer(address(0), receiveAddr, _totalSupply);

        fundAddress = 0x26e8625BB53e63bC870131EF0b25c76C93E23Eb4;

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

    function setFundAddr(address newAddr) public onlyOwner{
        fundAddress = newAddr;
    }

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

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

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

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

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

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

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

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

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

    function DesignTax(
        uint256 newBuyFundFee,
        uint256 newSellFundFee
    ) public onlyOwner{
        _buyFundFee = newBuyFundFee;
        _sellFundFee = newSellFundFee;
    }

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

    bool public remainHolder = true;
    function changeRemain(
        bool status
    ) public onlyOwner{
        remainHolder = status;
    }

    function _isAddLiquidity() internal view returns (bool isAdd){
        IUniswapV2Pair mainPair = IUniswapV2Pair(_uniswapPair);
        (uint r0,uint256 r1,) = mainPair.getReserves();

        address tokenOther = _uniswapRouter.WETH();
        uint256 r;
        if (tokenOther < address(this)) {
            r = r0;
        } else {
            r = r1;
        }

        uint bal = IERC20(tokenOther).balanceOf(address(mainPair));
        isAdd = bal > r;
    }

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

        bool takeFee;
        bool isAdd;

        if (isMarketPair[to]) {
            isAdd = _isAddLiquidity();
        }

        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to]) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance > 0) {
                uint256 numTokensSellToFund = amount;
                numTokensSellToFund = numTokensSellToFund > contractTokenBalance ? 
                                                            contractTokenBalance:numTokensSellToFund;
                swapTokenForETH(numTokensSellToFund);
            }
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            require(tradingOpen(),"!trading");
            takeFee = true;

            // remainHolder
            if (remainHolder && amount == balance && isMarketPair[to]) {
                amount -= 1*10**_decimals / 10;
            }
        }

        _transferToken(from, to, amount, takeFee, isAdd);
    }

    function tradingOpen() public view returns(bool){
        return block.timestamp >= tradingBlock && tradingBlock != 0;
    }

    uint256 public tradingBlock;
    function enableTrading(
        uint256 _time
    ) public onlyOwner{
        tradingBlock = _time;
    }

    function closeTrading() public onlyOwner{
        tradingBlock = 0;
    }

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

        if (takeFee && !isAdd) {
            uint256 taxFee;
            if (isMarketPair[recipient]) {
                taxFee = _sellFundFee;
            } else if (isMarketPair[sender]){
                taxFee = _buyFundFee;
            }
            uint256 swapAmount = tAmount * taxFee / 10000;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _balances[address(this)] = _balances[address(this)] + swapAmount;
                emit Transfer(sender, address(this), swapAmount);
            }
        }

        _balances[recipient] = _balances[recipient] + (tAmount - feeAmount);
        emit Transfer(sender, recipient, tAmount - feeAmount);

    }

    function swapTokenForETH(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapRouter.WETH();
        try _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(fundAddress),
            block.timestamp
        ) {} catch {}

    }

    function setIsExcludeFromFees(address account, bool value) public onlyOwner{
        _isExcludeFromFee[account] = value;
    }

    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":"uint256","name":"newBuyFundFee","type":"uint256"},{"internalType":"uint256","name":"newSellFundFee","type":"uint256"}],"name":"DesignTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"changeRemain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"closeTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_time","type":"uint256"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"remainHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddr","type":"address"}],"name":"setFundAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setIsExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"}]

60806040526014600c819055600d55600e805460ff60a01b1916600160a01b1790553480156200002e57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600881526725bb311021b7b4b760c11b60208201526004906200009e9082620004db565b5060408051808201909152600381526225ab2160e91b6020820152600590620000c89082620004db565b506006805460ff19166012179055600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915530600090815260026020908152604080832084845282528083206000199055805163c45a015560e01b8152905166017e9d8602b400949392849263c45a015592600480830193928290030181865afa15801562000160573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001869190620005a7565b90506000816001600160a01b031663c9c6539630856001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ff9190620005a7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200024d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002739190620005a7565b600e80546001600160a01b0319166001600160a01b0383169081179091556000908152600a60208190526040909120805460ff19166001179055600654919250620002c29160ff1690620006ee565b620002ce9085620006ff565b60088190556001600160701b03116200031d5760405162461bcd60e51b815260206004820152600d60248201526c6869676820646563696d616c7360981b604482015260640160405180910390fd5b60085473f600e540816d2883e516f3524e9df9a7993afd046000818152600160209081527f699488ba31e463f3183069d739a72738d20d7d508b905555b17948b6e4a2c558849055604051938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b0319167326e8625bb53e63bc870131ef0b25c76c93e23eb417815530600090815260076020526040808220805460ff1990811660019081179092556001600160a01b0398891684528284208054821683179055338452828420805482168317905594881683528183208054861682179055925490961681529490942080549091169093179092555062000719915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200046157607f821691505b6020821081036200048257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004d657600081815260208120601f850160051c81016020861015620004b15750805b601f850160051c820191505b81811015620004d257828155600101620004bd565b5050505b505050565b81516001600160401b03811115620004f757620004f762000436565b6200050f816200050884546200044c565b8462000488565b602080601f8311600181146200054757600084156200052e5750858301515b600019600386901b1c1916600185901b178555620004d2565b600085815260208120601f198616915b82811015620005785788860151825594840194600190910190840162000557565b5085821015620005975787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620005ba57600080fd5b81516001600160a01b0381168114620005d257600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000630578160001904821115620006145762000614620005d9565b808516156200062257918102915b93841c9390800290620005f4565b509250929050565b6000826200064957506001620006e8565b816200065857506000620006e8565b81600181146200067157600281146200067c576200069c565b6001915050620006e8565b60ff841115620006905762000690620005d9565b50506001821b620006e8565b5060208310610133831016604e8410600b8410161715620006c1575081810a620006e8565b620006cd8383620005ef565b8060001904821115620006e457620006e4620005d9565b0290505b92915050565b6000620005d260ff84168362000638565b8082028115828204841417620006e857620006e8620005d9565b61164880620007296000396000f3fe6080604052600436106101bb5760003560e01c806382aa7c68116100ec578063cd51e6d41161008a578063dd62ed3e11610064578063dd62ed3e146104f3578063e82bef2914610539578063f2fde38b14610559578063ffb54a991461057957600080fd5b8063cd51e6d4146104a6578063ce0192f9146104bc578063cefab2af146104d257600080fd5b806395d89b41116100c657806395d89b411461043c57806397a9895514610451578063a9059cbb14610466578063c447ba1a1461048657600080fd5b806382aa7c68146103de578063863587cd146103fe5780638da5cb5b1461041e57600080fd5b80633bfe62ca1161015957806365b61b771161013357806365b61b77146103535780636f39cfcd1461037357806370a0823114610393578063715018a6146103c957600080fd5b80633bfe62ca146102d55780633ecad271146102eb5780634bf28fd01461031b57600080fd5b806323b872dd1161019557806323b872dd14610241578063313ce56714610261578063346276ab1461028357806336b2e027146102a557600080fd5b806306fdde03146101c7578063095ea7b3146101f257806318160ddd1461022257600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61058e565b6040516101e99190611151565b60405180910390f35b3480156101fe57600080fd5b5061021261020d3660046111b7565b610620565b60405190151581526020016101e9565b34801561022e57600080fd5b506008545b6040519081526020016101e9565b34801561024d57600080fd5b5061021261025c3660046111e3565b610637565b34801561026d57600080fd5b5060065460405160ff90911681526020016101e9565b34801561028f57600080fd5b506102a361029e366004611239565b6106ce565b005b3480156102b157600080fd5b506102126102c036600461125b565b60076020526000908152604090205460ff1681565b3480156102e157600080fd5b50610233600d5481565b3480156102f757600080fd5b5061021261030636600461125b565b600a6020526000908152604090205460ff1681565b34801561032757600080fd5b50600e5461033b906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b34801561035f57600080fd5b5060095461033b906001600160a01b031681565b34801561037f57600080fd5b506102a361038e36600461125b565b61071f565b34801561039f57600080fd5b506102336103ae36600461125b565b6001600160a01b031660009081526001602052604090205490565b3480156103d557600080fd5b506102a361076b565b3480156103ea57600080fd5b506102a36103f9366004611278565b6107df565b34801561040a57600080fd5b506102a3610419366004611291565b61080e565b34801561042a57600080fd5b506000546001600160a01b031661033b565b34801561044857600080fd5b506101dc610863565b34801561045d57600080fd5b506102a3610872565b34801561047257600080fd5b506102126104813660046111b7565b6108a3565b34801561049257600080fd5b506102a36104a13660046112c6565b6108b0565b3480156104b257600080fd5b50610233600f5481565b3480156104c857600080fd5b50610233600c5481565b3480156104de57600080fd5b50600e5461021290600160a01b900460ff1681565b3480156104ff57600080fd5b5061023361050e3660046112e8565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561054557600080fd5b5060035461033b906001600160a01b031681565b34801561056557600080fd5b506102a361057436600461125b565b6108e5565b34801561058557600080fd5b506102126109ab565b60606004805461059d90611321565b80601f01602080910402602001604051908101604052809291908181526020018280546105c990611321565b80156106165780601f106105eb57610100808354040283529160200191610616565b820191906000526020600020905b8154815290600101906020018083116105f957829003601f168201915b5050505050905090565b600061062d3384846109c5565b5060015b92915050565b6000610644848484610a26565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146106c4576001600160a01b038416600090815260026020908152604080832033845290915290205461069f908390611371565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146107015760405162461bcd60e51b81526004016106f890611384565b60405180910390fd5b600e8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146107495760405162461bcd60e51b81526004016106f890611384565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107955760405162461bcd60e51b81526004016106f890611384565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108095760405162461bcd60e51b81526004016106f890611384565b600f55565b6000546001600160a01b031633146108385760405162461bcd60e51b81526004016106f890611384565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60606005805461059d90611321565b6000546001600160a01b0316331461089c5760405162461bcd60e51b81526004016106f890611384565b6000600f55565b600061062d338484610a26565b6000546001600160a01b031633146108da5760405162461bcd60e51b81526004016106f890611384565b600c91909155600d55565b6000546001600160a01b0316331461090f5760405162461bcd60e51b81526004016106f890611384565b6001600160a01b0381166109505760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106f8565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000600f5442101580156109c05750600f5415155b905090565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610a825760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016106f8565b6001600160a01b0383166000908152600a6020526040812054819060ff1615610ab057610aad610c83565b90505b6001600160a01b0385166000908152600a602052604090205460ff168015610adb5750600b5460ff16155b8015610b0057506001600160a01b03861660009081526007602052604090205460ff16155b8015610b2557506001600160a01b03851660009081526007602052604090205460ff16155b15610b5f57306000908152600160205260409020548015610b5d5784818111610b4e5780610b50565b815b9050610b5b81610e23565b505b505b6001600160a01b03861660009081526007602052604090205460ff16158015610ba157506001600160a01b03851660009081526007602052604090205460ff16155b8015610bb05750600b5460ff16155b15610c6e57610bbd6109ab565b610bf45760405162461bcd60e51b81526020600482015260086024820152672174726164696e6760c01b60448201526064016106f8565b600e5460019250600160a01b900460ff168015610c1057508284145b8015610c3457506001600160a01b0385166000908152600a602052604090205460ff165b15610c6e57600654600a90610c4c9060ff1682611493565b610c579060016114a2565b610c6191906114b9565b610c6b9085611371565b93505b610c7b8686868585610f7b565b505050505050565b600e5460408051630240bc6b60e21b815290516000926001600160a01b031691839182918491630902f1ac916004808201926060929091908290030181865afa158015610cd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf891906114f2565b506001600160701b031691506001600160701b031691506000600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d889190611542565b90506000306001600160a01b0383161015610da4575082610da7565b50815b6040516370a0823160e01b81526001600160a01b038681166004830152600091908416906370a0823190602401602060405180830381865afa158015610df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e15919061155f565b919091119695505050505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e6557610e65611578565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee29190611542565b81600181518110610ef557610ef5611578565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac94792610f41928792600092889290911690429060040161158e565b600060405180830381600087803b158015610f5b57600080fd5b505af1925050508015610f6c575060015b505050600b805460ff19169055565b6001600160a01b038516600090815260016020526040902054610f9f908490611371565b6001600160a01b038616600090815260016020526040812091909155828015610fc6575081155b156110c1576001600160a01b0385166000908152600a602052604081205460ff1615610ff55750600d5461101b565b6001600160a01b0387166000908152600a602052604090205460ff161561101b5750600c545b600061271061102a83886114a2565b61103491906114b9565b905080156110be5761104681846115ff565b306000908152600160205260409020549093506110649082906115ff565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110b59085815260200190565b60405180910390a35b50505b6110cb8185611371565b6001600160a01b0386166000908152600160205260409020546110ee91906115ff565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111388488611371565b60405190815260200160405180910390a3505050505050565b600060208083528351808285015260005b8181101561117e57858101830151858201604001528201611162565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111b457600080fd5b50565b600080604083850312156111ca57600080fd5b82356111d58161119f565b946020939093013593505050565b6000806000606084860312156111f857600080fd5b83356112038161119f565b925060208401356112138161119f565b929592945050506040919091013590565b8035801515811461123457600080fd5b919050565b60006020828403121561124b57600080fd5b61125482611224565b9392505050565b60006020828403121561126d57600080fd5b81356112548161119f565b60006020828403121561128a57600080fd5b5035919050565b600080604083850312156112a457600080fd5b82356112af8161119f565b91506112bd60208401611224565b90509250929050565b600080604083850312156112d957600080fd5b50508035926020909101359150565b600080604083850312156112fb57600080fd5b82356113068161119f565b915060208301356113168161119f565b809150509250929050565b600181811c9082168061133557607f821691505b60208210810361135557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156106315761063161135b565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600181815b808511156113ea5781600019048211156113d0576113d061135b565b808516156113dd57918102915b93841c93908002906113b4565b509250929050565b60008261140157506001610631565b8161140e57506000610631565b8160018114611424576002811461142e5761144a565b6001915050610631565b60ff84111561143f5761143f61135b565b50506001821b610631565b5060208310610133831016604e8410600b841016171561146d575081810a610631565b61147783836113af565b806000190482111561148b5761148b61135b565b029392505050565b600061125460ff8416836113f2565b80820281158282048414176106315761063161135b565b6000826114d657634e487b7160e01b600052601260045260246000fd5b500490565b80516001600160701b038116811461123457600080fd5b60008060006060848603121561150757600080fd5b611510846114db565b925061151e602085016114db565b9150604084015163ffffffff8116811461153757600080fd5b809150509250925092565b60006020828403121561155457600080fd5b81516112548161119f565b60006020828403121561157157600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115de5784516001600160a01b0316835293830193918301916001016115b9565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156106315761063161135b56fea2646970667358221220262002a2d5c2b5f9773c07be4e9da8375958c7a4d1a6fe2343e7e516bbccc25e64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c806382aa7c68116100ec578063cd51e6d41161008a578063dd62ed3e11610064578063dd62ed3e146104f3578063e82bef2914610539578063f2fde38b14610559578063ffb54a991461057957600080fd5b8063cd51e6d4146104a6578063ce0192f9146104bc578063cefab2af146104d257600080fd5b806395d89b41116100c657806395d89b411461043c57806397a9895514610451578063a9059cbb14610466578063c447ba1a1461048657600080fd5b806382aa7c68146103de578063863587cd146103fe5780638da5cb5b1461041e57600080fd5b80633bfe62ca1161015957806365b61b771161013357806365b61b77146103535780636f39cfcd1461037357806370a0823114610393578063715018a6146103c957600080fd5b80633bfe62ca146102d55780633ecad271146102eb5780634bf28fd01461031b57600080fd5b806323b872dd1161019557806323b872dd14610241578063313ce56714610261578063346276ab1461028357806336b2e027146102a557600080fd5b806306fdde03146101c7578063095ea7b3146101f257806318160ddd1461022257600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61058e565b6040516101e99190611151565b60405180910390f35b3480156101fe57600080fd5b5061021261020d3660046111b7565b610620565b60405190151581526020016101e9565b34801561022e57600080fd5b506008545b6040519081526020016101e9565b34801561024d57600080fd5b5061021261025c3660046111e3565b610637565b34801561026d57600080fd5b5060065460405160ff90911681526020016101e9565b34801561028f57600080fd5b506102a361029e366004611239565b6106ce565b005b3480156102b157600080fd5b506102126102c036600461125b565b60076020526000908152604090205460ff1681565b3480156102e157600080fd5b50610233600d5481565b3480156102f757600080fd5b5061021261030636600461125b565b600a6020526000908152604090205460ff1681565b34801561032757600080fd5b50600e5461033b906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b34801561035f57600080fd5b5060095461033b906001600160a01b031681565b34801561037f57600080fd5b506102a361038e36600461125b565b61071f565b34801561039f57600080fd5b506102336103ae36600461125b565b6001600160a01b031660009081526001602052604090205490565b3480156103d557600080fd5b506102a361076b565b3480156103ea57600080fd5b506102a36103f9366004611278565b6107df565b34801561040a57600080fd5b506102a3610419366004611291565b61080e565b34801561042a57600080fd5b506000546001600160a01b031661033b565b34801561044857600080fd5b506101dc610863565b34801561045d57600080fd5b506102a3610872565b34801561047257600080fd5b506102126104813660046111b7565b6108a3565b34801561049257600080fd5b506102a36104a13660046112c6565b6108b0565b3480156104b257600080fd5b50610233600f5481565b3480156104c857600080fd5b50610233600c5481565b3480156104de57600080fd5b50600e5461021290600160a01b900460ff1681565b3480156104ff57600080fd5b5061023361050e3660046112e8565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561054557600080fd5b5060035461033b906001600160a01b031681565b34801561056557600080fd5b506102a361057436600461125b565b6108e5565b34801561058557600080fd5b506102126109ab565b60606004805461059d90611321565b80601f01602080910402602001604051908101604052809291908181526020018280546105c990611321565b80156106165780601f106105eb57610100808354040283529160200191610616565b820191906000526020600020905b8154815290600101906020018083116105f957829003601f168201915b5050505050905090565b600061062d3384846109c5565b5060015b92915050565b6000610644848484610a26565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146106c4576001600160a01b038416600090815260026020908152604080832033845290915290205461069f908390611371565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146107015760405162461bcd60e51b81526004016106f890611384565b60405180910390fd5b600e8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146107495760405162461bcd60e51b81526004016106f890611384565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107955760405162461bcd60e51b81526004016106f890611384565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108095760405162461bcd60e51b81526004016106f890611384565b600f55565b6000546001600160a01b031633146108385760405162461bcd60e51b81526004016106f890611384565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60606005805461059d90611321565b6000546001600160a01b0316331461089c5760405162461bcd60e51b81526004016106f890611384565b6000600f55565b600061062d338484610a26565b6000546001600160a01b031633146108da5760405162461bcd60e51b81526004016106f890611384565b600c91909155600d55565b6000546001600160a01b0316331461090f5760405162461bcd60e51b81526004016106f890611384565b6001600160a01b0381166109505760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106f8565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000600f5442101580156109c05750600f5415155b905090565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610a825760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016106f8565b6001600160a01b0383166000908152600a6020526040812054819060ff1615610ab057610aad610c83565b90505b6001600160a01b0385166000908152600a602052604090205460ff168015610adb5750600b5460ff16155b8015610b0057506001600160a01b03861660009081526007602052604090205460ff16155b8015610b2557506001600160a01b03851660009081526007602052604090205460ff16155b15610b5f57306000908152600160205260409020548015610b5d5784818111610b4e5780610b50565b815b9050610b5b81610e23565b505b505b6001600160a01b03861660009081526007602052604090205460ff16158015610ba157506001600160a01b03851660009081526007602052604090205460ff16155b8015610bb05750600b5460ff16155b15610c6e57610bbd6109ab565b610bf45760405162461bcd60e51b81526020600482015260086024820152672174726164696e6760c01b60448201526064016106f8565b600e5460019250600160a01b900460ff168015610c1057508284145b8015610c3457506001600160a01b0385166000908152600a602052604090205460ff165b15610c6e57600654600a90610c4c9060ff1682611493565b610c579060016114a2565b610c6191906114b9565b610c6b9085611371565b93505b610c7b8686868585610f7b565b505050505050565b600e5460408051630240bc6b60e21b815290516000926001600160a01b031691839182918491630902f1ac916004808201926060929091908290030181865afa158015610cd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf891906114f2565b506001600160701b031691506001600160701b031691506000600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d889190611542565b90506000306001600160a01b0383161015610da4575082610da7565b50815b6040516370a0823160e01b81526001600160a01b038681166004830152600091908416906370a0823190602401602060405180830381865afa158015610df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e15919061155f565b919091119695505050505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e6557610e65611578565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee29190611542565b81600181518110610ef557610ef5611578565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac94792610f41928792600092889290911690429060040161158e565b600060405180830381600087803b158015610f5b57600080fd5b505af1925050508015610f6c575060015b505050600b805460ff19169055565b6001600160a01b038516600090815260016020526040902054610f9f908490611371565b6001600160a01b038616600090815260016020526040812091909155828015610fc6575081155b156110c1576001600160a01b0385166000908152600a602052604081205460ff1615610ff55750600d5461101b565b6001600160a01b0387166000908152600a602052604090205460ff161561101b5750600c545b600061271061102a83886114a2565b61103491906114b9565b905080156110be5761104681846115ff565b306000908152600160205260409020549093506110649082906115ff565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110b59085815260200190565b60405180910390a35b50505b6110cb8185611371565b6001600160a01b0386166000908152600160205260409020546110ee91906115ff565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111388488611371565b60405190815260200160405180910390a3505050505050565b600060208083528351808285015260005b8181101561117e57858101830151858201604001528201611162565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111b457600080fd5b50565b600080604083850312156111ca57600080fd5b82356111d58161119f565b946020939093013593505050565b6000806000606084860312156111f857600080fd5b83356112038161119f565b925060208401356112138161119f565b929592945050506040919091013590565b8035801515811461123457600080fd5b919050565b60006020828403121561124b57600080fd5b61125482611224565b9392505050565b60006020828403121561126d57600080fd5b81356112548161119f565b60006020828403121561128a57600080fd5b5035919050565b600080604083850312156112a457600080fd5b82356112af8161119f565b91506112bd60208401611224565b90509250929050565b600080604083850312156112d957600080fd5b50508035926020909101359150565b600080604083850312156112fb57600080fd5b82356113068161119f565b915060208301356113168161119f565b809150509250929050565b600181811c9082168061133557607f821691505b60208210810361135557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156106315761063161135b565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600181815b808511156113ea5781600019048211156113d0576113d061135b565b808516156113dd57918102915b93841c93908002906113b4565b509250929050565b60008261140157506001610631565b8161140e57506000610631565b8160018114611424576002811461142e5761144a565b6001915050610631565b60ff84111561143f5761143f61135b565b50506001821b610631565b5060208310610133831016604e8410600b841016171561146d575081810a610631565b61147783836113af565b806000190482111561148b5761148b61135b565b029392505050565b600061125460ff8416836113f2565b80820281158282048414176106315761063161135b565b6000826114d657634e487b7160e01b600052601260045260246000fd5b500490565b80516001600160701b038116811461123457600080fd5b60008060006060848603121561150757600080fd5b611510846114db565b925061151e602085016114db565b9150604084015163ffffffff8116811461153757600080fd5b809150509250925092565b60006020828403121561155457600080fd5b81516112548161119f565b60006020828403121561157157600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115de5784516001600160a01b0316835293830193918301916001016115b9565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156106315761063161135b56fea2646970667358221220262002a2d5c2b5f9773c07be4e9da8375958c7a4d1a6fe2343e7e516bbccc25e64736f6c63430008110033

Deployed Bytecode Sourcemap

2632:7748:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4845:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5608:159;;;;;;;;;;-1:-1:-1;5608:159:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5608:159:0;1023:187:1;5049:100:0;;;;;;;;;;-1:-1:-1;5129:12:0;;5049:100;;;1361:25:1;;;1349:2;1334:18;5049:100:0;1215:177:1;5775:336:0;;;;;;;;;;-1:-1:-1;5775:336:0;;;;;:::i;:::-;;:::i;4947:94::-;;;;;;;;;;-1:-1:-1;5024:9:0;;4947:94;;5024:9;;;;2000:36:1;;1988:2;1973:18;4947:94:0;1858:184:1;6543:107:0;;;;;;;;;;-1:-1:-1;6543:107:0;;;;;:::i;:::-;;:::i;:::-;;2924:49;;;;;;;;;;-1:-1:-1;2924:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3236:32;;;;;;;;;;;;;;;;3068:44;;;;;;;;;;-1:-1:-1;3068:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3277:27;;;;;;;;;;-1:-1:-1;3277:27:0;;;;-1:-1:-1;;;;;3277:27:0;;;;;;-1:-1:-1;;;;;2813:32:1;;;2795:51;;2783:2;2768:18;3277:27:0;2649:203:1;3023:36:0;;;;;;;;;;-1:-1:-1;3023:36:0;;;;-1:-1:-1;;;;;3023:36:0;;;4637:94;;;;;;;;;;-1:-1:-1;4637:94:0;;;;;:::i;:::-;;:::i;5157:119::-;;;;;;;;;;-1:-1:-1;5157:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5250:18:0;5223:7;5250:18;;;:9;:18;;;;;;;5157:119;2255:148;;;;;;;;;;;;;:::i;8600:109::-;;;;;;;;;;-1:-1:-1;8600:109:0;;;;;:::i;:::-;;:::i;10212:128::-;;;;;;;;;;-1:-1:-1;10212:128:0;;;;;:::i;:::-;;:::i;2058:79::-;;;;;;;;;;-1:-1:-1;2096:7:0;2123:6;-1:-1:-1;;;;;2123:6:0;2058:79;;4739:98;;;;;;;;;;;;;:::i;8717:75::-;;;;;;;;;;;;;:::i;5284:165::-;;;;;;;;;;-1:-1:-1;5284:165:0;;;;;:::i;:::-;;:::i;6119:193::-;;;;;;;;;;-1:-1:-1;6119:193:0;;;;;:::i;:::-;;:::i;8566:27::-;;;;;;;;;;;;;;;;3198:31;;;;;;;;;;;;;;;;6505;;;;;;;;;;-1:-1:-1;6505:31:0;;;;-1:-1:-1;;;6505:31:0;;;;;;5457:143;;;;;;;;;;-1:-1:-1;5457:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5565:18:0;;;5538:7;5565:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5457:143;2801:26;;;;;;;;;;-1:-1:-1;2801:26:0;;;;-1:-1:-1;;;;;2801:26:0;;;2411:214;;;;;;;;;;-1:-1:-1;2411:214:0;;;;;:::i;:::-;;:::i;8432:126::-;;;;;;;;;;;;;:::i;4845:94::-;4893:13;4926:5;4919:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4845:94;:::o;5608:159::-;5683:4;5700:37;5709:10;5721:7;5730:6;5700:8;:37::i;:::-;-1:-1:-1;5755:4:0;5608:159;;;;;:::o;5775:336::-;5873:4;5890:36;5900:6;5908:9;5919:6;5890:9;:36::i;:::-;-1:-1:-1;;;;;5941:19:0;;3187:1;5941:19;;;:11;:19;;;;;;;;5961:10;5941:31;;;;;;;;-1:-1:-1;;5941:38:0;5937:145;;-1:-1:-1;;;;;6030:19:0;;;;;;:11;:19;;;;;;;;6050:10;6030:31;;;;;;;;:40;;6064:6;;6030:40;:::i;:::-;-1:-1:-1;;;;;5996:19:0;;;;;;:11;:19;;;;;;;;6016:10;5996:31;;;;;;;:74;5937:145;-1:-1:-1;6099:4:0;5775:336;;;;;:::o;6543:107::-;2185:6;;-1:-1:-1;;;;;2185:6:0;2195:10;2185:20;2177:50;;;;-1:-1:-1;;;2177:50:0;;;;;;;:::i;:::-;;;;;;;;;6621:12:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;6621:21:0::1;-1:-1:-1::0;;;;6621:21:0;;::::1;::::0;;;::::1;::::0;;6543:107::o;4637:94::-;2185:6;;-1:-1:-1;;;;;2185:6:0;2195:10;2185:20;2177:50;;;;-1:-1:-1;;;2177:50:0;;;;;;;:::i;:::-;4702:11:::1;:21:::0;;-1:-1:-1;;;;;;4702:21:0::1;-1:-1:-1::0;;;;;4702:21:0;;;::::1;::::0;;;::::1;::::0;;4637:94::o;2255:148::-;2185:6;;-1:-1:-1;;;;;2185:6:0;2195:10;2185:20;2177:50;;;;-1:-1:-1;;;2177:50:0;;;;;;;:::i;:::-;2362:1:::1;2346:6:::0;;2325:40:::1;::::0;-1:-1:-1;;;;;2346:6:0;;::::1;::::0;2325:40:::1;::::0;2362:1;;2325:40:::1;2393:1;2376:19:::0;;-1:-1:-1;;;;;;2376:19:0::1;::::0;;2255:148::o;8600:109::-;2185:6;;-1:-1:-1;;;;;2185:6:0;2195:10;2185:20;2177:50;;;;-1:-1:-1;;;2177:50:0;;;;;;;:::i;:::-;8681:12:::1;:20:::0;8600:109::o;10212:128::-;2185:6;;-1:-1:-1;;;;;2185:6:0;2195:10;2185:20;2177:50;;;;-1:-1:-1;;;2177:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10298:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;10298:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10212:128::o;4739:98::-;4789:13;4822:7;4815:14;;;;;:::i;8717:75::-;2185:6;;-1:-1:-1;;;;;2185:6:0;2195:10;2185:20;2177:50;;;;-1:-1:-1;;;2177:50:0;;;;;;;:::i;:::-;8783:1:::1;8768:12;:16:::0;8717:75::o;5284:165::-;5362:4;5379:40;5389:10;5401:9;5412:6;5379:9;:40::i;6119:193::-;2185:6;;-1:-1:-1;;;;;2185:6:0;2195:10;2185:20;2177:50;;;;-1:-1:-1;;;2177:50:0;;;;;;;:::i;:::-;6237:11:::1;:27:::0;;;;6275:12:::1;:29:::0;6119:193::o;2411:214::-;2185:6;;-1:-1:-1;;;;;2185:6:0;2195:10;2185:20;2177:50;;;;-1:-1:-1;;;2177:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2500:22:0;::::1;2492:43;;;::::0;-1:-1:-1;;;2492:43:0;;5436:2:1;2492:43:0::1;::::0;::::1;5418:21:1::0;5475:1;5455:18;;;5448:29;-1:-1:-1;;;5493:18:1;;;5486:38;5541:18;;2492:43:0::1;5234:331:1::0;2492:43:0::1;2572:6;::::0;;2551:38:::1;::::0;-1:-1:-1;;;;;2551:38:0;;::::1;::::0;2572:6;::::1;::::0;2551:38:::1;::::0;::::1;2600:6;:17:::0;;-1:-1:-1;;;;;;2600:17:0::1;-1:-1:-1::0;;;;;2600:17:0;;;::::1;::::0;;;::::1;::::0;;2411:214::o;8432:126::-;8475:4;8517:12;;8498:15;:31;;:52;;;;-1:-1:-1;8533:12:0;;:17;;8498:52;8491:59;;8432:126;:::o;6320:177::-;-1:-1:-1;;;;;6405:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6457:32;;1361:25:1;;;6457:32:0;;1334:18:1;6457:32:0;;;;;;;6320:177;;;:::o;7143:1281::-;-1:-1:-1;;;;;5250:18:0;;7257:15;5250:18;;;:9;:18;;;;;;7309:17;;;;7301:46;;;;-1:-1:-1;;;7301:46:0;;5772:2:1;7301:46:0;;;5754:21:1;5811:2;5791:18;;;5784:30;-1:-1:-1;;;5830:18:1;;;5823:46;5886:18;;7301:46:0;5570:340:1;7301:46:0;-1:-1:-1;;;;;7410:16:0;;7360:12;7410:16;;;:12;:16;;;;;;7360:12;;7410:16;;7406:74;;;7451:17;:15;:17::i;:::-;7443:25;;7406:74;-1:-1:-1;;;;;7496:16:0;;;;;;:12;:16;;;;;;;;:27;;;;-1:-1:-1;7517:6:0;;;;7516:7;7496:27;:55;;;;-1:-1:-1;;;;;;7528:23:0;;;;;;:17;:23;;;;;;;;7527:24;7496:55;:81;;;;-1:-1:-1;;;;;;7556:21:0;;;;;;:17;:21;;;;;;;;7555:22;7496:81;7492:527;;;7643:4;7594:28;5250:18;;;:9;:18;;;;;;7668:24;;7664:344;;7743:6;7790:42;;;:147;;7918:19;7790:147;;;7897:20;7790:147;7768:169;;7956:36;7972:19;7956:15;:36::i;:::-;7694:314;7664:344;7579:440;7492:527;-1:-1:-1;;;;;8036:23:0;;;;;;:17;:23;;;;;;;;8035:24;:50;;;;-1:-1:-1;;;;;;8064:21:0;;;;;;:17;:21;;;;;;;;8063:22;8035:50;:61;;;;-1:-1:-1;8090:6:0;;;;8089:7;8035:61;8031:325;;;8121:13;:11;:13::i;:::-;8113:33;;;;-1:-1:-1;;;8113:33:0;;6117:2:1;8113:33:0;;;6099:21:1;6156:1;6136:18;;;6129:29;-1:-1:-1;;;6174:18:1;;;6167:38;6222:18;;8113:33:0;5915:331:1;8113:33:0;8225:12;;8171:4;;-1:-1:-1;;;;8225:12:0;;;;:33;;;;;8251:7;8241:6;:17;8225:33;:53;;;;-1:-1:-1;;;;;;8262:16:0;;;;;;:12;:16;;;;;;;;8225:53;8221:124;;;8315:9;;8327:2;;8311:13;;8315:9;;8327:2;8311:13;:::i;:::-;8309:15;;:1;:15;:::i;:::-;:20;;;;:::i;:::-;8299:30;;;;:::i;:::-;;;8221:124;8368:48;8383:4;8389:2;8393:6;8401:7;8410:5;8368:14;:48::i;:::-;7246:1178;;;7143:1281;;;:::o;6658:477::-;6771:12;;6819:22;;;-1:-1:-1;;;6819:22:0;;;;6708:10;;-1:-1:-1;;;;;6771:12:0;;6708:10;;;;6771:12;;6819:20;;:22;;;;;;;;;;;;;;;6771:12;6819:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6795:46;-1:-1:-1;;;;;6795:46:0;;;-1:-1:-1;;;;;6795:46:0;;;6854:18;6875:14;;;;;;;;;-1:-1:-1;;;;;6875:14:0;-1:-1:-1;;;;;6875:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6854:42;-1:-1:-1;6907:9:0;6952:4;-1:-1:-1;;;;;6931:26:0;;;6927:104;;;-1:-1:-1;6978:2:0;6927:104;;;-1:-1:-1;7017:2:0;6927:104;7054:47;;-1:-1:-1;;;7054:47:0;;-1:-1:-1;;;;;2813:32:1;;;7054:47:0;;;2795:51:1;7043:8:0;;7054:28;;;;;;2768:18:1;;7054:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7120:7;;;;;6658:477;-1:-1:-1;;;;;;6658:477:0:o;9773:431::-;3345:6;:13;;-1:-1:-1;;3345:13:0;3354:4;3345:13;;;9874:16:::1;::::0;;9888:1:::1;9874:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9874:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9874:16:0::1;9850:40;;9919:4;9901;9906:1;9901:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9901:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9945:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;9945:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;9901:7;;9945:21;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9935:4;9940:1;9935:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9935:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;9981:14:::1;::::0;10130:11:::1;::::0;9981:202:::1;::::0;-1:-1:-1;;;9981:202:0;;:14;;::::1;::::0;:65:::1;::::0;:202:::1;::::0;10061:11;;9981:14:::1;::::0;10103:4;;10130:11;;::::1;::::0;10157:15:::1;::::0;9981:202:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;9977:218:::0;-1:-1:-1;;3381:6:0;:14;;-1:-1:-1;;3381:14:0;;;9773:431::o;8800:965::-;-1:-1:-1;;;;;8993:17:0;;;;;;:9;:17;;;;;;:27;;9013:7;;8993:27;:::i;:::-;-1:-1:-1;;;;;8973:17:0;;;;;;:9;:17;;;;;:47;;;;9065:7;:17;;;;;9077:5;9076:6;9065:17;9061:551;;;-1:-1:-1;;;;;9132:23:0;;9099:14;9132:23;;;:12;:23;;;;;;;;9128:171;;;-1:-1:-1;9185:12:0;;9128:171;;;-1:-1:-1;;;;;9223:20:0;;;;;;:12;:20;;;;;;;;9219:80;;;-1:-1:-1;9272:11:0;;9219:80;9313:18;9353:5;9334:16;9344:6;9334:7;:16;:::i;:::-;:24;;;;:::i;:::-;9313:45;-1:-1:-1;9377:14:0;;9373:228;;9412:23;9425:10;9412:23;;:::i;:::-;9499:4;9481:24;;;;:9;:24;;;;;;9412:23;;-1:-1:-1;9481:37:0;;9508:10;;9481:37;:::i;:::-;9472:4;9454:24;;;;:9;:24;;;;;;;:64;;;;9542:43;;-1:-1:-1;;;;;9542:43:0;;;;;;;9574:10;1361:25:1;;1349:2;1334:18;;1215:177;9542:43:0;;;;;;;;9373:228;9084:528;;9061:551;9671:19;9681:9;9671:7;:19;:::i;:::-;-1:-1:-1;;;;;9647:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;9624:20:0;;;;;;;:9;:20;;;;;:67;;;;9707:48;;;9735:19;9745:9;9735:7;:19;:::i;:::-;9707:48;;1361:25:1;;;1349:2;1334:18;9707:48:0;;;;;;;8962:803;8800:965;;;;;:::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;622:70;567:131;:::o;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;2047:160::-;2112:20;;2168:13;;2161:21;2151:32;;2141:60;;2197:1;2194;2187:12;2141:60;2047:160;;;:::o;2212:180::-;2268:6;2321:2;2309:9;2300:7;2296:23;2292:32;2289:52;;;2337:1;2334;2327:12;2289:52;2360:26;2376:9;2360:26;:::i;:::-;2350:36;2212:180;-1:-1:-1;;;2212:180:1:o;2397:247::-;2456:6;2509:2;2497:9;2488:7;2484:23;2480:32;2477:52;;;2525:1;2522;2515:12;2477:52;2564:9;2551:23;2583:31;2608:5;2583:31;:::i;3087:180::-;3146:6;3199:2;3187:9;3178:7;3174:23;3170:32;3167:52;;;3215:1;3212;3205:12;3167:52;-1:-1:-1;3238:23:1;;3087:180;-1:-1:-1;3087:180:1:o;3272:315::-;3337:6;3345;3398:2;3386:9;3377:7;3373:23;3369:32;3366:52;;;3414:1;3411;3404:12;3366:52;3453:9;3440:23;3472:31;3497:5;3472:31;:::i;:::-;3522:5;-1:-1:-1;3546:35:1;3577:2;3562:18;;3546:35;:::i;:::-;3536:45;;3272:315;;;;;:::o;3592:248::-;3660:6;3668;3721:2;3709:9;3700:7;3696:23;3692:32;3689:52;;;3737:1;3734;3727:12;3689:52;-1:-1:-1;;3760:23:1;;;3830:2;3815:18;;;3802:32;;-1:-1:-1;3592:248:1:o;3845:388::-;3913:6;3921;3974:2;3962:9;3953:7;3949:23;3945:32;3942:52;;;3990:1;3987;3980:12;3942:52;4029:9;4016:23;4048:31;4073:5;4048:31;:::i;:::-;4098:5;-1:-1:-1;4155:2:1;4140:18;;4127:32;4168:33;4127:32;4168:33;:::i;:::-;4220:7;4210:17;;;3845:388;;;;;:::o;4238:380::-;4317:1;4313:12;;;;4360;;;4381:61;;4435:4;4427:6;4423:17;4413:27;;4381:61;4488:2;4480:6;4477:14;4457:18;4454:38;4451:161;;4534:10;4529:3;4525:20;4522:1;4515:31;4569:4;4566:1;4559:15;4597:4;4594:1;4587:15;4451:161;;4238:380;;;:::o;4623:127::-;4684:10;4679:3;4675:20;4672:1;4665:31;4715:4;4712:1;4705:15;4739:4;4736:1;4729:15;4755:128;4822:9;;;4843:11;;;4840:37;;;4857:18;;:::i;4888:341::-;5090:2;5072:21;;;5129:2;5109:18;;;5102:30;-1:-1:-1;;;5163:2:1;5148:18;;5141:47;5220:2;5205:18;;4888:341::o;6251:422::-;6340:1;6383:5;6340:1;6397:270;6418:7;6408:8;6405:21;6397:270;;;6477:4;6473:1;6469:6;6465:17;6459:4;6456:27;6453:53;;;6486:18;;:::i;:::-;6536:7;6526:8;6522:22;6519:55;;;6556:16;;;;6519:55;6635:22;;;;6595:15;;;;6397:270;;;6401:3;6251:422;;;;;:::o;6678:806::-;6727:5;6757:8;6747:80;;-1:-1:-1;6798:1:1;6812:5;;6747:80;6846:4;6836:76;;-1:-1:-1;6883:1:1;6897:5;;6836:76;6928:4;6946:1;6941:59;;;;7014:1;7009:130;;;;6921:218;;6941:59;6971:1;6962:10;;6985:5;;;7009:130;7046:3;7036:8;7033:17;7030:43;;;7053:18;;:::i;:::-;-1:-1:-1;;7109:1:1;7095:16;;7124:5;;6921:218;;7223:2;7213:8;7210:16;7204:3;7198:4;7195:13;7191:36;7185:2;7175:8;7172:16;7167:2;7161:4;7158:12;7154:35;7151:77;7148:159;;;-1:-1:-1;7260:19:1;;;7292:5;;7148:159;7339:34;7364:8;7358:4;7339:34;:::i;:::-;7409:6;7405:1;7401:6;7397:19;7388:7;7385:32;7382:58;;;7420:18;;:::i;:::-;7458:20;;6678:806;-1:-1:-1;;;6678:806:1:o;7489:140::-;7547:5;7576:47;7617:4;7607:8;7603:19;7597:4;7576:47;:::i;7634:168::-;7707:9;;;7738;;7755:15;;;7749:22;;7735:37;7725:71;;7776:18;;:::i;7807:217::-;7847:1;7873;7863:132;;7917:10;7912:3;7908:20;7905:1;7898:31;7952:4;7949:1;7942:15;7980:4;7977:1;7970:15;7863:132;-1:-1:-1;8009:9:1;;7807:217::o;8029:188::-;8108:13;;-1:-1:-1;;;;;8150:42:1;;8140:53;;8130:81;;8207:1;8204;8197:12;8222:450;8309:6;8317;8325;8378:2;8366:9;8357:7;8353:23;8349:32;8346:52;;;8394:1;8391;8384:12;8346:52;8417:40;8447:9;8417:40;:::i;:::-;8407:50;;8476:49;8521:2;8510:9;8506:18;8476:49;:::i;:::-;8466:59;;8568:2;8557:9;8553:18;8547:25;8612:10;8605:5;8601:22;8594:5;8591:33;8581:61;;8638:1;8635;8628:12;8581:61;8661:5;8651:15;;;8222:450;;;;;:::o;8677:251::-;8747:6;8800:2;8788:9;8779:7;8775:23;8771:32;8768:52;;;8816:1;8813;8806:12;8768:52;8848:9;8842:16;8867:31;8892:5;8867:31;:::i;8933:184::-;9003:6;9056:2;9044:9;9035:7;9031:23;9027:32;9024:52;;;9072:1;9069;9062:12;9024:52;-1:-1:-1;9095:16:1;;8933:184;-1:-1:-1;8933:184:1:o;9254:127::-;9315:10;9310:3;9306:20;9303:1;9296:31;9346:4;9343:1;9336:15;9370:4;9367:1;9360:15;9386:980;9648:4;9696:3;9685:9;9681:19;9727:6;9716:9;9709:25;9753:2;9791:6;9786:2;9775:9;9771:18;9764:34;9834:3;9829:2;9818:9;9814:18;9807:31;9858:6;9893;9887:13;9924:6;9916;9909:22;9962:3;9951:9;9947:19;9940:26;;10001:2;9993:6;9989:15;9975:29;;10022:1;10032:195;10046:6;10043:1;10040:13;10032:195;;;10111:13;;-1:-1:-1;;;;;10107:39:1;10095:52;;10202:15;;;;10167:12;;;;10143:1;10061:9;10032:195;;;-1:-1:-1;;;;;;;10283:32:1;;;;10278:2;10263:18;;10256:60;-1:-1:-1;;;10347:3:1;10332:19;10325:35;10244:3;9386:980;-1:-1:-1;;;9386:980:1:o;10371:125::-;10436:9;;;10457:10;;;10454:36;;;10470:18;;:::i

Swarm Source

ipfs://262002a2d5c2b5f9773c07be4e9da8375958c7a4d1a6fe2343e7e516bbccc25e

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  ]

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.