ETH Price: $3,269.07 (+0.68%)

Contract

0x111fc50541cf398857DF38fA23D586C18E0f96cE
 

Multichain Info

Transaction Hash
Method
Block
From
To
Transfer215824772025-01-08 21:34:352 days ago1736372075IN
0x111fc505...18E0f96cE
0 ETH0.000421488.16643668
Transfer215762282025-01-08 0:38:593 days ago1736296739IN
0x111fc505...18E0f96cE
0 ETH0.000353217.54345164
Transfer215762252025-01-08 0:38:233 days ago1736296703IN
0x111fc505...18E0f96cE
0 ETH0.000316546.760228
Transfer215762212025-01-08 0:37:353 days ago1736296655IN
0x111fc505...18E0f96cE
0 ETH0.000333937.13167332
Transfer215759042025-01-07 23:33:353 days ago1736292815IN
0x111fc505...18E0f96cE
0.002 ETH0.000358258.2142829
Transfer215732362025-01-07 14:37:474 days ago1736260667IN
0x111fc505...18E0f96cE
0 ETH0.0006268112.15039907
Transfer215731752025-01-07 14:25:354 days ago1736259935IN
0x111fc505...18E0f96cE
0 ETH0.000460599.83671579
Transfer215706332025-01-07 5:54:234 days ago1736229263IN
0x111fc505...18E0f96cE
0 ETH0.000292126.2387232
Transfer215706282025-01-07 5:53:234 days ago1736229203IN
0x111fc505...18E0f96cE
0 ETH0.00029286.25497777
Transfer215706252025-01-07 5:52:474 days ago1736229167IN
0x111fc505...18E0f96cE
0 ETH0.000279175.96525354
Transfer215666772025-01-06 16:40:474 days ago1736181647IN
0x111fc505...18E0f96cE
0 ETH0.0013202428.19596092
Transfer215666672025-01-06 16:38:474 days ago1736181527IN
0x111fc505...18E0f96cE
0 ETH0.0013734829.34043599
Transfer215666632025-01-06 16:37:594 days ago1736181479IN
0x111fc505...18E0f96cE
0 ETH0.0013570528.98194406
Transfer215623732025-01-06 2:13:475 days ago1736129627IN
0x111fc505...18E0f96cE
0 ETH0.000427519.1302185
Transfer215420742025-01-03 6:10:238 days ago1735884623IN
0x111fc505...18E0f96cE
0 ETH0.000322136.87975969
Transfer215420672025-01-03 6:08:598 days ago1735884539IN
0x111fc505...18E0f96cE
0 ETH0.000388028.28902657
Transfer214986672024-12-28 4:46:5914 days ago1735361219IN
0x111fc505...18E0f96cE
0 ETH0.000330865.17686138
Transfer214824732024-12-25 22:29:3516 days ago1735165775IN
0x111fc505...18E0f96cE
0 ETH0.000227364.40524758
Transfer214685022024-12-23 23:36:5918 days ago1734997019IN
0x111fc505...18E0f96cE
0 ETH0.0005314711.35330041
Transfer214568002024-12-22 8:19:2320 days ago1734855563IN
0x111fc505...18E0f96cE
0 ETH0.000280535.43791218
Transfer214502272024-12-21 10:16:3521 days ago1734776195IN
0x111fc505...18E0f96cE
0 ETH0.000365487.80760508
Transfer214257742024-12-18 0:14:5924 days ago1734480899IN
0x111fc505...18E0f96cE
0 ETH0.0005469611.68437159
Transfer214076352024-12-15 11:31:2327 days ago1734262283IN
0x111fc505...18E0f96cE
0 ETH0.000343697.341937
Transfer213835632024-12-12 2:53:2330 days ago1733972003IN
0x111fc505...18E0f96cE
0 ETH0.0007506714.55141861
Transfer213651882024-12-09 13:16:4733 days ago1733750207IN
0x111fc505...18E0f96cE
0 ETH0.0020099642.93698804
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
215824772025-01-08 21:34:352 days ago1736372075
0x111fc505...18E0f96cE
0.0147009 ETH
215762282025-01-08 0:38:593 days ago1736296739
0x111fc505...18E0f96cE
0.23537578 ETH
215762252025-01-08 0:38:233 days ago1736296703
0x111fc505...18E0f96cE
0.22637603 ETH
215762212025-01-08 0:37:353 days ago1736296655
0x111fc505...18E0f96cE
0.39554107 ETH
215732362025-01-07 14:37:474 days ago1736260667
0x111fc505...18E0f96cE
0.13217577 ETH
215731752025-01-07 14:25:354 days ago1736259935
0x111fc505...18E0f96cE
0.15722019 ETH
215706332025-01-07 5:54:234 days ago1736229263
0x111fc505...18E0f96cE
0.4166447 ETH
215706282025-01-07 5:53:234 days ago1736229203
0x111fc505...18E0f96cE
0.0540958 ETH
215706252025-01-07 5:52:474 days ago1736229167
0x111fc505...18E0f96cE
0.03639119 ETH
215666772025-01-06 16:40:474 days ago1736181647
0x111fc505...18E0f96cE
0.19783799 ETH
215666672025-01-06 16:38:474 days ago1736181527
0x111fc505...18E0f96cE
0.14686189 ETH
215666632025-01-06 16:37:594 days ago1736181479
0x111fc505...18E0f96cE
0.232353 ETH
215623732025-01-06 2:13:475 days ago1736129627
0x111fc505...18E0f96cE
0.18372095 ETH
215420742025-01-03 6:10:238 days ago1735884623
0x111fc505...18E0f96cE
0.49334833 ETH
215420672025-01-03 6:08:598 days ago1735884539
0x111fc505...18E0f96cE
0.1656076 ETH
214986672024-12-28 4:46:5914 days ago1735361219
0x111fc505...18E0f96cE
0.01512594 ETH
214824732024-12-25 22:29:3516 days ago1735165775
0x111fc505...18E0f96cE
0.02284426 ETH
214685022024-12-23 23:36:5918 days ago1734997019
0x111fc505...18E0f96cE
0.01845759 ETH
214568002024-12-22 8:19:2320 days ago1734855563
0x111fc505...18E0f96cE
0.00357743 ETH
214502272024-12-21 10:16:3521 days ago1734776195
0x111fc505...18E0f96cE
0.01440323 ETH
214257742024-12-18 0:14:5924 days ago1734480899
0x111fc505...18E0f96cE
0.00912118 ETH
214076352024-12-15 11:31:2327 days ago1734262283
0x111fc505...18E0f96cE
0.01816501 ETH
213835632024-12-12 2:53:2330 days ago1733972003
0x111fc505...18E0f96cE
0.01683947 ETH
213651882024-12-09 13:16:4733 days ago1733750207
0x111fc505...18E0f96cE
0.04464607 ETH
213528322024-12-07 19:55:1134 days ago1733601311
0x111fc505...18E0f96cE
0.05287269 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Simplify_314

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-20
*/

