ETH Price: $3,386.67 (-1.48%)
Gas: 2 Gwei

Contract

0xEa277346e91F35B254232A07d9A08757e4c92564
 

Overview

ETH Balance

6.518473108113740042 ETH

Eth Value

$22,075.93 (@ $3,386.67/ETH)

Token Holdings

Transaction Hash
Method
Block
From
To
Value
Claim Fees199607732024-05-27 11:00:3532 days ago1716807635IN
0xEa277346...7e4c92564
0 ETH0.0003441411.24207412
Transfer196791422024-04-18 1:43:5972 days ago1713404639IN
0xEa277346...7e4c92564
0 ETH0.000328259.37193878
Transfer196281502024-04-10 22:15:2379 days ago1712787323IN
0xEa277346...7e4c92564
0 ETH0.0005500515.7100208
Transfer196254902024-04-10 13:21:1179 days ago1712755271IN
0xEa277346...7e4c92564
0 ETH0.0008444524.11843389
Transfer196249662024-04-10 11:35:2379 days ago1712748923IN
0xEa277346...7e4c92564
0 ETH0.0005691316.25495139
Transfer196241322024-04-10 8:47:1180 days ago1712738831IN
0xEa277346...7e4c92564
0 ETH0.0004614613.17524358
Transfer196226742024-04-10 3:53:3580 days ago1712721215IN
0xEa277346...7e4c92564
0.002 ETH0.0002882113.72466366
Transfer196226712024-04-10 3:52:5980 days ago1712721179IN
0xEa277346...7e4c92564
0.004 ETH0.0002801313.3396115
Transfer196215522024-04-10 0:07:1180 days ago1712707631IN
0xEa277346...7e4c92564
0 ETH0.0008095623.11397087
Transfer196215092024-04-09 23:58:2380 days ago1712707103IN
0xEa277346...7e4c92564
0 ETH0.0007759922.16301392
Transfer196197932024-04-09 18:12:5980 days ago1712686379IN
0xEa277346...7e4c92564
0 ETH0.0010712830.58629312
Transfer196192592024-04-09 16:25:1180 days ago1712679911IN
0xEa277346...7e4c92564
0 ETH0.0016113346.02115614
Transfer196183272024-04-09 13:17:1180 days ago1712668631IN
0xEa277346...7e4c92564
0 ETH0.0010858831.00325275
Transfer196177572024-04-09 11:21:4780 days ago1712661707IN
0xEa277346...7e4c92564
0 ETH0.0012731124.44121109
Transfer196172682024-04-09 9:42:5980 days ago1712655779IN
0xEa277346...7e4c92564
0 ETH0.0007103720.28891727
Transfer196171642024-04-09 9:21:5981 days ago1712654519IN
0xEa277346...7e4c92564
0 ETH0.000747721.34787915
Transfer196170062024-04-09 8:50:1181 days ago1712652611IN
0xEa277346...7e4c92564
0 ETH0.0007276220.7744238
Transfer196159612024-04-09 5:19:1181 days ago1712639951IN
0xEa277346...7e4c92564
0 ETH0.0006930219.7864818
Transfer196152872024-04-09 3:03:3581 days ago1712631815IN
0xEa277346...7e4c92564
0.01 ETH0.0003842518.29765202
Transfer196152852024-04-09 3:03:1181 days ago1712631791IN
0xEa277346...7e4c92564
0.01 ETH0.0004018119.13383794
Transfer196152792024-04-09 3:01:5981 days ago1712631719IN
0xEa277346...7e4c92564
0.01 ETH0.0004015319.12063412
Transfer196149952024-04-09 2:04:4781 days ago1712628287IN
0xEa277346...7e4c92564
0 ETH0.0010561620.27142832
Transfer196134942024-04-08 21:02:2381 days ago1712610143IN
0xEa277346...7e4c92564
0.0001 ETH0.000662731.55724094
Transfer196134912024-04-08 21:01:4781 days ago1712610107IN
0xEa277346...7e4c92564
0.05 ETH0.0006452730.72714798
Transfer196134702024-04-08 20:57:3581 days ago1712609855IN
0xEa277346...7e4c92564
0 ETH0.0008350923.84284839
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
199607732024-05-27 11:00:3532 days ago1716807635
0xEa277346...7e4c92564
19.70275236 ETH
196010652024-04-07 3:13:1183 days ago1712459591
0xEa277346...7e4c92564
100.28974701 ETH
195784232024-04-03 23:07:5986 days ago1712185679
0xEa277346...7e4c92564
0.17968045 ETH
195775202024-04-03 20:06:1186 days ago1712174771
0xEa277346...7e4c92564
0.25729295 ETH
195770712024-04-03 18:35:5986 days ago1712169359
0xEa277346...7e4c92564
0.09374086 ETH
195769732024-04-03 18:16:2386 days ago1712168183
0xEa277346...7e4c92564
0.04026862 ETH
195763802024-04-03 16:17:1186 days ago1712161031
0xEa277346...7e4c92564
0.0319127 ETH
195761722024-04-03 15:35:1186 days ago1712158511
0xEa277346...7e4c92564
0.07121066 ETH
195758742024-04-03 14:35:2386 days ago1712154923
0xEa277346...7e4c92564
4.22342342 ETH
195749562024-04-03 11:30:3586 days ago1712143835
0xEa277346...7e4c92564
0.54552711 ETH
195744702024-04-03 9:51:3586 days ago1712137895
0xEa277346...7e4c92564
0.34662782 ETH
195741602024-04-03 8:48:3587 days ago1712134115
0xEa277346...7e4c92564
0.03475379 ETH
195735992024-04-03 6:55:4787 days ago1712127347
0xEa277346...7e4c92564
0.18115522 ETH
195732932024-04-03 5:53:5987 days ago1712123639
0xEa277346...7e4c92564
0.05261803 ETH
195716212024-04-03 0:17:5987 days ago1712103479
0xEa277346...7e4c92564
2.74965271 ETH
195708362024-04-02 21:39:3587 days ago1712093975
0xEa277346...7e4c92564
0.05923701 ETH
195707772024-04-02 21:27:3587 days ago1712093255
0xEa277346...7e4c92564
0.03410637 ETH
195680152024-04-02 12:08:2387 days ago1712059703
0xEa277346...7e4c92564
0.0653165 ETH
195680012024-04-02 12:05:1187 days ago1712059511
0xEa277346...7e4c92564
0.13002438 ETH
195679072024-04-02 11:46:1187 days ago1712058371
0xEa277346...7e4c92564
0.03615221 ETH
195672932024-04-02 9:41:4787 days ago1712050907
0xEa277346...7e4c92564
0.5732697 ETH
195672302024-04-02 9:29:1187 days ago1712050151
0xEa277346...7e4c92564
0.08370064 ETH
195668382024-04-02 8:10:2388 days ago1712045423
0xEa277346...7e4c92564
0.47760626 ETH
195667002024-04-02 7:42:1188 days ago1712043731
0xEa277346...7e4c92564
0.64616982 ETH
195660822024-04-02 5:37:3588 days ago1712036255
0xEa277346...7e4c92564
0.06766775 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SAGE

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-03-22
*/

/**
 *Submitted for verification at Etherscan.io on 2024-03-20
 */

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.20;

/**
 * @title ERC314
 * @dev Implementation of the ERC314 interface.
 * ERC314 is a derivative of ERC20 which aims to integrate a liquidity pool on the token in order to enable native swaps, notably to reduce gas consumption.
 */

// Events interface for ERC314
interface IEERC314 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event AddLiquidity(uint32 _timeTillUnlockLiquidity, uint256 value);
    event RemoveLiquidity(uint256 value);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out
    );
}

