ETH Price: $3,365.30 (+0.52%)

Contract

0x111fc50541cf398857DF38fA23D586C18E0f96cE
 
Transaction Hash
Method
Block
From
To
Transfer212466462024-11-22 23:47:1111 hrs ago1732319231IN
0x111fc505...18E0f96cE
0 ETH0.00071315.2313022
Transfer212423582024-11-22 9:24:4726 hrs ago1732267487IN
0x111fc505...18E0f96cE
0.04 ETH0.0008056410.35353424
Transfer212423462024-11-22 9:22:2326 hrs ago1732267343IN
0x111fc505...18E0f96cE
0.02 ETH0.0007929110.18982535
Transfer212419352024-11-22 7:59:3527 hrs ago1732262375IN
0x111fc505...18E0f96cE
0 ETH0.0005276210.22774856
Transfer212261322024-11-20 3:01:593 days ago1732071719IN
0x111fc505...18E0f96cE
0.05 ETH0.0005805313.31082115
Transfer212250582024-11-19 23:26:353 days ago1732058795IN
0x111fc505...18E0f96cE
0 ETH0.0005225211.16229047
Transfer212230982024-11-19 16:53:233 days ago1732035203IN
0x111fc505...18E0f96cE
0.005 ETH0.0009400321.55344912
Transfer212202512024-11-19 7:21:594 days ago1732000919IN
0x111fc505...18E0f96cE
0 ETH0.0005227211.16652041
Transfer212177122024-11-18 22:52:234 days ago1731970343IN
0x111fc505...18E0f96cE
0 ETH0.0006396712.27344155
Transfer212157832024-11-18 16:25:354 days ago1731947135IN
0x111fc505...18E0f96cE
0 ETH0.0014647128.37268128
Transfer212138782024-11-18 10:02:595 days ago1731924179IN
0x111fc505...18E0f96cE
0 ETH0.0004409811.07148617
Transfer212130262024-11-18 7:11:355 days ago1731913895IN
0x111fc505...18E0f96cE
0 ETH0.000780813.72364834
Transfer212124242024-11-18 5:10:595 days ago1731906659IN
0x111fc505...18E0f96cE
0 ETH0.0004993110.66642269
Transfer212121302024-11-18 4:11:595 days ago1731903119IN
0x111fc505...18E0f96cE
0 ETH0.0004688210.01507692
Transfer212070292024-11-17 11:08:236 days ago1731841703IN
0x111fc505...18E0f96cE
0 ETH0.00044999.61079328
Transfer212070202024-11-17 11:06:356 days ago1731841595IN
0x111fc505...18E0f96cE
0 ETH0.000435889.31137642
Transfer211970062024-11-16 1:35:357 days ago1731720935IN
0x111fc505...18E0f96cE
0 ETH0.0007749915.01225099
Transfer211968572024-11-16 1:05:357 days ago1731719135IN
0x111fc505...18E0f96cE
0 ETH0.0010096417.74944473
Transfer211907992024-11-15 4:46:238 days ago1731645983IN
0x111fc505...18E0f96cE
0 ETH0.0008738918.67782363
Transfer211838492024-11-14 5:28:599 days ago1731562139IN
0x111fc505...18E0f96cE
0 ETH0.0015583533.2897134
Transfer211837902024-11-14 5:17:119 days ago1731561431IN
0x111fc505...18E0f96cE
0 ETH0.00145831.14598133
Transfer211837612024-11-14 5:11:239 days ago1731561083IN
0x111fc505...18E0f96cE
0 ETH0.0014812131.64181643
Transfer211787342024-11-13 12:21:119 days ago1731500471IN
0x111fc505...18E0f96cE
0 ETH0.0014740728.56069505
Transfer211786202024-11-13 11:57:479 days ago1731499067IN
0x111fc505...18E0f96cE
0 ETH0.0014139730.20547165
Transfer211705712024-11-12 9:01:1111 days ago1731402071IN
0x111fc505...18E0f96cE
0 ETH0.0016082234.35501512
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
212466462024-11-22 23:47:1111 hrs ago1732319231
0x111fc505...18E0f96cE
0.01096033 ETH
212419352024-11-22 7:59:3527 hrs ago1732262375
0x111fc505...18E0f96cE
0.02469594 ETH
212250582024-11-19 23:26:353 days ago1732058795
0x111fc505...18E0f96cE
0.02054622 ETH
212202512024-11-19 7:21:594 days ago1732000919
0x111fc505...18E0f96cE
0.06827001 ETH
212157832024-11-18 16:25:354 days ago1731947135
0x111fc505...18E0f96cE
0.47040225 ETH
212124242024-11-18 5:10:595 days ago1731906659
0x111fc505...18E0f96cE
0.02728671 ETH
212121302024-11-18 4:11:595 days ago1731903119
0x111fc505...18E0f96cE
0.00417172 ETH
212070292024-11-17 11:08:236 days ago1731841703
0x111fc505...18E0f96cE
0.14673114 ETH
212070202024-11-17 11:06:356 days ago1731841595
0x111fc505...18E0f96cE
0.09303033 ETH
211970062024-11-16 1:35:357 days ago1731720935
0x111fc505...18E0f96cE
0.23877985 ETH
211907992024-11-15 4:46:238 days ago1731645983
0x111fc505...18E0f96cE
0.0228596 ETH
211838492024-11-14 5:28:599 days ago1731562139
0x111fc505...18E0f96cE
0.12405165 ETH
211837902024-11-14 5:17:119 days ago1731561431
0x111fc505...18E0f96cE
0.08032505 ETH
211837612024-11-14 5:11:239 days ago1731561083
0x111fc505...18E0f96cE
0.11156269 ETH
211787342024-11-13 12:21:119 days ago1731500471
0x111fc505...18E0f96cE
0.02913138 ETH
211786202024-11-13 11:57:479 days ago1731499067
0x111fc505...18E0f96cE
0.08442012 ETH
211705712024-11-12 9:01:1111 days ago1731402071
0x111fc505...18E0f96cE
0.01197824 ETH
211662082024-11-11 18:23:3511 days ago1731349415
0x111fc505...18E0f96cE
0.01391434 ETH
211580372024-11-10 15:02:2312 days ago1731250943
0x111fc505...18E0f96cE
0.36154449 ETH
211574112024-11-10 12:56:5912 days ago1731243419
0x111fc505...18E0f96cE
0.06968419 ETH
211552922024-11-10 5:51:5913 days ago1731217919
0x111fc505...18E0f96cE
0.0206458 ETH
211473102024-11-09 3:08:5914 days ago1731121739
0x111fc505...18E0f96cE
0.01367511 ETH
211469352024-11-09 1:53:4714 days ago1731117227
0x111fc505...18E0f96cE
0.0066902 ETH
211077472024-11-03 14:35:1119 days ago1730644511
0x111fc505...18E0f96cE
0.16816658 ETH
210980002024-11-02 5:54:1121 days ago1730526851
0x111fc505...18E0f96cE
0.00237574 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)
88.88%$3,365.319.2835$64,894.67
ETH1.81%$11,323.357$1,324.68
ETH0.69%$3,365.30.15$504.79
ETH0.06%$0.056469827.5851$46.73
ETH<0.01%$0.0000023,866,660.1213$7.27
ETH<0.01%$0.0046491,004.9194$4.67
BSC4.05%$664.984.4471$2,957.26
BSC2.43%$3,365.680.5263$1,771.4
BASE0.66%$3,365.460.1442$485.19
BASE0.06%$0.0205522,056.5513$42.27
BASE<0.01%$0.000563200$0.1126
ZKSYNC0.54%$3,365.30.118$396.97
LINEA0.54%$3,365.30.1178$396.49
OP0.15%$3,365.290.0315$106.01
CRONOS0.09%$0.190369344$65.49
ARB0.01%$3,365.460.00222624$7.49
POL<0.01%$0.5400470.15$0.081007
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.