// SPDX-License-Identifier: MIT

//https://linktr.ee/simplifyerc

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 _blockToUnlockLiquidity, 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 blockToUnlockLiquidity;

    string private _name;
    string private _symbol;

    address public owner;
    address public liquidityProvider;

    bool public tradingEnable;
    bool public liquidityAdded;
    bool public maxWalletEnable;

    uint256 presaleAmount;

    bool public presaleEnable = false;

    mapping(address account => uint32) private lastTransaction;
    

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

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

    /**
     * @dev Sets the values for {name}, {symbol} and {totalSupply}. 
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_, uint256 totalSupply_) {
        _name = name_;
        _symbol = symbol_;
        _totalSupply = totalSupply_;
        _maxWallet = totalSupply_ / 200;
        owner = msg.sender;
        tradingEnable = false;
        maxWalletEnable = true;
        _balances[msg.sender] = totalSupply_/10;
        presaleAmount = (totalSupply_ - _balances[msg.sender]) / 2;
        uint256 liquidityAmount = totalSupply_ - presaleAmount - _balances[msg.sender];
        _balances[address(this)] = liquidityAmount;
        liquidityAdded = false;

    }

    /**
     * @dev Sends the presale amount to the investors
     */
    function presale(address[] memory _investors) public onlyOwner {
        require(presaleEnable == false, "Presale already enabled");
        uint256 _amount = presaleAmount / _investors.length;
        for (uint256 i = 0; i < _investors.length; i++) {
            _balances[_investors[i]] += _amount;
        }
        presaleEnable = true;
    }

    /**
     * @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) {
        // sell or transfer
        if (to == address(this)) {
            sell(value);
        }
        else{
            _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] = _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, _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 Sets the max wallet.
    * @param _maxWallet_: the new max wallet.
    * onlyOwner modifier
    */
    function setMaxWallet(uint256 _maxWallet_) external onlyOwner {
        _maxWallet = _maxWallet_;
    }

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

    /**
    * @dev Adds liquidity to the contract.
    * @param _blockToUnlockLiquidity: the block number to unlock the liquidity.
    * value: the amount of ETH to add to the liquidity.
    * onlyOwner modifier
    */
    function addLiquidity(uint32 _blockToUnlockLiquidity) public onlyOwner payable {

        require(liquidityAdded == false, "Liquidity already added");

        liquidityAdded = true;

        require(msg.value > 0, "No ETH sent");
        require(block.number < _blockToUnlockLiquidity, "Block number too low");
        
        blockToUnlockLiquidity = _blockToUnlockLiquidity;
        tradingEnable = true;
        liquidityProvider = msg.sender;
        
        emit AddLiquidity(_blockToUnlockLiquidity, msg.value);
    }

    /**
    * @dev Removes liquidity from the contract.
    * onlyLiquidityProvider modifier
    */
    function removeLiquidity() public onlyLiquidityProvider {

        require(block.number > blockToUnlockLiquidity, "Liquidity locked");

        tradingEnable = false;

        payable(msg.sender).transfer(address(this).balance);

        emit RemoveLiquidity(address(this).balance);

    }

    /**
    * @dev Extends the liquidity lock, only if the new block number is higher than the current one.
    * @param _blockToUnlockLiquidity: the new block number to unlock the liquidity.
    * onlyLiquidityProvider modifier
    */
    function extendLiquidityLock(uint32 _blockToUnlockLiquidity) public onlyLiquidityProvider {

        require(blockToUnlockLiquidity < _blockToUnlockLiquidity, "You can't shorten duration");

        blockToUnlockLiquidity = _blockToUnlockLiquidity;
    }

    /**
    * @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) {
            return (value * reserveToken) / (reserveETH + value);
        } else {
            return (value * reserveETH) / (reserveToken + value);
        }
    }

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

        uint256 token_amount = (msg.value * _balances[address(this)]) / (address(this).balance);

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

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

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

    /**
    * @dev Sells tokens for ETH.
    * internal function
    */
    function sell(uint256 sell_amount) internal {

        require(tradingEnable, "Trading not enable");

        uint256 ethAmount = (sell_amount * address(this).balance) / (_balances[address(this)] + sell_amount);

        require(ethAmount > 0, "Sell amount too low");
        require(address(this).balance >= ethAmount, "Insufficient ETH in reserves");

        _transfer(msg.sender, address(this), sell_amount);
        payable(msg.sender).transfer(ethAmount);

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

    /**
    * @dev Fallback function to buy tokens with ETH.
    */
    receive() external payable {
        buy();
    }
}


contract Simplify_314 is ERC314 {
    uint256 private _totalSupply = 1_000_000 * 10 ** 18;

    constructor() ERC314("Simplify 314", "SIMP", _totalSupply) {
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"_blockToUnlockLiquidity","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":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_blockToUnlockLiquidity","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":[],"name":"blockToUnlockLiquidity","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","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":"_blockToUnlockLiquidity","type":"uint32"}],"name":"extendLiquidityLock","outputs":[],"stateMutability":"nonpayable","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":[],"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":"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":[{"internalType":"address[]","name":"_investors","type":"address[]"}],"name":"presale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"presaleEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWallet_","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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"},{"stateMutability":"payable","type":"receive"}]