abstract contract ERC314 is IEERC314 {
    mapping(address account => uint256) private _balances;

    uint256 private _totalSupply;
    uint256 public maxWallet;
    uint32 public timeTillUnlockLiquidity;

    string private _name;
    string private _symbol;

    address public owner;
    address public liquidityProvider;
    address public feeCollector;

    bool public tradingEnable;
    bool public liquidityAdded;
    bool public maxWalletEnable;
    uint256 public fee; //trading fee

    mapping(address account => uint32) public lastTransaction;
    uint256 public accruedFeeAmount;

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

    modifier onlyLiquidityProvider() {
        require(
            msg.sender == liquidityProvider,
            "You are not the liquidity provider"
        );
        _;
    }

    modifier onlyFeeCollector() {
        require(msg.sender == feeCollector, "You are not the fee collector");
        _;
    }

    /**
     * @dev Sets the values for {name}, {symbol} and {totalSupply} and {fee}
     *
     * The name and symbol are immutable: they can only be set once during
     * construction.
     */
    constructor(
        string memory name_,
        string memory symbol_,
        uint256 totalSupply_,
        uint256 _fee
    ) {
        _name = name_;
        _symbol = symbol_;
        _totalSupply = totalSupply_;
        maxWallet = totalSupply_ / 50;
        owner = msg.sender;
        maxWalletEnable = true;
        _balances[msg.sender] = totalSupply_ /5;
        uint256 liquidityAmount = totalSupply_ - _balances[msg.sender];
        _balances[address(this)] = liquidityAmount;
        liquidityProvider = msg.sender;
        feeCollector = msg.sender;
        fee = _fee;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     */

    function decimals() public view virtual returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - the caller must have a balance of at least `value`.
     * - if the receiver is the contract, the caller must send the amount of tokens to sell
     */
    function transfer(address to, uint256 value) public virtual returns (bool) {
        _transfer(msg.sender, to, value);

        return true;
    }

    /**
     * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively burns if `to` is the zero address.
     * All customizations to transfers and burns should be done by overriding this function.
     * This function includes MEV protection, which prevents the same address from making two transactions in the same block.(lastTransaction)
     * Emits a {Transfer} event.
     */
    function _transfer(
        address from,
        address to,
        uint256 value
    ) internal virtual {
        require(
            lastTransaction[msg.sender] != block.number,
            "You can't make two transactions in the same block"
        );

        lastTransaction[msg.sender] = uint32(block.number);

        require(
            _balances[from] >= value,
            "ERC20: transfer amount exceeds balance"
        );

        unchecked {
            _balances[from] -= value;
        }

        if (to == address(0)) {
            unchecked {
                _totalSupply -= value;
            }
        } else {
            unchecked {
                _balances[to] += value;
            }
        }

        emit Transfer(from, to, value);
    }

    /**
     * @dev Returns the amount of ETH and tokens in the contract, used for trading.
     */
    function getReserves() public view returns (uint256, uint256) {
        return (
            (address(this).balance - accruedFeeAmount),
            _balances[address(this)]
        );
    }

    /**
     * @dev Enables or disables trading.
     * @param _tradingEnable: true to enable trading, false to disable trading.
     * onlyOwner modifier
     */
    function enableTrading(bool _tradingEnable) external onlyOwner {
        tradingEnable = _tradingEnable;
    }

    /**
     * @dev Enables or disables the max wallet.
     * @param _maxWalletEnable: true to enable max wallet, false to disable max wallet.
     * onlyOwner modifier
     */
    function enableMaxWallet(bool _maxWalletEnable) external onlyOwner {
        maxWalletEnable = _maxWalletEnable;
    }

    /**
     * @dev Modify trading fees
     * @param _fee: trading fee amount
     * onlyOwner modifier
     */

    function setTradingFee(uint256 _fee) external onlyOwner {
        require(_fee <= 500, "max 5% fee");
        fee = _fee;
    }

    /**
     * @dev Sets the max wallet.
     * @param _maxWallet_: the new max wallet.
     * onlyOwner modifier
     */
    function setMaxWallet(uint256 _maxWallet_) external onlyOwner {
        maxWallet = _maxWallet_;
    }

    /**
     *
     * @dev Sets the new fee collector
     * @param _newFeeCollector the new fee collector
     * onlyOwner modifier
     */
    function setFeeCollector(address _newFeeCollector) external onlyOwner {
        feeCollector = _newFeeCollector;
    }

    /**
     * @dev Transfers the ownership of the contract to zero address
     * onlyOwner modifier
     */
    function renounceOwnership() external onlyOwner {
        owner = address(0);
    }

    /**
     *
     * @dev Sets the new liquidity provider
     * @param _newLiquidityProvider the new liquidity provider
     * onlyLiquidityProvider modifier
     */
    function setLiquidityProvider(
        address _newLiquidityProvider
    ) external onlyLiquidityProvider {
        liquidityProvider = _newLiquidityProvider;
    }

    /**
     * @dev Adds liquidity to the contract.
     * @param _timeTillUnlockLiquidity: the block timestamp to unlock the liquidity.
     * value: the amount of ETH to add to the liquidity.
     * onlyLiquidityProvider modifier
     */
    function addLiquidity(
        uint32 _timeTillUnlockLiquidity
    ) public payable onlyLiquidityProvider {
        require(liquidityAdded == false, "Liquidity already added");

        liquidityAdded = true;

        require(msg.value > 0, "No ETH sent");
        require(
            block.timestamp < _timeTillUnlockLiquidity,
            "The time until unlock liquidity is too low"
        );

        timeTillUnlockLiquidity = _timeTillUnlockLiquidity;
        tradingEnable = true;

        emit AddLiquidity(_timeTillUnlockLiquidity, msg.value);
    }

    /**
     * @dev Removes liquidity from the contract.
     * onlyLiquidityProvider modifier
     */
    function removeLiquidity() public onlyLiquidityProvider {
        require(block.timestamp > timeTillUnlockLiquidity, "Liquidity locked");

        tradingEnable = false;

        (uint256 reserveETH, ) = getReserves();

        (bool success, ) = payable(msg.sender).call{value: reserveETH}("");
        if (!success) {
            revert("Could not remove liquidity");
        }

        emit RemoveLiquidity(address(this).balance);
    }

    /**
     * @dev Extends the liquidity lock, only if the new block timestamp is higher than the current one.
     * @param _timeTillUnlockLiquidity: the new block timestamp to unlock the liquidity.
     * onlyLiquidityProvider modifier
     */
    function extendLiquidityLock(
        uint32 _timeTillUnlockLiquidity
    ) public onlyLiquidityProvider {
        require(
            timeTillUnlockLiquidity < _timeTillUnlockLiquidity,
            "You can't shorten duration"
        );

        timeTillUnlockLiquidity = _timeTillUnlockLiquidity;
    }

    /**
     * @dev Estimates the amount of tokens or ETH to receive when buying or selling.
     * @param value: the amount of ETH or tokens to swap.
     * @param _buy: true if buying, false if selling.
     */
    function getAmountOut(
        uint256 value,
        bool _buy
    ) public view returns (uint256) {
        (uint256 reserveETH, uint256 reserveToken) = getReserves();

        if (_buy) {
            uint256 valueAfterFee = (value * (10000 - fee)) / 10000;
            return ((valueAfterFee * reserveToken)) / (reserveETH + value);
        } else {
            uint256 ethValue = ((value * reserveETH)) / (reserveToken + value);
            ethValue = (ethValue * (10000 - fee)) / 10000;
            return ethValue;
        }
    }

    /**
     * @dev Buys tokens with ETH.
     * internal function
     */
    function buy(uint256 amountOutMin) public payable {
        require(tradingEnable, "Trading not enable");

        uint256 feeAmount = (msg.value * fee) / 10000;

        uint256 ETHafterFee;
        unchecked {
            ETHafterFee = msg.value - feeAmount;
        }

        (uint256 reserveETH, uint256 reserveToken) = getReserves();

        uint256 tokenAmount = (ETHafterFee * reserveToken) / reserveETH;
        require(tokenAmount > 0, "Bought amount too low");
        unchecked {
            accruedFeeAmount += feeAmount;
        }

        if (maxWalletEnable) {
            require(
                tokenAmount + _balances[msg.sender] <= maxWallet,
                "Max wallet exceeded"
            );
        }

        require(tokenAmount >= amountOutMin, "slippage reached");

        _transfer(address(this), msg.sender, tokenAmount);

        emit Swap(msg.sender, msg.value, 0, 0, tokenAmount);
    }

    function claimFees() external onlyFeeCollector {
        uint256 accruedAmount = accruedFeeAmount;

        if (accruedAmount > address(this).balance)
            // in case we don't have enough eth for the fees, just send the balance
            accruedAmount = address(this).balance;

        accruedFeeAmount = 0;
        (bool success, ) = payable(msg.sender).call{value: accruedAmount}("");
        if (!success) revert("Transfer of fee failed");
    }

    /**
     * @dev Sells tokens for ETH.
     * internal function
     */
    function sell(uint256 sellAmount, uint256 amountOutMin) public {
        require(tradingEnable, "Trading not enable");

        (uint256 reserveETH, uint256 reserveToken) = getReserves();

        uint256 ethAmount = (sellAmount * reserveETH) /
            (reserveToken + sellAmount);

        require(reserveETH >= ethAmount, "Insufficient ETH in reserves");

        uint256 feeAmount = (ethAmount * fee) / 10000;

        unchecked {
            ethAmount -= feeAmount;
        }
        require(ethAmount > 0, "Sell amount too low");
        require(ethAmount >= amountOutMin, "slippage reached");

        unchecked {
            accruedFeeAmount += feeAmount;
        }

        _transfer(msg.sender, address(this), sellAmount);

        (bool success, ) = payable(msg.sender).call{value: ethAmount}("");
        if (!success) {
            revert("Could not sell");
        }

        emit Swap(msg.sender, 0, sellAmount, ethAmount, 0);
    }
}

contract SAGE is ERC314 {
    constructor() ERC314("SAGE ERC314", "SAGE", 1_000_000 * 10 ** 18, 100) {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"_timeTillUnlockLiquidity","type":"uint32"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"AddLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"RemoveLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"}],"name":"Swap","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":"accruedFeeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_timeTillUnlockLiquidity","type":"uint32"}],"name":"addLiquidity","outputs":[],"stateMutability":"payable","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":"amountOutMin","type":"uint256"}],"name":"buy","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"claimFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_maxWalletEnable","type":"bool"}],"name":"enableMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingEnable","type":"bool"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_timeTillUnlockLiquidity","type":"uint32"}],"name":"extendLiquidityLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeCollector","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bool","name":"_buy","type":"bool"}],"name":"getAmountOut","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getReserves","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"lastTransaction","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityProvider","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sellAmount","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"}],"name":"sell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newFeeCollector","type":"address"}],"name":"setFeeCollector","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newLiquidityProvider","type":"address"}],"name":"setLiquidityProvider","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWallet_","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setTradingFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timeTillUnlockLiquidity","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