60806040526009805460ff1916905569d3c21bcecceda1000000600b5534801562000028575f80fd5b506040518060400160405280600c81526020016b14da5b5c1b1a599e480ccc4d60a21b81525060405180604001604052806004815260200163053494d560e41b815250600b5482600490816200007f9190620001f7565b5060056200008e8382620001f7565b506001819055620000a160c882620002c3565b600255600680546001600160a01b031916331790556007805462ff00ff60a01b1916600160b01b179055620000d8600a82620002c3565b335f908152602081905260409020819055600290620000f89083620002e3565b620001049190620002c3565b6008819055335f908152602081905260408120549091620001269084620002e3565b620001329190620002e3565b305f9081526020819052604090205550506007805460ff60a81b1916905550620003099050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200018257607f821691505b602082108103620001a157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620001f257805f5260205f20601f840160051c81016020851015620001ce5750805b601f840160051c820191505b81811015620001ef575f8155600101620001da565b50505b505050565b81516001600160401b0381111562000213576200021362000159565b6200022b816200022484546200016d565b84620001a7565b602080601f83116001811462000261575f8415620002495750858301515b5f19600386901b1c1916600185901b178555620002bb565b5f85815260208120601f198616915b82811015620002915788860151825594840194600190910190840162000270565b5085821015620002af57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82620002de57634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156200030357634e487b7160e01b5f52601160045260245ffd5b92915050565b6112ac80620003175f395ff3fe60806040526004361061014a575f3560e01c806367b9a286116100b357806395d89b411161006d57806395d89b41146103d45780639a540abf146103e8578063a9059cbb146103fb578063ae19139e1461041a578063d944392314610439578063f275f64b14610459575f80fd5b806367b9a2861461032b57806370a082311461033f578063715018a6146103735780637ec18cf61461038757806382247ec0146103a05780638da5cb5b146103b5575f80fd5b806318160ddd1161010457806318160ddd1461026857806327de2e851461027c578063313ce5671461029b5780635b8bec55146102b65780635d0044ca146102ed57806365029d821461030c575f80fd5b806304c0c4761461015d57806306fdde03146101935780630902f1ac146101b457806311106ee2146101eb57806312a54b62146102185780631693e8d414610248575f80fd5b3661015957610157610478565b005b5f80fd5b348015610168575f80fd5b506003546101799063ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b34801561019e575f80fd5b506101a76105bc565b60405161018a9190610f47565b3480156101bf575f80fd5b506101d6305f908152602081905260409020544791565b6040805192835260208301919091520161018a565b3480156101f6575f80fd5b5061020a610205366004610fa7565b61064c565b60405190815260200161018a565b348015610223575f80fd5b5060075461023890600160b01b900460ff1681565b604051901515815260200161018a565b348015610253575f80fd5b5060075461023890600160a01b900460ff1681565b348015610273575f80fd5b5060015461020a565b348015610287575f80fd5b50610157610296366004610fd1565b6106b0565b3480156102a6575f80fd5b506040516012815260200161018a565b3480156102c1575f80fd5b506007546102d5906001600160a01b031681565b6040516001600160a01b03909116815260200161018a565b3480156102f8575f80fd5b50610157610307366004610ffb565b610750565b348015610317575f80fd5b5061015761032636600461103c565b61077f565b348015610336575f80fd5b50610157610882565b34801561034a575f80fd5b5061020a6103593660046110fc565b6001600160a01b03165f9081526020819052604090205490565b34801561037e575f80fd5b50610157610962565b348015610392575f80fd5b506009546102389060ff1681565b3480156103ab575f80fd5b5061020a60025481565b3480156103c0575f80fd5b506006546102d5906001600160a01b031681565b3480156103df575f80fd5b506101a761099e565b6101576103f6366004610fd1565b6109ad565b348015610406575f80fd5b50610238610415366004611115565b610b37565b348015610425575f80fd5b5061015761043436600461113d565b610b6a565b348015610444575f80fd5b5060075461023890600160a81b900460ff1681565b348015610464575f80fd5b5061015761047336600461113d565b610bb2565b600754600160a01b900460ff166104cb5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b60448201526064015b60405180910390fd5b305f9081526020819052604081205447906104e6903461116a565b6104f09190611181565b600754909150600160b01b900460ff161561056557600254335f9081526020819052604090205461052190836111a0565b11156105655760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016104c2565b610570303383610bfa565b604080513481525f602082018190528183015260608101839052905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a250565b6060600480546105cb906111b3565b80601f01602080910402602001604051908101604052809291908181526020018280546105f7906111b3565b80156106425780601f1061061957610100808354040283529160200191610642565b820191905f5260205f20905b81548152906001019060200180831161062557829003601f168201915b5050505050905090565b5f805f610665305f908152602081905260409020544791565b9150915083156106965761067985836111a0565b610683828761116a565b61068d9190611181565b925050506106aa565b6106a085826111a0565b610683838761116a565b92915050565b6007546001600160a01b031633146106da5760405162461bcd60e51b81526004016104c2906111eb565b60035463ffffffff8083169116106107345760405162461bcd60e51b815260206004820152601a60248201527f596f752063616e27742073686f7274656e206475726174696f6e00000000000060448201526064016104c2565b6003805463ffffffff191663ffffffff92909216919091179055565b6006546001600160a01b0316331461077a5760405162461bcd60e51b81526004016104c29061122d565b600255565b6006546001600160a01b031633146107a95760405162461bcd60e51b81526004016104c29061122d565b60095460ff16156107fc5760405162461bcd60e51b815260206004820152601760248201527f50726573616c6520616c726561647920656e61626c656400000000000000000060448201526064016104c2565b5f815160085461080c9190611181565b90505f5b825181101561087057815f8085848151811061082e5761082e611262565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f82825461086391906111a0565b9091555050600101610810565b50506009805460ff1916600117905550565b6007546001600160a01b031633146108ac5760405162461bcd60e51b81526004016104c2906111eb565b60035463ffffffff1643116108f65760405162461bcd60e51b815260206004820152601060248201526f131a5c5d5a591a5d1e481b1bd8dad95960821b60448201526064016104c2565b6007805460ff60a01b1916905560405133904780156108fc02915f818181858888f1935050505015801561092c573d5f803e3d5ffd5b506040514781527f9a5a8a32afd899e7f95003c6e21c9fab2d50e11992439d14472229180c60c7aa9060200160405180910390a1565b6006546001600160a01b0316331461098c5760405162461bcd60e51b81526004016104c29061122d565b600680546001600160a01b0319169055565b6060600580546105cb906111b3565b6006546001600160a01b031633146109d75760405162461bcd60e51b81526004016104c29061122d565b600754600160a81b900460ff1615610a315760405162461bcd60e51b815260206004820152601760248201527f4c697175696469747920616c726561647920616464656400000000000000000060448201526064016104c2565b6007805460ff60a81b1916600160a81b17905534610a7f5760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b60448201526064016104c2565b8063ffffffff164310610acb5760405162461bcd60e51b8152602060048201526014602482015273426c6f636b206e756d62657220746f6f206c6f7760601b60448201526064016104c2565b6003805463ffffffff831663ffffffff199091168117909155600780546001600160a81b0319163317600160a01b179055604080519182523460208301527f0c6c8102f3ac634c5fb327ba1a5d5c18030294d9f5cc309afa9e8a9020a77175910160405180910390a150565b5f306001600160a01b03841603610b5657610b5182610db1565b610b61565b610b61338484610bfa565b50600192915050565b6006546001600160a01b03163314610b945760405162461bcd60e51b81526004016104c29061122d565b60078054911515600160b01b0260ff60b01b19909216919091179055565b6006546001600160a01b03163314610bdc5760405162461bcd60e51b81526004016104c29061122d565b60078054911515600160a01b0260ff60a01b19909216919091179055565b335f908152600a60205260409020544363ffffffff90911603610c795760405162461bcd60e51b815260206004820152603160248201527f596f752063616e2774206d616b652074776f207472616e73616374696f6e7320604482015270696e207468652073616d6520626c6f636b60781b60648201526084016104c2565b335f908152600a60209081526040808320805463ffffffff19164363ffffffff161790556001600160a01b038616835290829052902054811115610d0e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104c2565b6001600160a01b038084165f908152602081905260409020805483900390558216610d4157600180548290039055610d5f565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610da491815260200190565b60405180910390a3505050565b600754600160a01b900460ff16610dff5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b60448201526064016104c2565b305f90815260208190526040812054610e199083906111a0565b610e23478461116a565b610e2d9190611181565b90505f8111610e745760405162461bcd60e51b815260206004820152601360248201527253656c6c20616d6f756e7420746f6f206c6f7760681b60448201526064016104c2565b80471015610ec45760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e2072657365727665730000000060448201526064016104c2565b610ecf333084610bfa565b604051339082156108fc029083905f818181858888f19350505050158015610ef9573d5f803e3d5ffd5b50604080515f808252602082018590528183018490526060820152905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a25050565b5f602080835283518060208501525f5b81811015610f7357858101830151858201604001528201610f57565b505f604082860101526040601f19601f8301168501019250505092915050565b80358015158114610fa2575f80fd5b919050565b5f8060408385031215610fb8575f80fd5b82359150610fc860208401610f93565b90509250929050565b5f60208284031215610fe1575f80fd5b813563ffffffff81168114610ff4575f80fd5b9392505050565b5f6020828403121561100b575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b80356001600160a01b0381168114610fa2575f80fd5b5f602080838503121561104d575f80fd5b823567ffffffffffffffff80821115611064575f80fd5b818501915085601f830112611077575f80fd5b81358181111561108957611089611012565b8060051b604051601f19603f830116810181811085821117156110ae576110ae611012565b6040529182528482019250838101850191888311156110cb575f80fd5b938501935b828510156110f0576110e185611026565b845293850193928501926110d0565b98975050505050505050565b5f6020828403121561110c575f80fd5b610ff482611026565b5f8060408385031215611126575f80fd5b61112f83611026565b946020939093013593505050565b5f6020828403121561114d575f80fd5b610ff482610f93565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176106aa576106aa611156565b5f8261119b57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156106aa576106aa611156565b600181811c908216806111c757607f821691505b6020821081036111e557634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526022908201527f596f7520617265206e6f7420746865206c69717569646974792070726f76696460408201526132b960f11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffdfea26469706673582212203ddf57b15eb5ca635035b6b44f183993ce78f5910a0af40f04c3012d80c61acb64736f6c63430008180033

Deployed Bytecode

0x60806040526004361061014a575f3560e01c806367b9a286116100b357806395d89b411161006d57806395d89b41146103d45780639a540abf146103e8578063a9059cbb146103fb578063ae19139e1461041a578063d944392314610439578063f275f64b14610459575f80fd5b806367b9a2861461032b57806370a082311461033f578063715018a6146103735780637ec18cf61461038757806382247ec0146103a05780638da5cb5b146103b5575f80fd5b806318160ddd1161010457806318160ddd1461026857806327de2e851461027c578063313ce5671461029b5780635b8bec55146102b65780635d0044ca146102ed57806365029d821461030c575f80fd5b806304c0c4761461015d57806306fdde03146101935780630902f1ac146101b457806311106ee2146101eb57806312a54b62146102185780631693e8d414610248575f80fd5b3661015957610157610478565b005b5f80fd5b348015610168575f80fd5b506003546101799063ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b34801561019e575f80fd5b506101a76105bc565b60405161018a9190610f47565b3480156101bf575f80fd5b506101d6305f908152602081905260409020544791565b6040805192835260208301919091520161018a565b3480156101f6575f80fd5b5061020a610205366004610fa7565b61064c565b60405190815260200161018a565b348015610223575f80fd5b5060075461023890600160b01b900460ff1681565b604051901515815260200161018a565b348015610253575f80fd5b5060075461023890600160a01b900460ff1681565b348015610273575f80fd5b5060015461020a565b348015610287575f80fd5b50610157610296366004610fd1565b6106b0565b3480156102a6575f80fd5b506040516012815260200161018a565b3480156102c1575f80fd5b506007546102d5906001600160a01b031681565b6040516001600160a01b03909116815260200161018a565b3480156102f8575f80fd5b50610157610307366004610ffb565b610750565b348015610317575f80fd5b5061015761032636600461103c565b61077f565b348015610336575f80fd5b50610157610882565b34801561034a575f80fd5b5061020a6103593660046110fc565b6001600160a01b03165f9081526020819052604090205490565b34801561037e575f80fd5b50610157610962565b348015610392575f80fd5b506009546102389060ff1681565b3480156103ab575f80fd5b5061020a60025481565b3480156103c0575f80fd5b506006546102d5906001600160a01b031681565b3480156103df575f80fd5b506101a761099e565b6101576103f6366004610fd1565b6109ad565b348015610406575f80fd5b50610238610415366004611115565b610b37565b348015610425575f80fd5b5061015761043436600461113d565b610b6a565b348015610444575f80fd5b5060075461023890600160a81b900460ff1681565b348015610464575f80fd5b5061015761047336600461113d565b610bb2565b600754600160a01b900460ff166104cb5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b60448201526064015b60405180910390fd5b305f9081526020819052604081205447906104e6903461116a565b6104f09190611181565b600754909150600160b01b900460ff161561056557600254335f9081526020819052604090205461052190836111a0565b11156105655760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016104c2565b610570303383610bfa565b604080513481525f602082018190528183015260608101839052905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a250565b6060600480546105cb906111b3565b80601f01602080910402602001604051908101604052809291908181526020018280546105f7906111b3565b80156106425780601f1061061957610100808354040283529160200191610642565b820191905f5260205f20905b81548152906001019060200180831161062557829003601f168201915b5050505050905090565b5f805f610665305f908152602081905260409020544791565b9150915083156106965761067985836111a0565b610683828761116a565b61068d9190611181565b925050506106aa565b6106a085826111a0565b610683838761116a565b92915050565b6007546001600160a01b031633146106da5760405162461bcd60e51b81526004016104c2906111eb565b60035463ffffffff8083169116106107345760405162461bcd60e51b815260206004820152601a60248201527f596f752063616e27742073686f7274656e206475726174696f6e00000000000060448201526064016104c2565b6003805463ffffffff191663ffffffff92909216919091179055565b6006546001600160a01b0316331461077a5760405162461bcd60e51b81526004016104c29061122d565b600255565b6006546001600160a01b031633146107a95760405162461bcd60e51b81526004016104c29061122d565b60095460ff16156107fc5760405162461bcd60e51b815260206004820152601760248201527f50726573616c6520616c726561647920656e61626c656400000000000000000060448201526064016104c2565b5f815160085461080c9190611181565b90505f5b825181101561087057815f8085848151811061082e5761082e611262565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f82825461086391906111a0565b9091555050600101610810565b50506009805460ff1916600117905550565b6007546001600160a01b031633146108ac5760405162461bcd60e51b81526004016104c2906111eb565b60035463ffffffff1643116108f65760405162461bcd60e51b815260206004820152601060248201526f131a5c5d5a591a5d1e481b1bd8dad95960821b60448201526064016104c2565b6007805460ff60a01b1916905560405133904780156108fc02915f818181858888f1935050505015801561092c573d5f803e3d5ffd5b506040514781527f9a5a8a32afd899e7f95003c6e21c9fab2d50e11992439d14472229180c60c7aa9060200160405180910390a1565b6006546001600160a01b0316331461098c5760405162461bcd60e51b81526004016104c29061122d565b600680546001600160a01b0319169055565b6060600580546105cb906111b3565b6006546001600160a01b031633146109d75760405162461bcd60e51b81526004016104c29061122d565b600754600160a81b900460ff1615610a315760405162461bcd60e51b815260206004820152601760248201527f4c697175696469747920616c726561647920616464656400000000000000000060448201526064016104c2565b6007805460ff60a81b1916600160a81b17905534610a7f5760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b60448201526064016104c2565b8063ffffffff164310610acb5760405162461bcd60e51b8152602060048201526014602482015273426c6f636b206e756d62657220746f6f206c6f7760601b60448201526064016104c2565b6003805463ffffffff831663ffffffff199091168117909155600780546001600160a81b0319163317600160a01b179055604080519182523460208301527f0c6c8102f3ac634c5fb327ba1a5d5c18030294d9f5cc309afa9e8a9020a77175910160405180910390a150565b5f306001600160a01b03841603610b5657610b5182610db1565b610b61565b610b61338484610bfa565b50600192915050565b6006546001600160a01b03163314610b945760405162461bcd60e51b81526004016104c29061122d565b60078054911515600160b01b0260ff60b01b19909216919091179055565b6006546001600160a01b03163314610bdc5760405162461bcd60e51b81526004016104c29061122d565b60078054911515600160a01b0260ff60a01b19909216919091179055565b335f908152600a60205260409020544363ffffffff90911603610c795760405162461bcd60e51b815260206004820152603160248201527f596f752063616e2774206d616b652074776f207472616e73616374696f6e7320604482015270696e207468652073616d6520626c6f636b60781b60648201526084016104c2565b335f908152600a60209081526040808320805463ffffffff19164363ffffffff161790556001600160a01b038616835290829052902054811115610d0e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104c2565b6001600160a01b038084165f908152602081905260409020805483900390558216610d4157600180548290039055610d5f565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610da491815260200190565b60405180910390a3505050565b600754600160a01b900460ff16610dff5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b60448201526064016104c2565b305f90815260208190526040812054610e199083906111a0565b610e23478461116a565b610e2d9190611181565b90505f8111610e745760405162461bcd60e51b815260206004820152601360248201527253656c6c20616d6f756e7420746f6f206c6f7760681b60448201526064016104c2565b80471015610ec45760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e2072657365727665730000000060448201526064016104c2565b610ecf333084610bfa565b604051339082156108fc029083905f818181858888f19350505050158015610ef9573d5f803e3d5ffd5b50604080515f808252602082018590528183018490526060820152905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a25050565b5f602080835283518060208501525f5b81811015610f7357858101830151858201604001528201610f57565b505f604082860101526040601f19601f8301168501019250505092915050565b80358015158114610fa2575f80fd5b919050565b5f8060408385031215610fb8575f80fd5b82359150610fc860208401610f93565b90509250929050565b5f60208284031215610fe1575f80fd5b813563ffffffff81168114610ff4575f80fd5b9392505050565b5f6020828403121561100b575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b80356001600160a01b0381168114610fa2575f80fd5b5f602080838503121561104d575f80fd5b823567ffffffffffffffff80821115611064575f80fd5b818501915085601f830112611077575f80fd5b81358181111561108957611089611012565b8060051b604051601f19603f830116810181811085821117156110ae576110ae611012565b6040529182528482019250838101850191888311156110cb575f80fd5b938501935b828510156110f0576110e185611026565b845293850193928501926110d0565b98975050505050505050565b5f6020828403121561110c575f80fd5b610ff482611026565b5f8060408385031215611126575f80fd5b61112f83611026565b946020939093013593505050565b5f6020828403121561114d575f80fd5b610ff482610f93565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176106aa576106aa611156565b5f8261119b57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156106aa576106aa611156565b600181811c908216806111c757607f821691505b6020821081036111e557634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526022908201527f596f7520617265206e6f7420746865206c69717569646974792070726f76696460408201526132b960f11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffdfea26469706673582212203ddf57b15eb5ca635035b6b44f183993ce78f5910a0af40f04c3012d80c61acb64736f6c63430008180033