608060405234801562000010575f80fd5b506040518060400160405280600b81526020016a14d051d148115490cccc4d60aa1b815250604051806040016040528060048152602001635341474560e01b81525069d3c21bcecceda100000060648360049081620000709190620001c2565b5060056200007f8482620001c2565b506001829055620000926032836200028e565b600255600680546001600160a01b031916331790556008805460ff60b01b1916600160b01b179055620000c76005836200028e565b335f90815260208190526040812082905590620000e59084620002ae565b305f908152602081905260409020555060078054336001600160a01b0319918216811790925560088054909116909117905560095550620002d4915050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200014d57607f821691505b6020821081036200016c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620001bd57805f5260205f20601f840160051c81016020851015620001995750805b601f840160051c820191505b81811015620001ba575f8155600101620001a5565b50505b505050565b81516001600160401b03811115620001de57620001de62000124565b620001f681620001ef845462000138565b8462000172565b602080601f8311600181146200022c575f8415620002145750858301515b5f19600386901b1c1916600185901b17855562000286565b5f85815260208120601f198616915b828110156200025c578886015182559484019460019091019084016200023b565b50858210156200027a57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82620002a957634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115620002ce57634e487b7160e01b5f52601160045260245ffd5b92915050565b6116d480620002e25f395ff3fe6080604052600436106101db575f3560e01c806395d89b41116100fd578063d79875eb11610092578063ddca3f4311610062578063ddca3f431461056b578063e624c4bc14610580578063f275f64b1461059f578063f8b45b05146105be575f80fd5b8063d79875eb14610504578063d944392314610523578063d96a094a14610543578063ddadc27714610556575f80fd5b8063ae19139e116100cd578063ae19139e14610493578063b0d54bcf146104b2578063c415b95c146104d1578063d294f093146104f0575f80fd5b806395d89b411461042e5780639a540abf14610442578063a42dce8014610455578063a9059cbb14610474575f80fd5b8063313ce567116101735780636832e6ed116101435780636832e6ed146103ab57806370a08231146103c7578063715018a6146103fb5780638da5cb5b1461040f575f80fd5b8063313ce567146103265780635b8bec55146103415780635d0044ca1461037857806367b9a28614610397575f80fd5b806312a54b62116101ae57806312a54b62146102a15780631693e8d4146102d157806318160ddd146102f157806327de2e8514610305575f80fd5b80630531be92146101df57806306fdde031461022a5780630902f1ac1461024b57806311106ee214610274575b5f80fd5b3480156101ea575f80fd5b506102106101f936600461143f565b600a6020525f908152604090205463ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b348015610235575f80fd5b5061023e6105d3565b604051610221919061145f565b348015610256575f80fd5b5061025f610663565b60408051928352602083019190915201610221565b34801561027f575f80fd5b5061029361028e3660046114ba565b61068b565b604051908152602001610221565b3480156102ac575f80fd5b506008546102c190600160b01b900460ff1681565b6040519015158152602001610221565b3480156102dc575f80fd5b506008546102c190600160a01b900460ff1681565b3480156102fc575f80fd5b50600154610293565b348015610310575f80fd5b5061032461031f3660046114e4565b61074b565b005b348015610331575f80fd5b5060405160128152602001610221565b34801561034c575f80fd5b50600754610360906001600160a01b031681565b6040516001600160a01b039091168152602001610221565b348015610383575f80fd5b50610324610392366004611507565b6107f4565b3480156103a2575f80fd5b50610324610823565b3480156103b6575f80fd5b506003546102109063ffffffff1681565b3480156103d2575f80fd5b506102936103e136600461143f565b6001600160a01b03165f9081526020819052604090205490565b348015610406575f80fd5b5061032461097d565b34801561041a575f80fd5b50600654610360906001600160a01b031681565b348015610439575f80fd5b5061023e6109b9565b6103246104503660046114e4565b6109c8565b348015610460575f80fd5b5061032461046f36600461143f565b610b69565b34801561047f575f80fd5b506102c161048e36600461151e565b610bb5565b34801561049e575f80fd5b506103246104ad366004611546565b610bca565b3480156104bd575f80fd5b506103246104cc366004611507565b610c12565b3480156104dc575f80fd5b50600854610360906001600160a01b031681565b3480156104fb575f80fd5b50610324610c80565b34801561050f575f80fd5b5061032461051e36600461155f565b610d7e565b34801561052e575f80fd5b506008546102c190600160a81b900460ff1681565b610324610551366004611507565b610fe2565b348015610561575f80fd5b50610293600b5481565b348015610576575f80fd5b5061029360095481565b34801561058b575f80fd5b5061032461059a36600461143f565b6111d9565b3480156105aa575f80fd5b506103246105b9366004611546565b611225565b3480156105c9575f80fd5b5061029360025481565b6060600480546105e29061157f565b80601f016020809104026020016040519081016040528092919081815260200182805461060e9061157f565b80156106595780601f1061063057610100808354040283529160200191610659565b820191905f5260205f20905b81548152906001019060200180831161063c57829003601f168201915b5050505050905090565b5f80600b544761067391906115cb565b305f9081526020819052604090205490939092509050565b5f805f610696610663565b9150915083156106f2575f6127106009546127106106b491906115cb565b6106be90886115de565b6106c891906115f5565b90506106d48684611614565b6106de83836115de565b6106e891906115f5565b9350505050610745565b5f6106fd8683611614565b61070784886115de565b61071191906115f5565b905061271060095461271061072691906115cb565b61073090836115de565b61073a91906115f5565b935061074592505050565b92915050565b6007546001600160a01b0316331461077e5760405162461bcd60e51b815260040161077590611627565b60405180910390fd5b60035463ffffffff8083169116106107d85760405162461bcd60e51b815260206004820152601a60248201527f596f752063616e27742073686f7274656e206475726174696f6e0000000000006044820152606401610775565b6003805463ffffffff191663ffffffff92909216919091179055565b6006546001600160a01b0316331461081e5760405162461bcd60e51b815260040161077590611669565b600255565b6007546001600160a01b0316331461084d5760405162461bcd60e51b815260040161077590611627565b60035463ffffffff1642116108975760405162461bcd60e51b815260206004820152601060248201526f131a5c5d5a591a5d1e481b1bd8dad95960821b6044820152606401610775565b6008805460ff60a01b191690555f6108ad610663565b506040519091505f90339083908381818185875af1925050503d805f81146108f0576040519150601f19603f3d011682016040523d82523d5f602084013e6108f5565b606091505b50509050806109465760405162461bcd60e51b815260206004820152601a60248201527f436f756c64206e6f742072656d6f7665206c69717569646974790000000000006044820152606401610775565b6040514781527f9a5a8a32afd899e7f95003c6e21c9fab2d50e11992439d14472229180c60c7aa9060200160405180910390a15050565b6006546001600160a01b031633146109a75760405162461bcd60e51b815260040161077590611669565b600680546001600160a01b0319169055565b6060600580546105e29061157f565b6007546001600160a01b031633146109f25760405162461bcd60e51b815260040161077590611627565b600854600160a81b900460ff1615610a4c5760405162461bcd60e51b815260206004820152601760248201527f4c697175696469747920616c72656164792061646465640000000000000000006044820152606401610775565b6008805460ff60a81b1916600160a81b17905534610a9a5760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b6044820152606401610775565b8063ffffffff164210610b025760405162461bcd60e51b815260206004820152602a60248201527f5468652074696d6520756e74696c20756e6c6f636b206c697175696469747920604482015269697320746f6f206c6f7760b01b6064820152608401610775565b6003805463ffffffff831663ffffffff1990911681179091556008805460ff60a01b1916600160a01b179055604080519182523460208301527f0c6c8102f3ac634c5fb327ba1a5d5c18030294d9f5cc309afa9e8a9020a77175910160405180910390a150565b6006546001600160a01b03163314610b935760405162461bcd60e51b815260040161077590611669565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b5f610bc133848461126d565b50600192915050565b6006546001600160a01b03163314610bf45760405162461bcd60e51b815260040161077590611669565b60088054911515600160b01b0260ff60b01b19909216919091179055565b6006546001600160a01b03163314610c3c5760405162461bcd60e51b815260040161077590611669565b6101f4811115610c7b5760405162461bcd60e51b815260206004820152600a6024820152696d61782035252066656560b01b6044820152606401610775565b600955565b6008546001600160a01b03163314610cda5760405162461bcd60e51b815260206004820152601d60248201527f596f7520617265206e6f74207468652066656520636f6c6c6563746f720000006044820152606401610775565b600b5447811115610ce85750475b5f600b819055604051339083908381818185875af1925050503d805f8114610d2b576040519150601f19603f3d011682016040523d82523d5f602084013e610d30565b606091505b5050905080610d7a5760405162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881bd9881999594819985a5b195960521b6044820152606401610775565b5050565b600854600160a01b900460ff16610dcc5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b6044820152606401610775565b5f80610dd6610663565b90925090505f610de68583611614565b610df084876115de565b610dfa91906115f5565b905080831015610e4c5760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e207265736572766573000000006044820152606401610775565b5f61271060095483610e5e91906115de565b610e6891906115f5565b905080820391505f8211610eb45760405162461bcd60e51b815260206004820152601360248201527253656c6c20616d6f756e7420746f6f206c6f7760681b6044820152606401610775565b84821015610ef75760405162461bcd60e51b815260206004820152601060248201526f1cdb1a5c1c1859d9481c995858da195960821b6044820152606401610775565b600b805482019055610f0a33308861126d565b6040515f90339084908381818185875af1925050503d805f8114610f49576040519150601f19603f3d011682016040523d82523d5f602084013e610f4e565b606091505b5050905080610f905760405162461bcd60e51b815260206004820152600e60248201526d10dbdd5b19081b9bdd081cd95b1b60921b6044820152606401610775565b604080515f808252602082018a90528183018690526060820152905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a250505050505050565b600854600160a01b900460ff166110305760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b6044820152606401610775565b5f6127106009543461104291906115de565b61104c91906115f5565b9050348190035f8061105c610663565b90925090505f8261106d83866115de565b61107791906115f5565b90505f81116110c05760405162461bcd60e51b8152602060048201526015602482015274426f7567687420616d6f756e7420746f6f206c6f7760581b6044820152606401610775565b600b805486019055600854600160b01b900460ff161561113a57600254335f908152602081905260409020546110f69083611614565b111561113a5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610775565b8581101561117d5760405162461bcd60e51b815260206004820152601060248201526f1cdb1a5c1c1859d9481c995858da195960821b6044820152606401610775565b61118830338361126d565b604080513481525f602082018190528183015260608101839052905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a2505050505050565b6007546001600160a01b031633146112035760405162461bcd60e51b815260040161077590611627565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6006546001600160a01b0316331461124f5760405162461bcd60e51b815260040161077590611669565b60088054911515600160a01b0260ff60a01b19909216919091179055565b335f908152600a60205260409020544363ffffffff909116036112ec5760405162461bcd60e51b815260206004820152603160248201527f596f752063616e2774206d616b652074776f207472616e73616374696f6e7320604482015270696e207468652073616d6520626c6f636b60781b6064820152608401610775565b335f908152600a60209081526040808320805463ffffffff19164363ffffffff161790556001600160a01b0386168352908290529020548111156113815760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610775565b6001600160a01b038084165f9081526020819052604090208054839003905582166113b4576001805482900390556113d2565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161141791815260200190565b60405180910390a3505050565b80356001600160a01b038116811461143a575f80fd5b919050565b5f6020828403121561144f575f80fd5b61145882611424565b9392505050565b5f602080835283518060208501525f5b8181101561148b5785810183015185820160400152820161146f565b505f604082860101526040601f19601f8301168501019250505092915050565b8035801515811461143a575f80fd5b5f80604083850312156114cb575f80fd5b823591506114db602084016114ab565b90509250929050565b5f602082840312156114f4575f80fd5b813563ffffffff81168114611458575f80fd5b5f60208284031215611517575f80fd5b5035919050565b5f806040838503121561152f575f80fd5b61153883611424565b946020939093013593505050565b5f60208284031215611556575f80fd5b611458826114ab565b5f8060408385031215611570575f80fd5b50508035926020909101359150565b600181811c9082168061159357607f821691505b6020821081036115b157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610745576107456115b7565b8082028115828204841417610745576107456115b7565b5f8261160f57634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610745576107456115b7565b60208082526022908201527f596f7520617265206e6f7420746865206c69717569646974792070726f76696460408201526132b960f11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea2646970667358221220a340afafe036bba41adb1bcbbbf6126bb935d08f0a64a235062c76d19a79ffee64736f6c63430008180033