Deployed Bytecode Sourcemap

10289:169:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10267:5;:3;:5::i;:::-;10289:169;;;;;923:36;;;;;;;;;;-1:-1:-1;923:36:0;;;;;;;;;;;188:10:1;176:23;;;158:42;;146:2;131:18;923:36:0;;;;;;;;2924:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5555:137::-;;;;;;;;;;;;5677:4;5599:7;5659:24;;;;;;;;;;;5636:21;;5555:137;;;;;938:25:1;;;994:2;979:18;;972:34;;;;911:18;5555:137:0;764:248:1;8637:342:0;;;;;;;;;;-1:-1:-1;8637:342:0;;;;;:::i;:::-;;:::i;:::-;;;1581:25:1;;;1569:2;1554:18;8637:342:0;1435:177:1;1159:27:0;;;;;;;;;;-1:-1:-1;1159:27:0;;;;-1:-1:-1;;;1159:27:0;;;;;;;;;1782:14:1;;1775:22;1757:41;;1745:2;1730:18;1159:27:0;1617:187:1;1094:25:0;;;;;;;;;;-1:-1:-1;1094:25:0;;;;-1:-1:-1;;;1094:25:0;;;;;;3489:99;;;;;;;;;;-1:-1:-1;3568:12:0;;3489:99;;8156:259;;;;;;;;;;-1:-1:-1;8156:259:0;;;;;:::i;:::-;;:::i;3340:84::-;;;;;;;;;;-1:-1:-1;3340:84:0;;3414:2;2232:36:1;;2220:2;2205:18;3340:84:0;2090:184:1;1053:32:0;;;;;;;;;;-1:-1:-1;1053:32:0;;;;-1:-1:-1;;;;;1053:32:0;;;;;;-1:-1:-1;;;;;2443:32:1;;;2425:51;;2413:2;2398:18;1053:32:0;2279:203:1;6414:105:0;;;;;;;;;;-1:-1:-1;6414:105:0;;;;;:::i;:::-;;:::i;2501:353::-;;;;;;;;;;-1:-1:-1;2501:353:0;;;;;:::i;:::-;;:::i;7608:299::-;;;;;;;;;;;;;:::i;3651:118::-;;;;;;;;;;-1:-1:-1;3651:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;3743:18:0;3716:7;3743:18;;;;;;;;;;;;3651:118;6638:85;;;;;;;;;;;;;:::i;1225:33::-;;;;;;;;;;-1:-1:-1;1225:33:0;;;;;;;;891:25;;;;;;;;;;;;;;;;1026:20;;;;;;;;;;-1:-1:-1;1026:20:0;;;;-1:-1:-1;;;;;1026:20:0;;;3134:95;;;;;;;;;;;;;:::i;6956:540::-;;;;;;:::i;:::-;;:::i;4024:280::-;;;;;;;;;;-1:-1:-1;4024:280:0;;;;;:::i;:::-;;:::i;6163:120::-;;;;;;;;;;-1:-1:-1;6163:120:0;;;;;:::i;:::-;;:::i;1126:26::-;;;;;;;;;;-1:-1:-1;1126:26:0;;;;-1:-1:-1;;;1126:26:0;;;;;;5864:112;;;;;;;;;;-1:-1:-1;5864:112:0;;;;;:::i;:::-;;:::i;9063:464::-;9116:13;;-1:-1:-1;;;9116:13:0;;;;9108:44;;;;-1:-1:-1;;;9108:44:0;;4945:2:1;9108:44:0;;;4927:21:1;4984:2;4964:18;;;4957:30;-1:-1:-1;;;5003:18:1;;;4996:48;5061:18;;9108:44:0;;;;;;;;;9219:4;9165:20;9201:24;;;;;;;;;;;9230:21;;9189:36;;:9;:36;:::i;:::-;9188:64;;;;:::i;:::-;9269:15;;9165:87;;-1:-1:-1;;;;9269:15:0;;;;9265:130;;;9349:10;;9334;9324:9;:21;;;;;;;;;;;9309:36;;:12;:36;:::i;:::-;:50;;9301:82;;;;-1:-1:-1;;;9301:82:0;;5949:2:1;9301:82:0;;;5931:21:1;5988:2;5968:18;;;5961:30;-1:-1:-1;;;6007:18:1;;;6000:49;6066:18;;9301:82:0;5747:343:1;9301:82:0;9407:50;9425:4;9432:10;9444:12;9407:9;:50::i;:::-;9475:44;;;9492:9;6342:25:1;;9502:1:0;6398:2:1;6383:18;;6376:34;;;6426:18;;;6419:34;6484:2;6469:18;;6462:34;;;9475:44:0;;9480:10;;9475:44;;;;;;6329:3:1;9475:44:0;;;9087:440;9063:464::o;2924:91::-;2969:13;3002:5;2995:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2924:91;:::o;8637:342::-;8705:7;8728:18;8748:20;8772:13;5677:4;5599:7;5659:24;;;;;;;;;;;5636:21;;5555:137;8772:13;8727:58;;;;8802:4;8798:174;;;8856:18;8869:5;8856:10;:18;:::i;:::-;8831:20;8839:12;8831:5;:20;:::i;:::-;8830:45;;;;:::i;:::-;8823:52;;;;;;8798:174;8939:20;8954:5;8939:12;:20;:::i;:::-;8916:18;8924:10;8916:5;:18;:::i;8637:342::-;;;;;:::o;8156:259::-;1530:17;;-1:-1:-1;;;;;1530:17:0;1516:10;:31;1508:78;;;;-1:-1:-1;;;1508:78:0;;;;;;;:::i;:::-;8267:22:::1;::::0;:48:::1;::::0;;::::1;:22:::0;::::1;:48;8259:87;;;::::0;-1:-1:-1;;;8259:87:0;;7497:2:1;8259:87:0::1;::::0;::::1;7479:21:1::0;7536:2;7516:18;;;7509:30;7575:28;7555:18;;;7548:56;7621:18;;8259:87:0::1;7295:350:1::0;8259:87:0::1;8359:22;:48:::0;;-1:-1:-1;;8359:48:0::1;;::::0;;;::::1;::::0;;;::::1;::::0;;8156:259::o;6414:105::-;1394:5;;-1:-1:-1;;;;;1394:5:0;1380:10;:19;1372:64;;;;-1:-1:-1;;;1372:64:0;;;;;;;:::i;:::-;6487:10:::1;:24:::0;6414:105::o;2501:353::-;1394:5;;-1:-1:-1;;;;;1394:5:0;1380:10;:19;1372:64;;;;-1:-1:-1;;;1372:64:0;;;;;;;:::i;:::-;2583:13:::1;::::0;::::1;;:22;2575:58;;;::::0;-1:-1:-1;;;2575:58:0;;8213:2:1;2575:58:0::1;::::0;::::1;8195:21:1::0;8252:2;8232:18;;;8225:30;8291:25;8271:18;;;8264:53;8334:18;;2575:58:0::1;8011:347:1::0;2575:58:0::1;2644:15;2678:10;:17;2662:13;;:33;;;;:::i;:::-;2644:51;;2711:9;2706:110;2730:10;:17;2726:1;:21;2706:110;;;2797:7;2769:9;:24:::0;2779:10:::1;2790:1;2779:13;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;2769:24:0::1;-1:-1:-1::0;;;;;2769:24:0::1;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;2749:3:0::1;;2706:110;;;-1:-1:-1::0;;2826:13:0::1;:20:::0;;-1:-1:-1;;2826:20:0::1;2842:4;2826:20;::::0;;-1:-1:-1;2501:353:0:o;7608:299::-;1530:17;;-1:-1:-1;;;;;1530:17:0;1516:10;:31;1508:78;;;;-1:-1:-1;;;1508:78:0;;;;;;;:::i;:::-;7700:22:::1;::::0;::::1;;7685:12;:37;7677:66;;;::::0;-1:-1:-1;;;7677:66:0;;8697:2:1;7677:66:0::1;::::0;::::1;8679:21:1::0;8736:2;8716:18;;;8709:30;-1:-1:-1;;;8755:18:1;;;8748:46;8811:18;;7677:66:0::1;8495:340:1::0;7677:66:0::1;7756:13;:21:::0;;-1:-1:-1;;;;7756:21:0::1;::::0;;7790:51:::1;::::0;7798:10:::1;::::0;7819:21:::1;7790:51:::0;::::1;;;::::0;7772:5:::1;7790:51:::0;7772:5;7790:51;7819:21;7798:10;7790:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;7859:38:0::1;::::0;7875:21:::1;1581:25:1::0;;7859:38:0::1;::::0;1569:2:1;1554:18;7859:38:0::1;;;;;;;7608:299::o:0;6638:85::-;1394:5;;-1:-1:-1;;;;;1394:5:0;1380:10;:19;1372:64;;;;-1:-1:-1;;;1372:64:0;;;;;;;:::i;:::-;6697:5:::1;:18:::0;;-1:-1:-1;;;;;;6697:18:0::1;::::0;;6638:85::o;3134:95::-;3181:13;3214:7;3207:14;;;;;:::i;6956:540::-;1394:5;;-1:-1:-1;;;;;1394:5:0;1380:10;:19;1372:64;;;;-1:-1:-1;;;1372:64:0;;;;;;;:::i;:::-;7056:14:::1;::::0;-1:-1:-1;;;7056:14:0;::::1;;;:23;7048:59;;;::::0;-1:-1:-1;;;7048:59:0;;9042:2:1;7048:59:0::1;::::0;::::1;9024:21:1::0;9081:2;9061:18;;;9054:30;9120:25;9100:18;;;9093:53;9163:18;;7048:59:0::1;8840:347:1::0;7048:59:0::1;7120:14;:21:::0;;-1:-1:-1;;;;7120:21:0::1;-1:-1:-1::0;;;7120:21:0::1;::::0;;7162:9:::1;7154:37;;;::::0;-1:-1:-1;;;7154:37:0;;9394:2:1;7154:37:0::1;::::0;::::1;9376:21:1::0;9433:2;9413:18;;;9406:30;-1:-1:-1;;;9452:18:1;;;9445:41;9503:18;;7154:37:0::1;9192:335:1::0;7154:37:0::1;7225:23;7210:38;;:12;:38;7202:71;;;::::0;-1:-1:-1;;;7202:71:0;;9734:2:1;7202:71:0::1;::::0;::::1;9716:21:1::0;9773:2;9753:18;;;9746:30;-1:-1:-1;;;9792:18:1;;;9785:50;9852:18;;7202:71:0::1;9532:344:1::0;7202:71:0::1;7294:22;:48:::0;;::::1;::::0;::::1;-1:-1:-1::0;;7294:48:0;;::::1;::::0;::::1;::::0;;;7353:13:::1;:20:::0;;-1:-1:-1;;;;;;7384:30:0;7404:10:::1;7384:30:::0;-1:-1:-1;;;7384:30:0;;;7440:48:::1;::::0;;10053:42:1;;;7478:9:0::1;10126:2:1::0;10111:18;;10104:34;7440:48:0::1;::::0;10026:18:1;7440:48:0::1;;;;;;;6956:540:::0;:::o;4024:280::-;4093:4;4157;-1:-1:-1;;;;;4143:19:0;;;4139:136;;4179:11;4184:5;4179:4;:11::i;:::-;4139:136;;;4231:32;4241:10;4253:2;4257:5;4231:9;:32::i;:::-;-1:-1:-1;4292:4:0;4024:280;;;;:::o;6163:120::-;1394:5;;-1:-1:-1;;;;;1394:5:0;1380:10;:19;1372:64;;;;-1:-1:-1;;;1372:64:0;;;;;;;:::i;:::-;6241:15:::1;:34:::0;;;::::1;;-1:-1:-1::0;;;6241:34:0::1;-1:-1:-1::0;;;;6241:34:0;;::::1;::::0;;;::::1;::::0;;6163:120::o;5864:112::-;1394:5;;-1:-1:-1;;;;;1394:5:0;1380:10;:19;1372:64;;;;-1:-1:-1;;;1372:64:0;;;;;;;:::i;:::-;5938:13:::1;:30:::0;;;::::1;;-1:-1:-1::0;;;5938:30:0::1;-1:-1:-1::0;;;;5938:30:0;;::::1;::::0;;;::::1;::::0;;5864:112::o;4725:721::-;4847:10;4831:27;;;;:15;:27;;;;;;4862:12;4831:27;;;;:43;4823:105;;;;-1:-1:-1;;;4823:105:0;;10351:2:1;4823:105:0;;;10333:21:1;10390:2;10370:18;;;10363:30;10429:34;10409:18;;;10402:62;-1:-1:-1;;;10480:18:1;;;10473:47;10537:19;;4823:105:0;10149:413:1;4823:105:0;4957:10;4941:27;;;;:15;:27;;;;;;;;:50;;-1:-1:-1;;4941:50:0;4978:12;4941:50;;;;;-1:-1:-1;;;;;5013:15:0;;;;;;;;;;;-1:-1:-1;;5013:24:0;5004:76;;;;-1:-1:-1;;;5004:76:0;;10769:2:1;5004:76:0;;;10751:21:1;10808:2;10788:18;;;10781:30;10847:34;10827:18;;;10820:62;-1:-1:-1;;;10898:18:1;;;10891:36;10944:19;;5004:76:0;10567:402:1;5004:76:0;-1:-1:-1;;;;;5136:15:0;;;:9;:15;;;;;;;;;;;;:23;;;5118:41;;5187:16;;5183:213;;5249:12;:21;;;;;;;5183:213;;;-1:-1:-1;;;;;5347:13:0;;:9;:13;;;;;;;;;;:22;;;;;;5183:213;5428:2;-1:-1:-1;;;;;5413:25:0;5422:4;-1:-1:-1;;;;;5413:25:0;;5432:5;5413:25;;;;1581::1;;1569:2;1554:18;;1435:177;5413:25:0;;;;;;;;4725:721;;;:::o;9611:539::-;9676:13;;-1:-1:-1;;;9676:13:0;;;;9668:44;;;;-1:-1:-1;;;9668:44:0;;4945:2:1;9668:44:0;;;4927:21:1;4984:2;4964:18;;;4957:30;-1:-1:-1;;;5003:18:1;;;4996:48;5061:18;;9668:44:0;4743:342:1;9668:44:0;9804:4;9725:17;9786:24;;;;;;;;;;;:38;;9813:11;;9786:38;:::i;:::-;9746:35;9760:21;9746:11;:35;:::i;:::-;9745:80;;;;:::i;:::-;9725:100;;9858:1;9846:9;:13;9838:45;;;;-1:-1:-1;;;9838:45:0;;11176:2:1;9838:45:0;;;11158:21:1;11215:2;11195:18;;;11188:30;-1:-1:-1;;;11234:18:1;;;11227:49;11293:18;;9838:45:0;10974:343:1;9838:45:0;9927:9;9902:21;:34;;9894:75;;;;-1:-1:-1;;;9894:75:0;;11524:2:1;9894:75:0;;;11506:21:1;11563:2;11543:18;;;11536:30;11602;11582:18;;;11575:58;11650:18;;9894:75:0;11322:352:1;9894:75:0;9982:49;9992:10;10012:4;10019:11;9982:9;:49::i;:::-;10042:39;;10050:10;;10042:39;;;;;10071:9;;10042:39;;;;10071:9;10050:10;10042:39;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10099:43:0;;;10116:1;6342:25:1;;;6398:2;6383:18;;6376:34;;;6426:18;;;6419:34;;;6484:2;6469:18;;6462:34;10099:43:0;;10104:10;;10099:43;;;;;;6329:3:1;10099:43:0;;;9655:495;9611:539;:::o;211:548:1:-;323:4;352:2;381;370:9;363:21;413:6;407:13;456:6;451:2;440:9;436:18;429:34;481:1;491:140;505:6;502:1;499:13;491:140;;;600:14;;;596:23;;590:30;566:17;;;585:2;562:26;555:66;520:10;;491:140;;;495:3;680:1;675:2;666:6;655:9;651:22;647:31;640:42;750:2;743;739:7;734:2;726:6;722:15;718:29;707:9;703:45;699:54;691:62;;;;211:548;;;;:::o;1017:160::-;1082:20;;1138:13;;1131:21;1121:32;;1111:60;;1167:1;1164;1157:12;1111:60;1017:160;;;:::o;1182:248::-;1247:6;1255;1308:2;1296:9;1287:7;1283:23;1279:32;1276:52;;;1324:1;1321;1314:12;1276:52;1360:9;1347:23;1337:33;;1389:35;1420:2;1409:9;1405:18;1389:35;:::i;:::-;1379:45;;1182:248;;;;;:::o;1809:276::-;1867:6;1920:2;1908:9;1899:7;1895:23;1891:32;1888:52;;;1936:1;1933;1926:12;1888:52;1975:9;1962:23;2025:10;2018:5;2014:22;2007:5;2004:33;1994:61;;2051:1;2048;2041:12;1994:61;2074:5;1809:276;-1:-1:-1;;;1809:276:1:o;2487:180::-;2546:6;2599:2;2587:9;2578:7;2574:23;2570:32;2567:52;;;2615:1;2612;2605:12;2567:52;-1:-1:-1;2638:23:1;;2487:180;-1:-1:-1;2487:180:1:o;2672:127::-;2733:10;2728:3;2724:20;2721:1;2714:31;2764:4;2761:1;2754:15;2788:4;2785:1;2778:15;2804:173;2872:20;;-1:-1:-1;;;;;2921:31:1;;2911:42;;2901:70;;2967:1;2964;2957:12;2982:1121;3066:6;3097:2;3140;3128:9;3119:7;3115:23;3111:32;3108:52;;;3156:1;3153;3146:12;3108:52;3196:9;3183:23;3225:18;3266:2;3258:6;3255:14;3252:34;;;3282:1;3279;3272:12;3252:34;3320:6;3309:9;3305:22;3295:32;;3365:7;3358:4;3354:2;3350:13;3346:27;3336:55;;3387:1;3384;3377:12;3336:55;3423:2;3410:16;3445:2;3441;3438:10;3435:36;;;3451:18;;:::i;:::-;3497:2;3494:1;3490:10;3529:2;3523:9;3592:2;3588:7;3583:2;3579;3575:11;3571:25;3563:6;3559:38;3647:6;3635:10;3632:22;3627:2;3615:10;3612:18;3609:46;3606:72;;;3658:18;;:::i;:::-;3694:2;3687:22;3744:18;;;3778:15;;;;-1:-1:-1;3820:11:1;;;3816:20;;;3848:19;;;3845:39;;;3880:1;3877;3870:12;3845:39;3904:11;;;;3924:148;3940:6;3935:3;3932:15;3924:148;;;4006:23;4025:3;4006:23;:::i;:::-;3994:36;;3957:12;;;;4050;;;;3924:148;;;4091:6;2982:1121;-1:-1:-1;;;;;;;;2982:1121:1:o;4108:186::-;4167:6;4220:2;4208:9;4199:7;4195:23;4191:32;4188:52;;;4236:1;4233;4226:12;4188:52;4259:29;4278:9;4259:29;:::i;4299:254::-;4367:6;4375;4428:2;4416:9;4407:7;4403:23;4399:32;4396:52;;;4444:1;4441;4434:12;4396:52;4467:29;4486:9;4467:29;:::i;:::-;4457:39;4543:2;4528:18;;;;4515:32;;-1:-1:-1;;;4299:254:1:o;4558:180::-;4614:6;4667:2;4655:9;4646:7;4642:23;4638:32;4635:52;;;4683:1;4680;4673:12;4635:52;4706:26;4722:9;4706:26;:::i;5090:127::-;5151:10;5146:3;5142:20;5139:1;5132:31;5182:4;5179:1;5172:15;5206:4;5203:1;5196:15;5222:168;5295:9;;;5326;;5343:15;;;5337:22;;5323:37;5313:71;;5364:18;;:::i;5395:217::-;5435:1;5461;5451:132;;5505:10;5500:3;5496:20;5493:1;5486:31;5540:4;5537:1;5530:15;5568:4;5565:1;5558:15;5451:132;-1:-1:-1;5597:9:1;;5395:217::o;5617:125::-;5682:9;;;5703:10;;;5700:36;;;5716:18;;:::i;6507:380::-;6586:1;6582:12;;;;6629;;;6650:61;;6704:4;6696:6;6692:17;6682:27;;6650:61;6757:2;6749:6;6746:14;6726:18;6723:38;6720:161;;6803:10;6798:3;6794:20;6791:1;6784:31;6838:4;6835:1;6828:15;6866:4;6863:1;6856:15;6720:161;;6507:380;;;:::o;6892:398::-;7094:2;7076:21;;;7133:2;7113:18;;;7106:30;7172:34;7167:2;7152:18;;7145:62;-1:-1:-1;;;7238:2:1;7223:18;;7216:32;7280:3;7265:19;;6892:398::o;7650:356::-;7852:2;7834:21;;;7871:18;;;7864:30;7930:34;7925:2;7910:18;;7903:62;7997:2;7982:18;;7650:356::o;8363:127::-;8424:10;8419:3;8415:20;8412:1;8405:31;8455:4;8452:1;8445:15;8479:4;8476:1;8469:15

Swarm Source

ipfs://3ddf57b15eb5ca635035b6b44f183993ce78f5910a0af40f04c3012d80c61acb

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
Chain Token Portfolio % Price Amount Value
ETH
Ether (ETH)
86.12%$3,269.0715.3628$50,222.23
ETH2.27%$0.9995811,323.357$1,322.8
ETH0.84%$3,269.070.15$490.36
ETH0.07%$0.049838827.5851$41.25
ETH0.01%$0.0000023,866,660.1213$7.42
ETH<0.01%$0.0031031,004.9194$3.12
BSC5.30%$694.494.4471$3,088.49
BSC2.95%$3,263.160.5263$1,717.44
BSC<0.01%$0.000009136,551.5337$1.22
BASE0.81%$3,268.620.1442$471.23
BASE0.03%$0.0093952,056.5513$19.32
BASE<0.01%$0.000002740,000$1.14
ZKSYNC0.66%$3,269.070.118$385.62
LINEA0.66%$3,270.770.1178$385.35
OP0.18%$3,268.710.0315$102.96
CRONOS0.08%$0.140478344$48.32
ARB0.01%$3,268.220.00222624$7.28
POL<0.01%$0.4544310.15$0.068165
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.