Deployed Bytecode

0x6080604052600436106101db575f3560e01c806395d89b41116100fd578063d79875eb11610092578063ddca3f4311610062578063ddca3f431461056b578063e624c4bc14610580578063f275f64b1461059f578063f8b45b05146105be575f80fd5b8063d79875eb14610504578063d944392314610523578063d96a094a14610543578063ddadc27714610556575f80fd5b8063ae19139e116100cd578063ae19139e14610493578063b0d54bcf146104b2578063c415b95c146104d1578063d294f093146104f0575f80fd5b806395d89b411461042e5780639a540abf14610442578063a42dce8014610455578063a9059cbb14610474575f80fd5b8063313ce567116101735780636832e6ed116101435780636832e6ed146103ab57806370a08231146103c7578063715018a6146103fb5780638da5cb5b1461040f575f80fd5b8063313ce567146103265780635b8bec55146103415780635d0044ca1461037857806367b9a28614610397575f80fd5b806312a54b62116101ae57806312a54b62146102a15780631693e8d4146102d157806318160ddd146102f157806327de2e8514610305575f80fd5b80630531be92146101df57806306fdde031461022a5780630902f1ac1461024b57806311106ee214610274575b5f80fd5b3480156101ea575f80fd5b506102106101f936600461143f565b600a6020525f908152604090205463ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b348015610235575f80fd5b5061023e6105d3565b604051610221919061145f565b348015610256575f80fd5b5061025f610663565b60408051928352602083019190915201610221565b34801561027f575f80fd5b5061029361028e3660046114ba565b61068b565b604051908152602001610221565b3480156102ac575f80fd5b506008546102c190600160b01b900460ff1681565b6040519015158152602001610221565b3480156102dc575f80fd5b506008546102c190600160a01b900460ff1681565b3480156102fc575f80fd5b50600154610293565b348015610310575f80fd5b5061032461031f3660046114e4565b61074b565b005b348015610331575f80fd5b5060405160128152602001610221565b34801561034c575f80fd5b50600754610360906001600160a01b031681565b6040516001600160a01b039091168152602001610221565b348015610383575f80fd5b50610324610392366004611507565b6107f4565b3480156103a2575f80fd5b50610324610823565b3480156103b6575f80fd5b506003546102109063ffffffff1681565b3480156103d2575f80fd5b506102936103e136600461143f565b6001600160a01b03165f9081526020819052604090205490565b348015610406575f80fd5b5061032461097d565b34801561041a575f80fd5b50600654610360906001600160a01b031681565b348015610439575f80fd5b5061023e6109b9565b6103246104503660046114e4565b6109c8565b348015610460575f80fd5b5061032461046f36600461143f565b610b69565b34801561047f575f80fd5b506102c161048e36600461151e565b610bb5565b34801561049e575f80fd5b506103246104ad366004611546565b610bca565b3480156104bd575f80fd5b506103246104cc366004611507565b610c12565b3480156104dc575f80fd5b50600854610360906001600160a01b031681565b3480156104fb575f80fd5b50610324610c80565b34801561050f575f80fd5b5061032461051e36600461155f565b610d7e565b34801561052e575f80fd5b506008546102c190600160a81b900460ff1681565b610324610551366004611507565b610fe2565b348015610561575f80fd5b50610293600b5481565b348015610576575f80fd5b5061029360095481565b34801561058b575f80fd5b5061032461059a36600461143f565b6111d9565b3480156105aa575f80fd5b506103246105b9366004611546565b611225565b3480156105c9575f80fd5b5061029360025481565b6060600480546105e29061157f565b80601f016020809104026020016040519081016040528092919081815260200182805461060e9061157f565b80156106595780601f1061063057610100808354040283529160200191610659565b820191905f5260205f20905b81548152906001019060200180831161063c57829003601f168201915b5050505050905090565b5f80600b544761067391906115cb565b305f9081526020819052604090205490939092509050565b5f805f610696610663565b9150915083156106f2575f6127106009546127106106b491906115cb565b6106be90886115de565b6106c891906115f5565b90506106d48684611614565b6106de83836115de565b6106e891906115f5565b9350505050610745565b5f6106fd8683611614565b61070784886115de565b61071191906115f5565b905061271060095461271061072691906115cb565b61073090836115de565b61073a91906115f5565b935061074592505050565b92915050565b6007546001600160a01b0316331461077e5760405162461bcd60e51b815260040161077590611627565b60405180910390fd5b60035463ffffffff8083169116106107d85760405162461bcd60e51b815260206004820152601a60248201527f596f752063616e27742073686f7274656e206475726174696f6e0000000000006044820152606401610775565b6003805463ffffffff191663ffffffff92909216919091179055565b6006546001600160a01b0316331461081e5760405162461bcd60e51b815260040161077590611669565b600255565b6007546001600160a01b0316331461084d5760405162461bcd60e51b815260040161077590611627565b60035463ffffffff1642116108975760405162461bcd60e51b815260206004820152601060248201526f131a5c5d5a591a5d1e481b1bd8dad95960821b6044820152606401610775565b6008805460ff60a01b191690555f6108ad610663565b506040519091505f90339083908381818185875af1925050503d805f81146108f0576040519150601f19603f3d011682016040523d82523d5f602084013e6108f5565b606091505b50509050806109465760405162461bcd60e51b815260206004820152601a60248201527f436f756c64206e6f742072656d6f7665206c69717569646974790000000000006044820152606401610775565b6040514781527f9a5a8a32afd899e7f95003c6e21c9fab2d50e11992439d14472229180c60c7aa9060200160405180910390a15050565b6006546001600160a01b031633146109a75760405162461bcd60e51b815260040161077590611669565b600680546001600160a01b0319169055565b6060600580546105e29061157f565b6007546001600160a01b031633146109f25760405162461bcd60e51b815260040161077590611627565b600854600160a81b900460ff1615610a4c5760405162461bcd60e51b815260206004820152601760248201527f4c697175696469747920616c72656164792061646465640000000000000000006044820152606401610775565b6008805460ff60a81b1916600160a81b17905534610a9a5760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b6044820152606401610775565b8063ffffffff164210610b025760405162461bcd60e51b815260206004820152602a60248201527f5468652074696d6520756e74696c20756e6c6f636b206c697175696469747920604482015269697320746f6f206c6f7760b01b6064820152608401610775565b6003805463ffffffff831663ffffffff1990911681179091556008805460ff60a01b1916600160a01b179055604080519182523460208301527f0c6c8102f3ac634c5fb327ba1a5d5c18030294d9f5cc309afa9e8a9020a77175910160405180910390a150565b6006546001600160a01b03163314610b935760405162461bcd60e51b815260040161077590611669565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b5f610bc133848461126d565b50600192915050565b6006546001600160a01b03163314610bf45760405162461bcd60e51b815260040161077590611669565b60088054911515600160b01b0260ff60b01b19909216919091179055565b6006546001600160a01b03163314610c3c5760405162461bcd60e51b815260040161077590611669565b6101f4811115610c7b5760405162461bcd60e51b815260206004820152600a6024820152696d61782035252066656560b01b6044820152606401610775565b600955565b6008546001600160a01b03163314610cda5760405162461bcd60e51b815260206004820152601d60248201527f596f7520617265206e6f74207468652066656520636f6c6c6563746f720000006044820152606401610775565b600b5447811115610ce85750475b5f600b819055604051339083908381818185875af1925050503d805f8114610d2b576040519150601f19603f3d011682016040523d82523d5f602084013e610d30565b606091505b5050905080610d7a5760405162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881bd9881999594819985a5b195960521b6044820152606401610775565b5050565b600854600160a01b900460ff16610dcc5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b6044820152606401610775565b5f80610dd6610663565b90925090505f610de68583611614565b610df084876115de565b610dfa91906115f5565b905080831015610e4c5760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e207265736572766573000000006044820152606401610775565b5f61271060095483610e5e91906115de565b610e6891906115f5565b905080820391505f8211610eb45760405162461bcd60e51b815260206004820152601360248201527253656c6c20616d6f756e7420746f6f206c6f7760681b6044820152606401610775565b84821015610ef75760405162461bcd60e51b815260206004820152601060248201526f1cdb1a5c1c1859d9481c995858da195960821b6044820152606401610775565b600b805482019055610f0a33308861126d565b6040515f90339084908381818185875af1925050503d805f8114610f49576040519150601f19603f3d011682016040523d82523d5f602084013e610f4e565b606091505b5050905080610f905760405162461bcd60e51b815260206004820152600e60248201526d10dbdd5b19081b9bdd081cd95b1b60921b6044820152606401610775565b604080515f808252602082018a90528183018690526060820152905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a250505050505050565b600854600160a01b900460ff166110305760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b6044820152606401610775565b5f6127106009543461104291906115de565b61104c91906115f5565b9050348190035f8061105c610663565b90925090505f8261106d83866115de565b61107791906115f5565b90505f81116110c05760405162461bcd60e51b8152602060048201526015602482015274426f7567687420616d6f756e7420746f6f206c6f7760581b6044820152606401610775565b600b805486019055600854600160b01b900460ff161561113a57600254335f908152602081905260409020546110f69083611614565b111561113a5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610775565b8581101561117d5760405162461bcd60e51b815260206004820152601060248201526f1cdb1a5c1c1859d9481c995858da195960821b6044820152606401610775565b61118830338361126d565b604080513481525f602082018190528183015260608101839052905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a2505050505050565b6007546001600160a01b031633146112035760405162461bcd60e51b815260040161077590611627565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6006546001600160a01b0316331461124f5760405162461bcd60e51b815260040161077590611669565b60088054911515600160a01b0260ff60a01b19909216919091179055565b335f908152600a60205260409020544363ffffffff909116036112ec5760405162461bcd60e51b815260206004820152603160248201527f596f752063616e2774206d616b652074776f207472616e73616374696f6e7320604482015270696e207468652073616d6520626c6f636b60781b6064820152608401610775565b335f908152600a60209081526040808320805463ffffffff19164363ffffffff161790556001600160a01b0386168352908290529020548111156113815760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610775565b6001600160a01b038084165f9081526020819052604090208054839003905582166113b4576001805482900390556113d2565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161141791815260200190565b60405180910390a3505050565b80356001600160a01b038116811461143a575f80fd5b919050565b5f6020828403121561144f575f80fd5b61145882611424565b9392505050565b5f602080835283518060208501525f5b8181101561148b5785810183015185820160400152820161146f565b505f604082860101526040601f19601f8301168501019250505092915050565b8035801515811461143a575f80fd5b5f80604083850312156114cb575f80fd5b823591506114db602084016114ab565b90509250929050565b5f602082840312156114f4575f80fd5b813563ffffffff81168114611458575f80fd5b5f60208284031215611517575f80fd5b5035919050565b5f806040838503121561152f575f80fd5b61153883611424565b946020939093013593505050565b5f60208284031215611556575f80fd5b611458826114ab565b5f8060408385031215611570575f80fd5b50508035926020909101359150565b600181811c9082168061159357607f821691505b6020821081036115b157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610745576107456115b7565b8082028115828204841417610745576107456115b7565b5f8261160f57634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610745576107456115b7565b60208082526022908201527f596f7520617265206e6f7420746865206c69717569646974792070726f76696460408201526132b960f11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea2646970667358221220a340afafe036bba41adb1bcbbbf6126bb935d08f0a64a235062c76d19a79ffee64736f6c63430008180033

Deployed Bytecode Sourcemap

12773:107:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1302:57;;;;;;;;;;-1:-1:-1;1302:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;557:10:1;545:23;;;527:42;;515:2;500:18;1302:57:0;;;;;;;;2733:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5314:195::-;;;;;;;;;;;;;:::i;:::-;;;;1307:25:1;;;1363:2;1348:18;;1341:34;;;;1280:18;5314:195:0;1133:248:1;9635:550:0;;;;;;;;;;-1:-1:-1;9635:550:0;;;;;:::i;:::-;;:::i;:::-;;;1950:25:1;;;1938:2;1923:18;9635:550:0;1804:177:1;1227:27:0;;;;;;;;;;-1:-1:-1;1227:27:0;;;;-1:-1:-1;;;1227:27:0;;;;;;;;;2151:14:1;;2144:22;2126:41;;2114:2;2099:18;1227:27:0;1986:187:1;1162:25:0;;;;;;;;;;-1:-1:-1;1162:25:0;;;;-1:-1:-1;;;1162:25:0;;;;;;3296:99;;;;;;;;;;-1:-1:-1;3375:12:0;;3296:99;;9094:315;;;;;;;;;;-1:-1:-1;9094:315:0;;;;;:::i;:::-;;:::i;:::-;;3147:84;;;;;;;;;;-1:-1:-1;3147:84:0;;3221:2;2601:36:1;;2589:2;2574:18;3147:84:0;2459:184:1;1087:32:0;;;;;;;;;;-1:-1:-1;1087:32:0;;;;-1:-1:-1;;;;;1087:32:0;;;;;;-1:-1:-1;;;;;2812:32:1;;;2794:51;;2782:2;2767:18;1087:32:0;2648:203:1;6501:104:0;;;;;;;;;;-1:-1:-1;6501:104:0;;;;;:::i;:::-;;:::i;8382:452::-;;;;;;;;;;;;;:::i;956:37::-;;;;;;;;;;-1:-1:-1;956:37:0;;;;;;;;3458:118;;;;;;;;;;-1:-1:-1;3458:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;3550:18:0;3523:7;3550:18;;;;;;;;;;;;3458:118;7002:85;;;;;;;;;;;;;:::i;1060:20::-;;;;;;;;;;-1:-1:-1;1060:20:0;;;;-1:-1:-1;;;;;1060:20:0;;;2943:95;;;;;;;;;;;;;:::i;7691:576::-;;;;;;:::i;:::-;;:::i;6760:120::-;;;;;;;;;;-1:-1:-1;6760:120:0;;;;;:::i;:::-;;:::i;3831:150::-;;;;;;;;;;-1:-1:-1;3831:150:0;;;;;:::i;:::-;;:::i;5988:120::-;;;;;;;;;;-1:-1:-1;5988:120:0;;;;;:::i;:::-;;:::i;6236:130::-;;;;;;;;;;-1:-1:-1;6236:130:0;;;;;:::i;:::-;;:::i;1126:27::-;;;;;;;;;;-1:-1:-1;1126:27:0;;;;-1:-1:-1;;;;;1126:27:0;;;11232:467;;;;;;;;;;;;;:::i;11786:980::-;;;;;;;;;;-1:-1:-1;11786:980:0;;;;;:::i;:::-;;:::i;1194:26::-;;;;;;;;;;-1:-1:-1;1194:26:0;;;;-1:-1:-1;;;1194:26:0;;;;;;10272:952;;;;;;:::i;:::-;;:::i;1366:31::-;;;;;;;;;;;;;;;;1261:18;;;;;;;;;;;;;;;;7269:168;;;;;;;;;;-1:-1:-1;7269:168:0;;;;;:::i;:::-;;:::i;5685:112::-;;;;;;;;;;-1:-1:-1;5685:112:0;;;;;:::i;:::-;;:::i;925:24::-;;;;;;;;;;;;;;;;2733:91;2778:13;2811:5;2804:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2733:91;:::o;5314:195::-;5358:7;5367;5434:16;;5410:21;:40;;;;:::i;:::-;5484:4;5466:9;:24;;;;;;;;;;;5387:114;;5466:24;;-1:-1:-1;5314:195:0;-1:-1:-1;5314:195:0:o;9635:550::-;9729:7;9750:18;9770:20;9794:13;:11;:13::i;:::-;9749:58;;;;9824:4;9820:358;;;9845:21;9895:5;9887:3;;9879:5;:11;;;;:::i;:::-;9870:21;;:5;:21;:::i;:::-;9869:31;;;;:::i;:::-;9845:55;-1:-1:-1;9958:18:0;9971:5;9958:10;:18;:::i;:::-;9924:28;9940:12;9924:13;:28;:::i;:::-;9922:55;;;;:::i;:::-;9915:62;;;;;;;9820:358;10010:16;10055:20;10070:5;10055:12;:20;:::i;:::-;10031:18;10039:10;10031:5;:18;:::i;:::-;10029:47;;;;:::i;:::-;10010:66;;10131:5;10123:3;;10115:5;:11;;;;:::i;:::-;10103:24;;:8;:24;:::i;:::-;10102:34;;;;:::i;:::-;10091:45;-1:-1:-1;10151:15:0;;-1:-1:-1;;;10151:15:0;9635:550;;;;;:::o;9094:315::-;1610:17;;-1:-1:-1;;;;;1610:17:0;1596:10;:31;1574:115;;;;-1:-1:-1;;;1574:115:0;;;;;;;:::i;:::-;;;;;;;;;9234:23:::1;::::0;:50:::1;::::0;;::::1;:23:::0;::::1;:50;9212:126;;;::::0;-1:-1:-1;;;9212:126:0;;5518:2:1;9212:126:0::1;::::0;::::1;5500:21:1::0;5557:2;5537:18;;;5530:30;5596:28;5576:18;;;5569:56;5642:18;;9212:126:0::1;5316:350:1::0;9212:126:0::1;9351:23;:50:::0;;-1:-1:-1;;9351:50:0::1;;::::0;;;::::1;::::0;;;::::1;::::0;;9094:315::o;6501:104::-;1460:5;;-1:-1:-1;;;;;1460:5:0;1446:10;:19;1438:64;;;;-1:-1:-1;;;1438:64:0;;;;;;;:::i;:::-;6574:9:::1;:23:::0;6501:104::o;8382:452::-;1610:17;;-1:-1:-1;;;;;1610:17:0;1596:10;:31;1574:115;;;;-1:-1:-1;;;1574:115:0;;;;;;;:::i;:::-;8475:23:::1;::::0;::::1;;8457:15;:41;8449:70;;;::::0;-1:-1:-1;;;8449:70:0;;6234:2:1;8449:70:0::1;::::0;::::1;6216:21:1::0;6273:2;6253:18;;;6246:30;-1:-1:-1;;;6292:18:1;;;6285:46;6348:18;;8449:70:0::1;6032:340:1::0;8449:70:0::1;8532:13;:21:::0;;-1:-1:-1;;;;8532:21:0::1;::::0;;8548:5:::1;8591:13;:11;:13::i;:::-;-1:-1:-1::0;8636:47:0::1;::::0;8566:38;;-1:-1:-1;8618:12:0::1;::::0;8644:10:::1;::::0;8566:38;;8618:12;8636:47;8618:12;8636:47;8566:38;8644:10;8636:47:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8617:66;;;8699:7;8694:77;;8723:36;::::0;-1:-1:-1;;;8723:36:0;;6789:2:1;8723:36:0::1;::::0;::::1;6771:21:1::0;6828:2;6808:18;;;6801:30;6867:28;6847:18;;;6840:56;6913:18;;8723:36:0::1;6587:350:1::0;8694:77:0::1;8788:38;::::0;8804:21:::1;1950:25:1::0;;8788:38:0::1;::::0;1938:2:1;1923:18;8788:38:0::1;;;;;;;8438:396;;8382:452::o:0;7002:85::-;1460:5;;-1:-1:-1;;;;;1460:5:0;1446:10;:19;1438:64;;;;-1:-1:-1;;;1438:64:0;;;;;;;:::i;:::-;7061:5:::1;:18:::0;;-1:-1:-1;;;;;;7061:18:0::1;::::0;;7002:85::o;2943:95::-;2990:13;3023:7;3016:14;;;;;:::i;7691:576::-;1610:17;;-1:-1:-1;;;;;1610:17:0;1596:10;:31;1574:115;;;;-1:-1:-1;;;1574:115:0;;;;;;;:::i;:::-;7818:14:::1;::::0;-1:-1:-1;;;7818:14:0;::::1;;;:23;7810:59;;;::::0;-1:-1:-1;;;7810:59:0;;7144:2:1;7810:59:0::1;::::0;::::1;7126:21:1::0;7183:2;7163:18;;;7156:30;7222:25;7202:18;;;7195:53;7265:18;;7810:59:0::1;6942:347:1::0;7810:59:0::1;7882:14;:21:::0;;-1:-1:-1;;;;7882:21:0::1;-1:-1:-1::0;;;7882:21:0::1;::::0;;7924:9:::1;7916:37;;;::::0;-1:-1:-1;;;7916:37:0;;7496:2:1;7916:37:0::1;::::0;::::1;7478:21:1::0;7535:2;7515:18;;;7508:30;-1:-1:-1;;;7554:18:1;;;7547:41;7605:18;;7916:37:0::1;7294:335:1::0;7916:37:0::1;8004:24;7986:42;;:15;:42;7964:134;;;::::0;-1:-1:-1;;;7964:134:0;;7836:2:1;7964:134:0::1;::::0;::::1;7818:21:1::0;7875:2;7855:18;;;7848:30;7914:34;7894:18;;;7887:62;-1:-1:-1;;;7965:18:1;;;7958:40;8015:19;;7964:134:0::1;7634:406:1::0;7964:134:0::1;8111:23;:50:::0;;::::1;::::0;::::1;-1:-1:-1::0;;8111:50:0;;::::1;::::0;::::1;::::0;;;8172:13:::1;:20:::0;;-1:-1:-1;;;;8172:20:0::1;-1:-1:-1::0;;;8172:20:0::1;::::0;;8210:49:::1;::::0;;8217:42:1;;;8249:9:0::1;8290:2:1::0;8275:18;;8268:34;8210:49:0::1;::::0;8190:18:1;8210:49:0::1;;;;;;;7691:576:::0;:::o;6760:120::-;1460:5;;-1:-1:-1;;;;;1460:5:0;1446:10;:19;1438:64;;;;-1:-1:-1;;;1438:64:0;;;;;;;:::i;:::-;6841:12:::1;:31:::0;;-1:-1:-1;;;;;;6841:31:0::1;-1:-1:-1::0;;;;;6841:31:0;;;::::1;::::0;;;::::1;::::0;;6760:120::o;3831:150::-;3900:4;3917:32;3927:10;3939:2;3943:5;3917:9;:32::i;:::-;-1:-1:-1;3969:4:0;3831:150;;;;:::o;5988:120::-;1460:5;;-1:-1:-1;;;;;1460:5:0;1446:10;:19;1438:64;;;;-1:-1:-1;;;1438:64:0;;;;;;;:::i;:::-;6066:15:::1;:34:::0;;;::::1;;-1:-1:-1::0;;;6066:34:0::1;-1:-1:-1::0;;;;6066:34:0;;::::1;::::0;;;::::1;::::0;;5988:120::o;6236:130::-;1460:5;;-1:-1:-1;;;;;1460:5:0;1446:10;:19;1438:64;;;;-1:-1:-1;;;1438:64:0;;;;;;;:::i;:::-;6319:3:::1;6311:4;:11;;6303:34;;;::::0;-1:-1:-1;;;6303:34:0;;8515:2:1;6303:34:0::1;::::0;::::1;8497:21:1::0;8554:2;8534:18;;;8527:30;-1:-1:-1;;;8573:18:1;;;8566:40;8623:18;;6303:34:0::1;8313:334:1::0;6303:34:0::1;6348:3;:10:::0;6236:130::o;11232:467::-;1778:12;;-1:-1:-1;;;;;1778:12:0;1764:10;:26;1756:68;;;;-1:-1:-1;;;1756:68:0;;8854:2:1;1756:68:0;;;8836:21:1;8893:2;8873:18;;;8866:30;8932:31;8912:18;;;8905:59;8981:18;;1756:68:0;8652:353:1;1756:68:0;11314:16:::1;::::0;11363:21:::1;11347:37:::0;::::1;11343:178;;;-1:-1:-1::0;11500:21:0::1;11343:178;11553:1;11534:16;:20:::0;;;11584:50:::1;::::0;11592:10:::1;::::0;11616:13;;11553:1;11584:50;11553:1;11584:50;11616:13;11592:10;11584:50:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11565:69;;;11650:7;11645:46;;11659:32;::::0;-1:-1:-1;;;11659:32:0;;9212:2:1;11659:32:0::1;::::0;::::1;9194:21:1::0;9251:2;9231:18;;;9224:30;-1:-1:-1;;;9270:18:1;;;9263:52;9332:18;;11659:32:0::1;9010:346:1::0;11645:46:0::1;11279:420;;11232:467::o:0;11786:980::-;11868:13;;-1:-1:-1;;;11868:13:0;;;;11860:44;;;;-1:-1:-1;;;11860:44:0;;9563:2:1;11860:44:0;;;9545:21:1;9602:2;9582:18;;;9575:30;-1:-1:-1;;;9621:18:1;;;9614:48;9679:18;;11860:44:0;9361:342:1;11860:44:0;11918:18;11938:20;11962:13;:11;:13::i;:::-;11917:58;;-1:-1:-1;11917:58:0;-1:-1:-1;11988:17:0;12050:25;12065:10;11917:58;12050:25;:::i;:::-;12009:23;12022:10;12009;:23;:::i;:::-;12008:68;;;;:::i;:::-;11988:88;;12111:9;12097:10;:23;;12089:64;;;;-1:-1:-1;;;12089:64:0;;9910:2:1;12089:64:0;;;9892:21:1;9949:2;9929:18;;;9922:30;9988;9968:18;;;9961:58;10036:18;;12089:64:0;9708:352:1;12089:64:0;12166:17;12206:5;12199:3;;12187:9;:15;;;;:::i;:::-;12186:25;;;;:::i;:::-;12166:45;;12262:9;12249:22;;;;12313:1;12301:9;:13;12293:45;;;;-1:-1:-1;;;12293:45:0;;10267:2:1;12293:45:0;;;10249:21:1;10306:2;10286:18;;;10279:30;-1:-1:-1;;;10325:18:1;;;10318:49;10384:18;;12293:45:0;10065:343:1;12293:45:0;12370:12;12357:9;:25;;12349:54;;;;-1:-1:-1;;;12349:54:0;;10615:2:1;12349:54:0;;;10597:21:1;10654:2;10634:18;;;10627:30;-1:-1:-1;;;10673:18:1;;;10666:46;10729:18;;12349:54:0;10413:340:1;12349:54:0;12441:16;:29;;;;;;12494:48;12504:10;12524:4;12531:10;12494:9;:48::i;:::-;12574:46;;12556:12;;12582:10;;12606:9;;12556:12;12574:46;12556:12;12574:46;12606:9;12582:10;12574:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12555:65;;;12636:7;12631:65;;12660:24;;-1:-1:-1;;;12660:24:0;;10960:2:1;12660:24:0;;;10942:21:1;10999:2;10979:18;;;10972:30;-1:-1:-1;;;11018:18:1;;;11011:44;11072:18;;12660:24:0;10758:338:1;12631:65:0;12713:45;;;12730:1;11348:25:1;;;11404:2;11389:18;;11382:34;;;11432:18;;;11425:34;;;11490:2;11475:18;;11468:34;12713:45:0;;12718:10;;12713:45;;;;;;11335:3:1;12713:45:0;;;11849:917;;;;;11786:980;;:::o;10272:952::-;10341:13;;-1:-1:-1;;;10341:13:0;;;;10333:44;;;;-1:-1:-1;;;10333:44:0;;9563:2:1;10333:44:0;;;9545:21:1;9602:2;9582:18;;;9575:30;-1:-1:-1;;;9621:18:1;;;9614:48;9679:18;;10333:44:0;9361:342:1;10333:44:0;10390:17;10430:5;10423:3;;10411:9;:15;;;;:::i;:::-;10410:25;;;;:::i;:::-;10390:45;-1:-1:-1;10517:9:0;:21;;;10448:19;;10607:13;:11;:13::i;:::-;10562:58;;-1:-1:-1;10562:58:0;-1:-1:-1;10633:19:0;10562:58;10656:26;10562:58;10656:11;:26;:::i;:::-;10655:41;;;;:::i;:::-;10633:63;;10729:1;10715:11;:15;10707:49;;;;-1:-1:-1;;;10707:49:0;;11715:2:1;10707:49:0;;;11697:21:1;11754:2;11734:18;;;11727:30;-1:-1:-1;;;11773:18:1;;;11766:51;11834:18;;10707:49:0;11513:345:1;10707:49:0;10792:16;:29;;;;;;10849:15;;-1:-1:-1;;;10849:15:0;;;;10845:177;;;10946:9;;10931:10;10921:9;:21;;;;;;;;;;;10907:35;;:11;:35;:::i;:::-;:48;;10881:129;;;;-1:-1:-1;;;10881:129:0;;12065:2:1;10881:129:0;;;12047:21:1;12104:2;12084:18;;;12077:30;-1:-1:-1;;;12123:18:1;;;12116:49;12182:18;;10881:129:0;11863:343:1;10881:129:0;11057:12;11042:11;:27;;11034:56;;;;-1:-1:-1;;;11034:56:0;;10615:2:1;11034:56:0;;;10597:21:1;10654:2;10634:18;;;10627:30;-1:-1:-1;;;10673:18:1;;;10666:46;10729:18;;11034:56:0;10413:340:1;11034:56:0;11103:49;11121:4;11128:10;11140:11;11103:9;:49::i;:::-;11170:46;;;11187:9;11348:25:1;;11198:1:0;11404:2:1;11389:18;;11382:34;;;11432:18;;;11425:34;11490:2;11475:18;;11468:34;;;11170:46:0;;11175:10;;11170:46;;;;;;11335:3:1;11170:46:0;;;10322:902;;;;;10272:952;:::o;7269:168::-;1610:17;;-1:-1:-1;;;;;1610:17:0;1596:10;:31;1574:115;;;;-1:-1:-1;;;1574:115:0;;;;;;;:::i;:::-;7388:17:::1;:41:::0;;-1:-1:-1;;;;;;7388:41:0::1;-1:-1:-1::0;;;;;7388:41:0;;;::::1;::::0;;;::::1;::::0;;7269:168::o;5685:112::-;1460:5;;-1:-1:-1;;;;;1460:5:0;1446:10;:19;1438:64;;;;-1:-1:-1;;;1438:64:0;;;;;;;:::i;:::-;5759:13:::1;:30:::0;;;::::1;;-1:-1:-1::0;;;5759:30:0::1;-1:-1:-1::0;;;;5759:30:0;;::::1;::::0;;;::::1;::::0;;5685:112::o;4402:801::-;4562:10;4546:27;;;;:15;:27;;;;;;4577:12;4546:27;;;;:43;4524:142;;;;-1:-1:-1;;;4524:142:0;;12825:2:1;4524:142:0;;;12807:21:1;12864:2;12844:18;;;12837:30;12903:34;12883:18;;;12876:62;-1:-1:-1;;;12954:18:1;;;12947:47;13011:19;;4524:142:0;12623:413:1;4524:142:0;4695:10;4679:27;;;;:15;:27;;;;;;;;:50;;-1:-1:-1;;4679:50:0;4716:12;4679:50;;;;;-1:-1:-1;;;;;4764:15:0;;;;;;;;;;;-1:-1:-1;;4764:24:0;4742:112;;;;-1:-1:-1;;;4742:112:0;;13243:2:1;4742:112:0;;;13225:21:1;13282:2;13262:18;;;13255:30;13321:34;13301:18;;;13294:62;-1:-1:-1;;;13372:18:1;;;13365:36;13418:19;;4742:112:0;13041:402:1;4742:112:0;-1:-1:-1;;;;;4892:15:0;;;:9;:15;;;;;;;;;;:24;;;;;;;4944:16;;4940:213;;5006:12;:21;;;;;;;4940:213;;;-1:-1:-1;;;;;5104:13:0;;:9;:13;;;;;;;;;;:22;;;;;;4940:213;5185:2;-1:-1:-1;;;;;5170:25:0;5179:4;-1:-1:-1;;;;;5170:25:0;;5189:5;5170:25;;;;1950::1;;1938:2;1923:18;;1804:177;5170:25:0;;;;;;;;4402:801;;;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:1:o;580:548::-;692:4;721:2;750;739:9;732:21;782:6;776:13;825:6;820:2;809:9;805:18;798:34;850:1;860:140;874:6;871:1;868:13;860:140;;;969:14;;;965:23;;959:30;935:17;;;954:2;931:26;924:66;889:10;;860:140;;;864:3;1049:1;1044:2;1035:6;1024:9;1020:22;1016:31;1009:42;1119:2;1112;1108:7;1103:2;1095:6;1091:15;1087:29;1076:9;1072:45;1068:54;1060:62;;;;580:548;;;;:::o;1386:160::-;1451:20;;1507:13;;1500:21;1490:32;;1480:60;;1536:1;1533;1526:12;1551:248;1616:6;1624;1677:2;1665:9;1656:7;1652:23;1648:32;1645:52;;;1693:1;1690;1683:12;1645:52;1729:9;1716:23;1706:33;;1758:35;1789:2;1778:9;1774:18;1758:35;:::i;:::-;1748:45;;1551:248;;;;;:::o;2178:276::-;2236:6;2289:2;2277:9;2268:7;2264:23;2260:32;2257:52;;;2305:1;2302;2295:12;2257:52;2344:9;2331:23;2394:10;2387:5;2383:22;2376:5;2373:33;2363:61;;2420:1;2417;2410:12;2856:180;2915:6;2968:2;2956:9;2947:7;2943:23;2939:32;2936:52;;;2984:1;2981;2974:12;2936:52;-1:-1:-1;3007:23:1;;2856:180;-1:-1:-1;2856:180:1:o;3041:254::-;3109:6;3117;3170:2;3158:9;3149:7;3145:23;3141:32;3138:52;;;3186:1;3183;3176:12;3138:52;3209:29;3228:9;3209:29;:::i;:::-;3199:39;3285:2;3270:18;;;;3257:32;;-1:-1:-1;;;3041:254:1:o;3300:180::-;3356:6;3409:2;3397:9;3388:7;3384:23;3380:32;3377:52;;;3425:1;3422;3415:12;3377:52;3448:26;3464:9;3448:26;:::i;3485:248::-;3553:6;3561;3614:2;3602:9;3593:7;3589:23;3585:32;3582:52;;;3630:1;3627;3620:12;3582:52;-1:-1:-1;;3653:23:1;;;3723:2;3708:18;;;3695:32;;-1:-1:-1;3485:248:1:o;3738:380::-;3817:1;3813:12;;;;3860;;;3881:61;;3935:4;3927:6;3923:17;3913:27;;3881:61;3988:2;3980:6;3977:14;3957:18;3954:38;3951:161;;4034:10;4029:3;4025:20;4022:1;4015:31;4069:4;4066:1;4059:15;4097:4;4094:1;4087:15;3951:161;;3738:380;;;:::o;4123:127::-;4184:10;4179:3;4175:20;4172:1;4165:31;4215:4;4212:1;4205:15;4239:4;4236:1;4229:15;4255:128;4322:9;;;4343:11;;;4340:37;;;4357:18;;:::i;4388:168::-;4461:9;;;4492;;4509:15;;;4503:22;;4489:37;4479:71;;4530:18;;:::i;4561:217::-;4601:1;4627;4617:132;;4671:10;4666:3;4662:20;4659:1;4652:31;4706:4;4703:1;4696:15;4734:4;4731:1;4724:15;4617:132;-1:-1:-1;4763:9:1;;4561:217::o;4783:125::-;4848:9;;;4869:10;;;4866:36;;;4882:18;;:::i;4913:398::-;5115:2;5097:21;;;5154:2;5134:18;;;5127:30;5193:34;5188:2;5173:18;;5166:62;-1:-1:-1;;;5259:2:1;5244:18;;5237:32;5301:3;5286:19;;4913:398::o;5671:356::-;5873:2;5855:21;;;5892:18;;;5885:30;5951:34;5946:2;5931:18;;5924:62;6018:2;6003:18;;5671:356::o

Swarm Source

ipfs://a340afafe036bba41adb1bcbbbf6126bb935d08f0a64a235062c76d19a79ffee

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.