Contract 0x249dad5f1792008b71434235d94d07863c9cf79d

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xb590f95d3684c03d8c9ce20e79332d10ced5f56e9f0cde5f2763103d7ca24be0Migrate738429942023-03-26 10:35:44387 days 13 hrs ago0xf05dee6573878712b35136078385977726148a60 IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.00016413 0.1
0x8823d70cb9ad3ae7c118a1abb8e8ab468f3a2f8b6e41084f3243eea103127a89Migrate693266822023-03-13 3:58:38400 days 20 hrs ago0xe0f61822b45bb03cdc581283287941517810d7ba IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.00017269 0.1
0x32286e43f8591f8b922a88bcad3902d5fe3b2608b6dc683f19a67585cd6926dfMigrate611731972023-02-15 14:45:53426 days 9 hrs ago0x7cc03a29b9c9abc73e797cd5d341ca58e3e9f744 IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.000223 0.1
0xc0e26d60bad2328d1b589342aa2aaf051e39f82284855f4398c6c55ad2bea2e6Migrate611681952023-02-15 14:24:42426 days 9 hrs ago0x7cc03a29b9c9abc73e797cd5d341ca58e3e9f744 IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.00018904 0.1
0xc04564bde071d4bcf252bbfd8207c9eb79548709a950c7a8c9e5600b952d479cMigrate471185812022-12-18 13:46:56485 days 10 hrs ago0xe55c69cfd20cfa25651c72b84383de6104104eb4 IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.00016052 0.1
0x14d28def10052f371a3eb8cce886217ee6da16c3281c3c98828cf109439971f4Migrate468560552022-12-17 10:44:19486 days 13 hrs ago0x6e4e3b52986e46b4d656c49b8c18c742e311e354 IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.0001611 0.1
0xe18ed9caf6b89e61d17e2eb1b444d68a395f332a8a977196b8cda2ad0eac04ecMigrate417246382022-11-27 21:44:54506 days 2 hrs ago0x4f76bebf649af85085b07a8b764751c71f3153fe IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.00014692 0.1
0x9e2645a0033b6243c90f9ec3c0f10a1bbab2dc1c13984fe2fa57166a93ebfd5fMigrate390621252022-11-18 13:29:12515 days 10 hrs ago0xfb639724cc958af1638262254212c7b49d97d28c IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.0001554 0.1
0xc1c92aea632ec5af61779b36f4f14d76bbb1dd40402ee8d5b6b8538f6370fc21Migrate389161432022-11-17 22:45:26516 days 1 hr ago0x23e01e05aa1376fa3ac83c954816b967a7302891 IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.00016153 0.1
0xa5eb6ad3f0ab67484efc0284a30e107e47c55087d8ff7a71fb232119d54f996cMigrate388130812022-11-17 12:55:01516 days 11 hrs ago0x4d58d36e46cf9af14e416061fe5d0074780b4099 IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.00015693 0.1
0x3d110b97145c286d204bbd8cb9eead92c93331f83c979442f58bf48ab9d7bc95Migrate386834832022-11-17 0:49:55516 days 23 hrs ago0x01e6b50557ef1a2ca58a621998ace3f278e808b8 IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.00016085 0.1
0x6e45afbe387126477193c8053a9d756b1eaf378d665d36024c94afdac93ed2a1Migrate386268432022-11-16 18:47:22517 days 5 hrs ago0x1cb86ee06cd27d7045d2849bf342fcf5ef2a7d12 IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.00016508 0.1
0xd693e42ff3ff93d7006f10a3d42ea409484413ccf23da295918bb11fb2906d78Migrate386212622022-11-16 18:15:54517 days 5 hrs ago0x512de6920f4d78401ec759a4ba6a81cceaf2a486 IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.00016665 0.1
0x87833d6928a59afe303536466243a52decdd4fa1649888672dfc00e69a201787Migrate383407892022-11-15 16:18:42518 days 7 hrs ago0x5fd7d6382de0d4c4a00b19ed10c11dfd96c27340 IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.00016773 0.1
0xdf96d31dfd06fc23dc856ed24bdcc547ea8b4b506f14627d802a6f0c85f4f7f3Migrate374380762022-11-12 7:45:59521 days 16 hrs ago0xd362e225ec74a242a5d77dd80b9460348873ad55 IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.00015803 0.1
0x1629e0e7889039327d42c5625bd0bb2c6c20e11baee950b84526e14c444f20f1Migrate362469282022-11-08 8:05:33525 days 16 hrs ago0x0f3bf5c241b6625c0fa781ed137fde6786b2e66f IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.00015706 0.1
0x5f264c3e0e02f736ab885efb6a74c54de3b3d3416482300d16ab1b21e5a734bdMigrate362240222022-11-08 6:20:13525 days 17 hrs ago0x0f3bf5c241b6625c0fa781ed137fde6786b2e66f IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.00016296 0.1
0xb180a51e64198bdd6770e5ae2225e2c1c1a8a7bfea0d7d2a985c316f8a5a95f7Set Optimism Dep...362239362022-11-08 6:19:49525 days 17 hrs ago0x0f3bf5c241b6625c0fa781ed137fde6786b2e66f IN  0x249dad5f1792008b71434235d94d07863c9cf79d0 ETH0.00002764 0.1
0xcf3a1ec1cf8b27b627b7a7d4b4221a36cc96bfaf6645b19fd768a7b7e74d3c4f0x60806040362224122022-11-08 6:12:42525 days 17 hrs ago0x0f3bf5c241b6625c0fa781ed137fde6786b2e66f IN  Create: ArbitrumWithdraw0 ETH0.00065642 0.1
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xb590f95d3684c03d8c9ce20e79332d10ced5f56e9f0cde5f2763103d7ca24be0738429942023-03-26 10:35:44387 days 13 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Multichain: anyCall V60.0006316 ETH
0xb590f95d3684c03d8c9ce20e79332d10ced5f56e9f0cde5f2763103d7ca24be0738429942023-03-26 10:35:44387 days 13 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Biconomy: Liquidity Pool45.844871493047077799 ETH
0xb590f95d3684c03d8c9ce20e79332d10ced5f56e9f0cde5f2763103d7ca24be0738429942023-03-26 10:35:44387 days 13 hrs ago Wrapped Ether 0x249dad5f1792008b71434235d94d07863c9cf79d45.845503093047077799 ETH
0x8823d70cb9ad3ae7c118a1abb8e8ab468f3a2f8b6e41084f3243eea103127a89693266822023-03-13 3:58:38400 days 20 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Multichain: anyCall V60.0006316 ETH
0x8823d70cb9ad3ae7c118a1abb8e8ab468f3a2f8b6e41084f3243eea103127a89693266822023-03-13 3:58:38400 days 20 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Biconomy: Liquidity Pool0.029431387824195905 ETH
0x8823d70cb9ad3ae7c118a1abb8e8ab468f3a2f8b6e41084f3243eea103127a89693266822023-03-13 3:58:38400 days 20 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Multichain: anyCall V60 ETH
0x8823d70cb9ad3ae7c118a1abb8e8ab468f3a2f8b6e41084f3243eea103127a89693266822023-03-13 3:58:38400 days 20 hrs ago Wrapped Ether 0x249dad5f1792008b71434235d94d07863c9cf79d0.030062987824195905 ETH
0x8823d70cb9ad3ae7c118a1abb8e8ab468f3a2f8b6e41084f3243eea103127a89693266822023-03-13 3:58:38400 days 20 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Wrapped Ether0 ETH
0x8823d70cb9ad3ae7c118a1abb8e8ab468f3a2f8b6e41084f3243eea103127a89693266822023-03-13 3:58:38400 days 20 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Wrapped Ether0 ETH
0x8823d70cb9ad3ae7c118a1abb8e8ab468f3a2f8b6e41084f3243eea103127a89693266822023-03-13 3:58:38400 days 20 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Lemma Finance: USD Lemma0 ETH
0x8823d70cb9ad3ae7c118a1abb8e8ab468f3a2f8b6e41084f3243eea103127a89693266822023-03-13 3:58:38400 days 20 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Lemma Finance: USD Lemma0 ETH
0x8823d70cb9ad3ae7c118a1abb8e8ab468f3a2f8b6e41084f3243eea103127a89693266822023-03-13 3:58:38400 days 20 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Lemma Finance: xUSDL0 ETH
0x8823d70cb9ad3ae7c118a1abb8e8ab468f3a2f8b6e41084f3243eea103127a89693266822023-03-13 3:58:38400 days 20 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Lemma Finance: xUSDL0 ETH
0x32286e43f8591f8b922a88bcad3902d5fe3b2608b6dc683f19a67585cd6926df611731972023-02-15 14:45:53426 days 9 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Multichain: anyCall V60.0006316 ETH
0x32286e43f8591f8b922a88bcad3902d5fe3b2608b6dc683f19a67585cd6926df611731972023-02-15 14:45:53426 days 9 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Biconomy: Liquidity Pool0.442626840234888897 ETH
0x32286e43f8591f8b922a88bcad3902d5fe3b2608b6dc683f19a67585cd6926df611731972023-02-15 14:45:53426 days 9 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Multichain: anyCall V60 ETH
0x32286e43f8591f8b922a88bcad3902d5fe3b2608b6dc683f19a67585cd6926df611731972023-02-15 14:45:53426 days 9 hrs ago Wrapped Ether 0x249dad5f1792008b71434235d94d07863c9cf79d0.443258440234888897 ETH
0x32286e43f8591f8b922a88bcad3902d5fe3b2608b6dc683f19a67585cd6926df611731972023-02-15 14:45:53426 days 9 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Wrapped Ether0 ETH
0x32286e43f8591f8b922a88bcad3902d5fe3b2608b6dc683f19a67585cd6926df611731972023-02-15 14:45:53426 days 9 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Wrapped Ether0 ETH
0x32286e43f8591f8b922a88bcad3902d5fe3b2608b6dc683f19a67585cd6926df611731972023-02-15 14:45:53426 days 9 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Lemma Finance: USD Lemma0 ETH
0x32286e43f8591f8b922a88bcad3902d5fe3b2608b6dc683f19a67585cd6926df611731972023-02-15 14:45:53426 days 9 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Lemma Finance: USD Lemma0 ETH
0x32286e43f8591f8b922a88bcad3902d5fe3b2608b6dc683f19a67585cd6926df611731972023-02-15 14:45:53426 days 9 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Lemma Finance: xUSDL0 ETH
0x32286e43f8591f8b922a88bcad3902d5fe3b2608b6dc683f19a67585cd6926df611731972023-02-15 14:45:53426 days 9 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Lemma Finance: xUSDL0 ETH
0xc0e26d60bad2328d1b589342aa2aaf051e39f82284855f4398c6c55ad2bea2e6611681952023-02-15 14:24:42426 days 9 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Multichain: anyCall V60.0006316 ETH
0xc0e26d60bad2328d1b589342aa2aaf051e39f82284855f4398c6c55ad2bea2e6611681952023-02-15 14:24:42426 days 9 hrs ago 0x249dad5f1792008b71434235d94d07863c9cf79d Biconomy: Liquidity Pool0.007166745785450281 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ArbitrumWithdraw

Compiler Version
v0.8.2+commit.661d1103

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Arbiscan.io on 2022-11-08
*/

/**
 *Submitted for verification at Arbiscan on 2022-11-08
*/

// File: lib/solmate/src/tokens/ERC20.sol


pragma solidity >=0.8.0;

/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)
/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)
/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.
abstract contract ERC20 {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 amount);

    event Approval(address indexed owner, address indexed spender, uint256 amount);

    /*//////////////////////////////////////////////////////////////
                            METADATA STORAGE
    //////////////////////////////////////////////////////////////*/

    string public name;

    string public symbol;

    uint8 public immutable decimals;

    /*//////////////////////////////////////////////////////////////
                              ERC20 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 public totalSupply;

    mapping(address => uint256) public balanceOf;

    mapping(address => mapping(address => uint256)) public allowance;

    /*//////////////////////////////////////////////////////////////
                            EIP-2612 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 internal immutable INITIAL_CHAIN_ID;

    bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;

    mapping(address => uint256) public nonces;

    /*//////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals
    ) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;

        INITIAL_CHAIN_ID = block.chainid;
        INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();
    }

    /*//////////////////////////////////////////////////////////////
                               ERC20 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 amount) public virtual returns (bool) {
        allowance[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);

        return true;
    }

    function transfer(address to, uint256 amount) public virtual returns (bool) {
        balanceOf[msg.sender] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(msg.sender, to, amount);

        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.

        if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount;

        balanceOf[from] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(from, to, amount);

        return true;
    }

    /*//////////////////////////////////////////////////////////////
                             EIP-2612 LOGIC
    //////////////////////////////////////////////////////////////*/

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) public virtual {
        require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED");

        // Unchecked because the only math done is incrementing
        // the owner's nonce which cannot realistically overflow.
        unchecked {
            address recoveredAddress = ecrecover(
                keccak256(
                    abi.encodePacked(
                        "\x19\x01",
                        DOMAIN_SEPARATOR(),
                        keccak256(
                            abi.encode(
                                keccak256(
                                    "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"
                                ),
                                owner,
                                spender,
                                value,
                                nonces[owner]++,
                                deadline
                            )
                        )
                    )
                ),
                v,
                r,
                s
            );

            require(recoveredAddress != address(0) && recoveredAddress == owner, "INVALID_SIGNER");

            allowance[recoveredAddress][spender] = value;
        }

        emit Approval(owner, spender, value);
    }

    function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {
        return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator();
    }

    function computeDomainSeparator() internal view virtual returns (bytes32) {
        return
            keccak256(
                abi.encode(
                    keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                    keccak256(bytes(name)),
                    keccak256("1"),
                    block.chainid,
                    address(this)
                )
            );
    }

    /*//////////////////////////////////////////////////////////////
                        INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 amount) internal virtual {
        totalSupply += amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(address(0), to, amount);
    }

    function _burn(address from, uint256 amount) internal virtual {
        balanceOf[from] -= amount;

        // Cannot underflow because a user's balance
        // will never be larger than the total supply.
        unchecked {
            totalSupply -= amount;
        }

        emit Transfer(from, address(0), amount);
    }
}

// File: lib/solmate/src/utils/SafeTransferLib.sol


pragma solidity >=0.8.0;

/// @notice Safe ETH and ERC20 transfer library that gracefully handles missing return values.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/SafeTransferLib.sol)
/// @dev Use with caution! Some functions in this library knowingly create dirty bits at the destination of the free memory pointer.
/// @dev Note that none of the functions in this library check that a token has code at all! That responsibility is delegated to the caller.
library SafeTransferLib {
    /*//////////////////////////////////////////////////////////////
                             ETH OPERATIONS
    //////////////////////////////////////////////////////////////*/

    function safeTransferETH(address to, uint256 amount) internal {
        bool success;

        assembly {
            // Transfer the ETH and store if it succeeded or not.
            success := call(gas(), to, amount, 0, 0, 0, 0)
        }

        require(success, "ETH_TRANSFER_FAILED");
    }

    /*//////////////////////////////////////////////////////////////
                            ERC20 OPERATIONS
    //////////////////////////////////////////////////////////////*/

    function safeTransferFrom(
        ERC20 token,
        address from,
        address to,
        uint256 amount
    ) internal {
        bool success;

        assembly {
            // Get a pointer to some free memory.
            let freeMemoryPointer := mload(0x40)

            // Write the abi-encoded calldata into memory, beginning with the function selector.
            mstore(freeMemoryPointer, 0x23b872dd00000000000000000000000000000000000000000000000000000000)
            mstore(add(freeMemoryPointer, 4), from) // Append the "from" argument.
            mstore(add(freeMemoryPointer, 36), to) // Append the "to" argument.
            mstore(add(freeMemoryPointer, 68), amount) // Append the "amount" argument.

            success := and(
                // Set success to whether the call reverted, if not we check it either
                // returned exactly 1 (can't just be non-zero data), or had no return data.
                or(and(eq(mload(0), 1), gt(returndatasize(), 31)), iszero(returndatasize())),
                // We use 100 because the length of our calldata totals up like so: 4 + 32 * 3.
                // We use 0 and 32 to copy up to 32 bytes of return data into the scratch space.
                // Counterintuitively, this call must be positioned second to the or() call in the
                // surrounding and() call or else returndatasize() will be zero during the computation.
                call(gas(), token, 0, freeMemoryPointer, 100, 0, 32)
            )
        }

        require(success, "TRANSFER_FROM_FAILED");
    }

    function safeTransfer(
        ERC20 token,
        address to,
        uint256 amount
    ) internal {
        bool success;

        assembly {
            // Get a pointer to some free memory.
            let freeMemoryPointer := mload(0x40)

            // Write the abi-encoded calldata into memory, beginning with the function selector.
            mstore(freeMemoryPointer, 0xa9059cbb00000000000000000000000000000000000000000000000000000000)
            mstore(add(freeMemoryPointer, 4), to) // Append the "to" argument.
            mstore(add(freeMemoryPointer, 36), amount) // Append the "amount" argument.

            success := and(
                // Set success to whether the call reverted, if not we check it either
                // returned exactly 1 (can't just be non-zero data), or had no return data.
                or(and(eq(mload(0), 1), gt(returndatasize(), 31)), iszero(returndatasize())),
                // We use 68 because the length of our calldata totals up like so: 4 + 32 * 2.
                // We use 0 and 32 to copy up to 32 bytes of return data into the scratch space.
                // Counterintuitively, this call must be positioned second to the or() call in the
                // surrounding and() call or else returndatasize() will be zero during the computation.
                call(gas(), token, 0, freeMemoryPointer, 68, 0, 32)
            )
        }

        require(success, "TRANSFER_FAILED");
    }

    function safeApprove(
        ERC20 token,
        address to,
        uint256 amount
    ) internal {
        bool success;

        assembly {
            // Get a pointer to some free memory.
            let freeMemoryPointer := mload(0x40)

            // Write the abi-encoded calldata into memory, beginning with the function selector.
            mstore(freeMemoryPointer, 0x095ea7b300000000000000000000000000000000000000000000000000000000)
            mstore(add(freeMemoryPointer, 4), to) // Append the "to" argument.
            mstore(add(freeMemoryPointer, 36), amount) // Append the "amount" argument.

            success := and(
                // Set success to whether the call reverted, if not we check it either
                // returned exactly 1 (can't just be non-zero data), or had no return data.
                or(and(eq(mload(0), 1), gt(returndatasize(), 31)), iszero(returndatasize())),
                // We use 68 because the length of our calldata totals up like so: 4 + 32 * 2.
                // We use 0 and 32 to copy up to 32 bytes of return data into the scratch space.
                // Counterintuitively, this call must be positioned second to the or() call in the
                // surrounding and() call or else returndatasize() will be zero during the computation.
                call(gas(), token, 0, freeMemoryPointer, 68, 0, 32)
            )
        }

        require(success, "APPROVE_FAILED");
    }
}

// File: lib/solmate/src/tokens/WETH.sol


pragma solidity >=0.8.0;

/// @notice Minimalist and modern Wrapped Ether implementation.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/WETH.sol)
/// @author Inspired by WETH9 (https://github.com/dapphub/ds-weth/blob/master/src/weth9.sol)
contract WETH is ERC20("Wrapped Ether", "WETH", 18) {
    using SafeTransferLib for address;

    event Deposit(address indexed from, uint256 amount);

    event Withdrawal(address indexed to, uint256 amount);

    function deposit() public payable virtual {
        _mint(msg.sender, msg.value);

        emit Deposit(msg.sender, msg.value);
    }

    function withdraw(uint256 amount) public virtual {
        _burn(msg.sender, amount);

        emit Withdrawal(msg.sender, amount);

        msg.sender.safeTransferETH(amount);
    }

    receive() external payable virtual {
        deposit();
    }
}

// File: lib/solmate/src/auth/Owned.sol


pragma solidity >=0.8.0;

/// @notice Simple single owner authorization mixin.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)
abstract contract Owned {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event OwnershipTransferred(address indexed user, address indexed newOwner);

    /*//////////////////////////////////////////////////////////////
                            OWNERSHIP STORAGE
    //////////////////////////////////////////////////////////////*/

    address public owner;

    modifier onlyOwner() virtual {
        require(msg.sender == owner, "UNAUTHORIZED");

        _;
    }

    /*//////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(address _owner) {
        owner = _owner;

        emit OwnershipTransferred(address(0), _owner);
    }

    /*//////////////////////////////////////////////////////////////
                             OWNERSHIP LOGIC
    //////////////////////////////////////////////////////////////*/

    function transferOwnership(address newOwner) public virtual onlyOwner {
        owner = newOwner;

        emit OwnershipTransferred(msg.sender, newOwner);
    }
}

// File: src/interfaces/IUSDLemmaArbitrumArbitrum.sol

pragma solidity >=0.8.0;

interface IUSDLemmaArbitrum {
    function depositTo(
        address to,
        uint256 amount,
        uint256 perpetualDEXIndex,
        uint256 maxCollateralRequired,
        address collateral
    ) external;

    function withdrawTo(
        address to,
        uint256 amount,
        uint256 perpetualDEXIndex,
        uint256 minCollateralToGetBack,
        address collateral
    ) external;

    function perpetualDEXWrappers(uint256 perpetualDEXIndex, address collateral)
        external
        view
        returns (address);
}

// File: src/interfaces/IxUSDLArbitrumArbitrum.sol

pragma solidity >=0.8.0;

interface IxUSDLArbitrum{
    function usdl() external view returns (address);

    /// @notice Balance of USDL in xUSDL contract
    /// @return Amount of USDL
    function balance() external view returns (uint256);

    /// @notice Minimum blocks user funds need to be locked in contract
    /// @return Minimum blocks for which USDL will be locked
    function MINIMUM_LOCK() external view returns (uint256);

    /// @notice Deposit and mint xUSDL in exchange of USDL
    /// @param amount of USDL to deposit
    /// @return Amount of xUSDL minted
    function deposit(uint256 amount) external returns (uint256);

    /// @notice Withdraw USDL and burn xUSDL
    /// @param shares of xUSDL to burn
    /// @return Amount of USDL withdrawn
    function withdraw(uint256 shares) external returns (uint256);

    /// @notice Price per share in terms of USDL
    /// @return Price of 1 xUSDL in terms of USDL
    function pricePerShare() external view returns (uint256);

    /// @notice Block number after which user can withdraw USDL
    /// @return Block number after which user can withdraw USDL
    function userUnlockBlock(address usr) external view returns (uint256);
}

// File: src/interfaces/IAnyCallInterface.sol


pragma solidity >=0.8.0;

interface ICallProxy {
    function anyCall(
        address _to,
        bytes calldata _data,
        address _fallback,
        uint256 _toChainID,
        uint256 _flags
    ) external payable;

    function context()
        external
        view
        returns (
            address from,
            uint256 fromChainID,
            uint256 nonce
        );

    function executor() external view returns (address);

    function calcSrcFees(
        string calldata _appID,
        uint256 _toChainID,
        uint256 _dataLength
    ) external view returns (uint256);
}

interface IExecutor {
    function context()
        external
        returns (
            address from,
            uint256 fromChainID,
            uint256 nonce
        );
}

// File: src/interfaces/IHyphenBridge.sol


pragma solidity >=0.8.0;

interface IHyphenBridge {
    function depositNative(
        address receiver,
        uint256 toChainId,
        string calldata tag
    ) external payable;
}

// File: src/interfaces/IWeth.sol


pragma solidity >=0.8.0;
interface IWeth {
    function deposit() external payable;
    function withdraw(uint256 amount) external;
    function approve(address apender, uint256 amount) external;
    function balanceOf(address user) external view returns(uint256);
}

// File: src/ArbitrumWithdraw.sol


pragma solidity >=0.8.0;









contract ArbitrumWithdraw is Owned {
    IWeth public weth;
    IUSDLemmaArbitrum public usdl;
    IxUSDLArbitrum public xusdl;
    IHyphenBridge public hyphenBridge;
    ICallProxy public anycallcontract;
    address public optimismDepositAddress;
    uint256 public constant perpetualDEXIndex = 0; //mcdex's Index, there is only one on arbitrum
    uint256 public hyphenFees = 1000; // assume 0.1%  fixed hyphenFees

    /**
     * @dev Deploy ArbitrumWithdraw
     * @param _hyphenBridge biconomy hyphen bridge contract address
     * @param _anycallcontract anyCall multichain contract address
     * @param _weth WETH ERC20 contract address
     * @param _xusdl XUSDL ERC20 contract address
     */
    constructor(
        IHyphenBridge _hyphenBridge,
        ICallProxy _anycallcontract,
        IWeth _weth,
        IxUSDLArbitrum _xusdl
    ) Owned(msg.sender) {
        hyphenBridge = _hyphenBridge;
        anycallcontract = _anycallcontract;
        weth = _weth;
        xusdl = _xusdl;
        usdl = IUSDLemmaArbitrum(address(xusdl.usdl()));
        SafeTransferLib.safeApprove(
            ERC20(address(_weth)),
            address(usdl),
            type(uint256).max
        );
    }

    function setOptimismDepositAddress(address _optimismDepositAddress)
        external
        onlyOwner
    {
        optimismDepositAddress = _optimismDepositAddress;
    }

    function setHyphenFees(uint256 _hyphenFees) external onlyOwner {
        hyphenFees = _hyphenFees;
    }

    function migrate(uint256 amount, bool isxUSDL) external payable {
        if (isxUSDL) {
            SafeTransferLib.safeTransferFrom(
                ERC20(address(xusdl)),
                msg.sender,
                address(this),
                amount
            );
            //withdraw USDL from xUSDL
            xusdl.withdraw(amount);
        } else {
            SafeTransferLib.safeTransferFrom(
                ERC20(address(usdl)),
                msg.sender,
                address(this),
                amount
            );
        }
        uint256 usdlAmount = ERC20(address(usdl)).balanceOf(address(this));

        usdl.withdrawTo(
            address(this),
            usdlAmount,
            perpetualDEXIndex,
            0,
            address(weth)
        );

        uint256 wethToBridge = weth.balanceOf(address(this));
        weth.withdraw(wethToBridge);

        bytes memory data = abi.encode(wethToBridge, msg.sender);
        uint256 gasFees = anycallcontract.calcSrcFees("0", 10, data.length); // calculate gas fees
        wethToBridge = wethToBridge - gasFees; // anySwap MultichainFees deducted before send to hyphen bridge
        hyphenBridge.depositNative{value: wethToBridge}(
            optimismDepositAddress,
            10,
            "lemmaV1ToV2"
        );

        // hyphenFees consider 0.1%
        // hyphenFees will be there in hyphen bridge so need to deduct
        wethToBridge = wethToBridge - ((wethToBridge * hyphenFees) / 1e6);
        data = abi.encode(wethToBridge, msg.sender);

        // gas fees paid in source chain means in this contract
        anycallcontract.anyCall{value: gasFees}(
            optimismDepositAddress,
            data,
            address(0),
            10, // toChain
            2 // flag 2 for pay fees in source chain
        );
    }

      receive() external payable{}
}

Contract ABI

[{"inputs":[{"internalType":"contract IHyphenBridge","name":"_hyphenBridge","type":"address"},{"internalType":"contract ICallProxy","name":"_anycallcontract","type":"address"},{"internalType":"contract IWeth","name":"_weth","type":"address"},{"internalType":"contract IxUSDLArbitrum","name":"_xusdl","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"anycallcontract","outputs":[{"internalType":"contract ICallProxy","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hyphenBridge","outputs":[{"internalType":"contract IHyphenBridge","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hyphenFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isxUSDL","type":"bool"}],"name":"migrate","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"optimismDepositAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"perpetualDEXIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_hyphenFees","type":"uint256"}],"name":"setHyphenFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_optimismDepositAddress","type":"address"}],"name":"setOptimismDepositAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"usdl","outputs":[{"internalType":"contract IUSDLemmaArbitrum","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"weth","outputs":[{"internalType":"contract IWeth","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"xusdl","outputs":[{"internalType":"contract IxUSDLArbitrum","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526103e86007553480156200001757600080fd5b5060405162001d8f38038062001d8f83398181016040528101906200003d919062000460565b33806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35083600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f073658a6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200024757600080fd5b505afa1580156200025c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000282919062000434565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200031c82600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200032660201b62000cf71760201c565b5050505062000655565b60006040517f095ea7b3000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080620003bb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003b290620004f3565b60405180910390fd5b50505050565b600081519050620003d281620005d3565b92915050565b600081519050620003e981620005ed565b92915050565b600081519050620004008162000607565b92915050565b600081519050620004178162000621565b92915050565b6000815190506200042e816200063b565b92915050565b6000602082840312156200044757600080fd5b60006200045784828501620003c1565b91505092915050565b600080600080608085870312156200047757600080fd5b60006200048787828801620003ef565b94505060206200049a87828801620003d8565b9350506040620004ad8782880162000406565b9250506060620004c0878288016200041d565b91505092959194509250565b6000620004db600e8362000515565b9150620004e882620005aa565b602082019050919050565b600060208201905081810360008301526200050e81620004cc565b9050919050565b600082825260208201905092915050565b600062000533826200058a565b9050919050565b6000620005478262000526565b9050919050565b60006200055b8262000526565b9050919050565b60006200056f8262000526565b9050919050565b6000620005838262000526565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b7f415050524f56455f4641494c4544000000000000000000000000000000000000600082015250565b620005de8162000526565b8114620005ea57600080fd5b50565b620005f8816200053a565b81146200060457600080fd5b50565b62000612816200054e565b81146200061e57600080fd5b50565b6200062c8162000562565b81146200063857600080fd5b50565b620006468162000576565b81146200065257600080fd5b50565b61172a80620006656000396000f3fe6080604052600436106100c65760003560e01c8063db597fe21161007f578063f073658a11610059578063f073658a14610242578063f0e078241461026d578063f2fde38b14610298578063f6002028146102c1576100cd565b8063db597fe2146101c5578063e5cdb233146101ee578063e8c3d00114610217576100cd565b806301df1f65146100d25780633fc8cef3146100fd57806369c8743614610128578063855d1778146101535780638da5cb5b1461017e578063bbf3df0c146101a9576100cd565b366100cd57005b600080fd5b3480156100de57600080fd5b506100e76102ec565b6040516100f491906111d6565b60405180910390f35b34801561010957600080fd5b50610112610312565b60405161011f919061120c565b60405180910390f35b34801561013457600080fd5b5061013d610338565b60405161014a91906112de565b60405180910390f35b34801561015f57600080fd5b5061016861033d565b60405161017591906110b7565b60405180910390f35b34801561018a57600080fd5b50610193610363565b6040516101a091906110b7565b60405180910390f35b6101c360048036038101906101be9190610efd565b610387565b005b3480156101d157600080fd5b506101ec60048036038101906101e79190610e82565b6109ea565b005b3480156101fa57600080fd5b5061021560048036038101906102109190610eab565b610abc565b005b34801561022357600080fd5b5061022c610b54565b6040516102399190611227565b60405180910390f35b34801561024e57600080fd5b50610257610b7a565b60405161026491906111f1565b60405180910390f35b34801561027957600080fd5b50610282610ba0565b60405161028f91906112de565b60405180910390f35b3480156102a457600080fd5b506102bf60048036038101906102ba9190610e82565b610ba6565b005b3480156102cd57600080fd5b506102d6610cd1565b6040516102e391906111bb565b60405180910390f35b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b801561046e576103bb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16333085610d8f565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040161041691906112de565b602060405180830381600087803b15801561043057600080fd5b505af1158015610444573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104689190610ed4565b5061049d565b61049c600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16333085610d8f565b5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016104fa91906110b7565b60206040518083038186803b15801561051257600080fd5b505afa158015610526573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054a9190610ed4565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9fae5fd3083600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b81526004016105d2959493929190611168565b600060405180830381600087803b1580156105ec57600080fd5b505af1158015610600573d6000803e3d6000fd5b505050506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161066191906110b7565b60206040518083038186803b15801561067957600080fd5b505afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190610ed4565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040161070e91906112de565b600060405180830381600087803b15801561072857600080fd5b505af115801561073c573d6000803e3d6000fd5b50505050600081336040516020016107559291906112f9565b60405160208183030381529060405290506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166366c96b37600a84516040518363ffffffff1660e01b81526004016107c7929190611242565b60206040518083038186803b1580156107df57600080fd5b505afa1580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108179190610ed4565b9050808361082591906113da565b9250600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ea36842184600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a6040518463ffffffff1660e01b81526004016108a892919061112c565b6000604051808303818588803b1580156108c157600080fd5b505af11580156108d5573d6000803e3d6000fd5b5050505050620f4240600754846108ec9190611380565b6108f6919061134f565b8361090191906113da565b925082336040516020016109169291906112f9565b6040516020818303038152906040529150600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bd45c4e782600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856000600a60026040518763ffffffff1660e01b81526004016109b09594939291906110d2565b6000604051808303818588803b1580156109c957600080fd5b505af11580156109dd573d6000803e3d6000fd5b5050505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6f9061127e565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b419061127e565b60405180910390fd5b8060078190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2b9061127e565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006040517f095ea7b3000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080610d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d80906112be565b60405180910390fd5b50505050565b60006040517f23b872dd0000000000000000000000000000000000000000000000000000000081528460048201528360248201528260448201526020600060648360008a5af13d15601f3d1160016000511416171691505080610e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1e9061129e565b60405180910390fd5b5050505050565b600081359050610e3d816116af565b92915050565b600081359050610e52816116c6565b92915050565b600081359050610e67816116dd565b92915050565b600081519050610e7c816116dd565b92915050565b600060208284031215610e9457600080fd5b6000610ea284828501610e2e565b91505092915050565b600060208284031215610ebd57600080fd5b6000610ecb84828501610e58565b91505092915050565b600060208284031215610ee657600080fd5b6000610ef484828501610e6d565b91505092915050565b60008060408385031215610f1057600080fd5b6000610f1e85828601610e58565b9250506020610f2f85828601610e43565b9150509250929050565b610f428161140e565b82525050565b6000610f5382611322565b610f5d818561132d565b9350610f6d818560208601611540565b610f76816115d1565b840191505092915050565b610f8a81611456565b82525050565b610f998161147a565b82525050565b610fa88161149e565b82525050565b610fb7816114c2565b82525050565b610fc6816114e6565b82525050565b610fd58161150a565b82525050565b610fe48161151c565b82525050565b610ff38161152e565b82525050565b600061100660018361133e565b9150611011826115e2565b602082019050919050565b6000611029600c8361133e565b91506110348261160b565b602082019050919050565b600061104c600b8361133e565b915061105782611634565b602082019050919050565b600061106f60148361133e565b915061107a8261165d565b602082019050919050565b6000611092600e8361133e565b915061109d82611686565b602082019050919050565b6110b18161144c565b82525050565b60006020820190506110cc6000830184610f39565b92915050565b600060a0820190506110e76000830188610f39565b81810360208301526110f98187610f48565b90506111086040830186610f39565b6111156060830185610fdb565b6111226080830184610fea565b9695505050505050565b60006060820190506111416000830185610f39565b61114e6020830184610fdb565b818103604083015261115f8161103f565b90509392505050565b600060a08201905061117d6000830188610f39565b61118a60208301876110a8565b61119760408301866110a8565b6111a46060830185610fcc565b6111b16080830184610f39565b9695505050505050565b60006020820190506111d06000830184610f81565b92915050565b60006020820190506111eb6000830184610f90565b92915050565b60006020820190506112066000830184610f9f565b92915050565b60006020820190506112216000830184610fae565b92915050565b600060208201905061123c6000830184610fbd565b92915050565b6000606082019050818103600083015261125b81610ff9565b905061126a6020830185610fdb565b61127760408301846110a8565b9392505050565b600060208201905081810360008301526112978161101c565b9050919050565b600060208201905081810360008301526112b781611062565b9050919050565b600060208201905081810360008301526112d781611085565b9050919050565b60006020820190506112f360008301846110a8565b92915050565b600060408201905061130e60008301856110a8565b61131b6020830184610f39565b9392505050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061135a8261144c565b91506113658361144c565b925082611375576113746115a2565b5b828204905092915050565b600061138b8261144c565b91506113968361144c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156113cf576113ce611573565b5b828202905092915050565b60006113e58261144c565b91506113f08361144c565b92508282101561140357611402611573565b5b828203905092915050565b60006114198261142c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061146182611468565b9050919050565b60006114738261142c565b9050919050565b60006114858261148c565b9050919050565b60006114978261142c565b9050919050565b60006114a9826114b0565b9050919050565b60006114bb8261142c565b9050919050565b60006114cd826114d4565b9050919050565b60006114df8261142c565b9050919050565b60006114f1826114f8565b9050919050565b60006115038261142c565b9050919050565b60006115158261144c565b9050919050565b60006115278261144c565b9050919050565b60006115398261144c565b9050919050565b60005b8381101561155e578082015181840152602081019050611543565b8381111561156d576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f3000000000000000000000000000000000000000000000000000000000000000600082015250565b7f554e415554484f52495a45440000000000000000000000000000000000000000600082015250565b7f6c656d6d615631546f5632000000000000000000000000000000000000000000600082015250565b7f5452414e534645525f46524f4d5f4641494c4544000000000000000000000000600082015250565b7f415050524f56455f4641494c4544000000000000000000000000000000000000600082015250565b6116b88161140e565b81146116c357600080fd5b50565b6116cf81611420565b81146116da57600080fd5b50565b6116e68161144c565b81146116f157600080fd5b5056fea2646970667358221220e5c898d54e030aea0890bb2948c32514c1cc8fcbea946a65edded8a731d7eb3d64736f6c63430008020033000000000000000000000000856cb5c3cbbe9e2e21293a644aa1f9363cee11e8000000000000000000000000c10ef9f491c9b59f936957026020c321651ac07800000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab100000000000000000000000057c7e0d43c05bce429ce030132ca40f6fa5839d7

Deployed Bytecode

0x6080604052600436106100c65760003560e01c8063db597fe21161007f578063f073658a11610059578063f073658a14610242578063f0e078241461026d578063f2fde38b14610298578063f6002028146102c1576100cd565b8063db597fe2146101c5578063e5cdb233146101ee578063e8c3d00114610217576100cd565b806301df1f65146100d25780633fc8cef3146100fd57806369c8743614610128578063855d1778146101535780638da5cb5b1461017e578063bbf3df0c146101a9576100cd565b366100cd57005b600080fd5b3480156100de57600080fd5b506100e76102ec565b6040516100f491906111d6565b60405180910390f35b34801561010957600080fd5b50610112610312565b60405161011f919061120c565b60405180910390f35b34801561013457600080fd5b5061013d610338565b60405161014a91906112de565b60405180910390f35b34801561015f57600080fd5b5061016861033d565b60405161017591906110b7565b60405180910390f35b34801561018a57600080fd5b50610193610363565b6040516101a091906110b7565b60405180910390f35b6101c360048036038101906101be9190610efd565b610387565b005b3480156101d157600080fd5b506101ec60048036038101906101e79190610e82565b6109ea565b005b3480156101fa57600080fd5b5061021560048036038101906102109190610eab565b610abc565b005b34801561022357600080fd5b5061022c610b54565b6040516102399190611227565b60405180910390f35b34801561024e57600080fd5b50610257610b7a565b60405161026491906111f1565b60405180910390f35b34801561027957600080fd5b50610282610ba0565b60405161028f91906112de565b60405180910390f35b3480156102a457600080fd5b506102bf60048036038101906102ba9190610e82565b610ba6565b005b3480156102cd57600080fd5b506102d6610cd1565b6040516102e391906111bb565b60405180910390f35b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b801561046e576103bb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16333085610d8f565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040161041691906112de565b602060405180830381600087803b15801561043057600080fd5b505af1158015610444573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104689190610ed4565b5061049d565b61049c600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16333085610d8f565b5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016104fa91906110b7565b60206040518083038186803b15801561051257600080fd5b505afa158015610526573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054a9190610ed4565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9fae5fd3083600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b81526004016105d2959493929190611168565b600060405180830381600087803b1580156105ec57600080fd5b505af1158015610600573d6000803e3d6000fd5b505050506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161066191906110b7565b60206040518083038186803b15801561067957600080fd5b505afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190610ed4565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040161070e91906112de565b600060405180830381600087803b15801561072857600080fd5b505af115801561073c573d6000803e3d6000fd5b50505050600081336040516020016107559291906112f9565b60405160208183030381529060405290506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166366c96b37600a84516040518363ffffffff1660e01b81526004016107c7929190611242565b60206040518083038186803b1580156107df57600080fd5b505afa1580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108179190610ed4565b9050808361082591906113da565b9250600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ea36842184600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a6040518463ffffffff1660e01b81526004016108a892919061112c565b6000604051808303818588803b1580156108c157600080fd5b505af11580156108d5573d6000803e3d6000fd5b5050505050620f4240600754846108ec9190611380565b6108f6919061134f565b8361090191906113da565b925082336040516020016109169291906112f9565b6040516020818303038152906040529150600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bd45c4e782600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856000600a60026040518763ffffffff1660e01b81526004016109b09594939291906110d2565b6000604051808303818588803b1580156109c957600080fd5b505af11580156109dd573d6000803e3d6000fd5b5050505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6f9061127e565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b419061127e565b60405180910390fd5b8060078190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2b9061127e565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006040517f095ea7b3000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080610d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d80906112be565b60405180910390fd5b50505050565b60006040517f23b872dd0000000000000000000000000000000000000000000000000000000081528460048201528360248201528260448201526020600060648360008a5af13d15601f3d1160016000511416171691505080610e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1e9061129e565b60405180910390fd5b5050505050565b600081359050610e3d816116af565b92915050565b600081359050610e52816116c6565b92915050565b600081359050610e67816116dd565b92915050565b600081519050610e7c816116dd565b92915050565b600060208284031215610e9457600080fd5b6000610ea284828501610e2e565b91505092915050565b600060208284031215610ebd57600080fd5b6000610ecb84828501610e58565b91505092915050565b600060208284031215610ee657600080fd5b6000610ef484828501610e6d565b91505092915050565b60008060408385031215610f1057600080fd5b6000610f1e85828601610e58565b9250506020610f2f85828601610e43565b9150509250929050565b610f428161140e565b82525050565b6000610f5382611322565b610f5d818561132d565b9350610f6d818560208601611540565b610f76816115d1565b840191505092915050565b610f8a81611456565b82525050565b610f998161147a565b82525050565b610fa88161149e565b82525050565b610fb7816114c2565b82525050565b610fc6816114e6565b82525050565b610fd58161150a565b82525050565b610fe48161151c565b82525050565b610ff38161152e565b82525050565b600061100660018361133e565b9150611011826115e2565b602082019050919050565b6000611029600c8361133e565b91506110348261160b565b602082019050919050565b600061104c600b8361133e565b915061105782611634565b602082019050919050565b600061106f60148361133e565b915061107a8261165d565b602082019050919050565b6000611092600e8361133e565b915061109d82611686565b602082019050919050565b6110b18161144c565b82525050565b60006020820190506110cc6000830184610f39565b92915050565b600060a0820190506110e76000830188610f39565b81810360208301526110f98187610f48565b90506111086040830186610f39565b6111156060830185610fdb565b6111226080830184610fea565b9695505050505050565b60006060820190506111416000830185610f39565b61114e6020830184610fdb565b818103604083015261115f8161103f565b90509392505050565b600060a08201905061117d6000830188610f39565b61118a60208301876110a8565b61119760408301866110a8565b6111a46060830185610fcc565b6111b16080830184610f39565b9695505050505050565b60006020820190506111d06000830184610f81565b92915050565b60006020820190506111eb6000830184610f90565b92915050565b60006020820190506112066000830184610f9f565b92915050565b60006020820190506112216000830184610fae565b92915050565b600060208201905061123c6000830184610fbd565b92915050565b6000606082019050818103600083015261125b81610ff9565b905061126a6020830185610fdb565b61127760408301846110a8565b9392505050565b600060208201905081810360008301526112978161101c565b9050919050565b600060208201905081810360008301526112b781611062565b9050919050565b600060208201905081810360008301526112d781611085565b9050919050565b60006020820190506112f360008301846110a8565b92915050565b600060408201905061130e60008301856110a8565b61131b6020830184610f39565b9392505050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061135a8261144c565b91506113658361144c565b925082611375576113746115a2565b5b828204905092915050565b600061138b8261144c565b91506113968361144c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156113cf576113ce611573565b5b828202905092915050565b60006113e58261144c565b91506113f08361144c565b92508282101561140357611402611573565b5b828203905092915050565b60006114198261142c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061146182611468565b9050919050565b60006114738261142c565b9050919050565b60006114858261148c565b9050919050565b60006114978261142c565b9050919050565b60006114a9826114b0565b9050919050565b60006114bb8261142c565b9050919050565b60006114cd826114d4565b9050919050565b60006114df8261142c565b9050919050565b60006114f1826114f8565b9050919050565b60006115038261142c565b9050919050565b60006115158261144c565b9050919050565b60006115278261144c565b9050919050565b60006115398261144c565b9050919050565b60005b8381101561155e578082015181840152602081019050611543565b8381111561156d576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f3000000000000000000000000000000000000000000000000000000000000000600082015250565b7f554e415554484f52495a45440000000000000000000000000000000000000000600082015250565b7f6c656d6d615631546f5632000000000000000000000000000000000000000000600082015250565b7f5452414e534645525f46524f4d5f4641494c4544000000000000000000000000600082015250565b7f415050524f56455f4641494c4544000000000000000000000000000000000000600082015250565b6116b88161140e565b81146116c357600080fd5b50565b6116cf81611420565b81146116da57600080fd5b50565b6116e68161144c565b81146116f157600080fd5b5056fea2646970667358221220e5c898d54e030aea0890bb2948c32514c1cc8fcbea946a65edded8a731d7eb3d64736f6c63430008020033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000856cb5c3cbbe9e2e21293a644aa1f9363cee11e8000000000000000000000000c10ef9f491c9b59f936957026020c321651ac07800000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab100000000000000000000000057c7e0d43c05bce429ce030132ca40f6fa5839d7

-----Decoded View---------------
Arg [0] : _hyphenBridge (address): 0x856cb5c3cBBe9e2E21293A644aA1f9363CEE11E8
Arg [1] : _anycallcontract (address): 0xC10Ef9F491C9B59f936957026020C321651ac078
Arg [2] : _weth (address): 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1
Arg [3] : _xusdl (address): 0x57c7E0D43C05bCe429ce030132Ca40F6FA5839d7

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000856cb5c3cbbe9e2e21293a644aa1f9363cee11e8
Arg [1] : 000000000000000000000000c10ef9f491c9b59f936957026020c321651ac078
Arg [2] : 00000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab1
Arg [3] : 00000000000000000000000057c7e0d43c05bce429ce030132ca40f6fa5839d7


Deployed ByteCode Sourcemap

18915:3473:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19051:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18957:17;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19175:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19131:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14637:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20457:1890;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20158:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20343:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19017:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18981:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19274:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15281:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19091:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19051;;;;;;;;;;;;;:::o;18957:17::-;;;;;;;;;;;;;:::o;19175:45::-;19219:1;19175:45;:::o;19131:37::-;;;;;;;;;;;;;:::o;14637:20::-;;;;;;;;;;;;:::o;20457:1890::-;20536:7;20532:495;;;20560:173;20625:5;;;;;;;;;;;20651:10;20688:4;20712:6;20560:32;:173::i;:::-;20788:5;;;;;;;;;;;:14;;;20803:6;20788:22;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20532:495;;;20843:172;20908:4;;;;;;;;;;;20933:10;20970:4;20994:6;20843:32;:172::i;:::-;20532:495;21037:18;21072:4;;;;;;;;;;;21058:30;;;21097:4;21058:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21037:66;;21116:4;;;;;;;;;;;:15;;;21154:4;21174:10;19219:1;21231;21255:4;;;;;;;;;;;21116:155;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21284:20;21307:4;;;;;;;;;;;:14;;;21330:4;21307:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21284:52;;21347:4;;;;;;;;;;;:13;;;21361:12;21347:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21387:17;21418:12;21432:10;21407:36;;;;;;;;;:::i;:::-;;;;;;;;;;;;;21387:56;;21454:15;21472;;;;;;;;;;;:27;;;21505:2;21509:4;:11;21472:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21454:67;;21584:7;21569:12;:22;;;;:::i;:::-;21554:37;;21666:12;;;;;;;;;;;:26;;;21700:12;21728:22;;;;;;;;;;;21765:2;21666:140;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21989:3;21975:10;;21960:12;:25;;;;:::i;:::-;21959:33;;;;:::i;:::-;21943:12;:50;;;;:::i;:::-;21928:65;;22022:12;22036:10;22011:36;;;;;;;;;:::i;:::-;;;;;;;;;;;;;22004:43;;22125:15;;;;;;;;;;;:23;;;22156:7;22179:22;;;;;;;;;;;22216:4;22243:1;22260:2;22288:1;22125:214;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20457:1890;;;;;;:::o;20158:177::-;14728:5;;;;;;;;;;14714:19;;:10;:19;;;14706:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;20304:23:::1;20279:22;;:48;;;;;;;;;;;;;;;;;;20158:177:::0;:::o;20343:106::-;14728:5;;;;;;;;;;14714:19;;:10;:19;;;14706:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;20430:11:::1;20417:10;:24;;;;20343:106:::0;:::o;19017:27::-;;;;;;;;;;;;;:::o;18981:29::-;;;;;;;;;;;;;:::o;19274:32::-;;;;:::o;15281:165::-;14728:5;;;;;;;;;;14714:19;;:10;:19;;;14706:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;15370:8:::1;15362:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;15429:8;15396:42;;15417:10;15396:42;;;;;;;;;;;;15281:165:::0;:::o;19091:33::-;;;;;;;;;;;;;:::o;11477:1483::-;11593:12;11724:4;11718:11;11869:66;11850:17;11843:93;11984:2;11980:1;11961:17;11957:25;11950:37;12065:6;12060:2;12041:17;12037:26;12030:42;12877:2;12874:1;12870:2;12851:17;12848:1;12841:5;12834;12829:51;12393:16;12386:24;12380:2;12362:16;12359:24;12355:1;12351;12345:8;12342:15;12338:46;12335:76;12132:763;12121:774;;11627:1279;12926:7;12918:34;;;;;;;;;;;;:::i;:::-;;;;;;;;;11477:1483;;;;:::o;8372:1604::-;8516:12;8647:4;8641:11;8792:66;8773:17;8766:93;8907:4;8903:1;8884:17;8880:25;8873:39;8992:2;8987;8968:17;8964:26;8957:38;9073:6;9068:2;9049:17;9045:26;9038:42;9887:2;9884:1;9879:3;9860:17;9857:1;9850:5;9843;9838:52;9401:16;9394:24;9388:2;9370:16;9367:24;9363:1;9359;9353:8;9350:15;9346:46;9343:76;9140:765;9129:776;;8550:1366;9936:7;9928:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;8372:1604;;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:133::-;;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;201:84;;;;:::o;291:139::-;;375:6;362:20;353:29;;391:33;418:5;391:33;:::i;:::-;343:87;;;;:::o;436:143::-;;524:6;518:13;509:22;;540:33;567:5;540:33;:::i;:::-;499:80;;;;:::o;585:262::-;;693:2;681:9;672:7;668:23;664:32;661:2;;;709:1;706;699:12;661:2;752:1;777:53;822:7;813:6;802:9;798:22;777:53;:::i;:::-;767:63;;723:117;651:196;;;;:::o;853:262::-;;961:2;949:9;940:7;936:23;932:32;929:2;;;977:1;974;967:12;929:2;1020:1;1045:53;1090:7;1081:6;1070:9;1066:22;1045:53;:::i;:::-;1035:63;;991:117;919:196;;;;:::o;1121:284::-;;1240:2;1228:9;1219:7;1215:23;1211:32;1208:2;;;1256:1;1253;1246:12;1208:2;1299:1;1324:64;1380:7;1371:6;1360:9;1356:22;1324:64;:::i;:::-;1314:74;;1270:128;1198:207;;;;:::o;1411:401::-;;;1533:2;1521:9;1512:7;1508:23;1504:32;1501:2;;;1549:1;1546;1539:12;1501:2;1592:1;1617:53;1662:7;1653:6;1642:9;1638:22;1617:53;:::i;:::-;1607:63;;1563:117;1719:2;1745:50;1787:7;1778:6;1767:9;1763:22;1745:50;:::i;:::-;1735:60;;1690:115;1491:321;;;;;:::o;1818:118::-;1905:24;1923:5;1905:24;:::i;:::-;1900:3;1893:37;1883:53;;:::o;1942:360::-;;2056:38;2088:5;2056:38;:::i;:::-;2110:70;2173:6;2168:3;2110:70;:::i;:::-;2103:77;;2189:52;2234:6;2229:3;2222:4;2215:5;2211:16;2189:52;:::i;:::-;2266:29;2288:6;2266:29;:::i;:::-;2261:3;2257:39;2250:46;;2032:270;;;;;:::o;2308:167::-;2413:55;2462:5;2413:55;:::i;:::-;2408:3;2401:68;2391:84;;:::o;2481:173::-;2589:58;2641:5;2589:58;:::i;:::-;2584:3;2577:71;2567:87;;:::o;2660:181::-;2772:62;2828:5;2772:62;:::i;:::-;2767:3;2760:75;2750:91;;:::o;2847:157::-;2947:50;2991:5;2947:50;:::i;:::-;2942:3;2935:63;2925:79;;:::o;3010:175::-;3119:59;3172:5;3119:59;:::i;:::-;3114:3;3107:72;3097:88;;:::o;3191:147::-;3286:45;3325:5;3286:45;:::i;:::-;3281:3;3274:58;3264:74;;:::o;3344:149::-;3440:46;3480:5;3440:46;:::i;:::-;3435:3;3428:59;3418:75;;:::o;3499:147::-;3594:45;3633:5;3594:45;:::i;:::-;3589:3;3582:58;3572:74;;:::o;3652:365::-;;3815:66;3879:1;3874:3;3815:66;:::i;:::-;3808:73;;3890:93;3979:3;3890:93;:::i;:::-;4008:2;4003:3;3999:12;3992:19;;3798:219;;;:::o;4023:366::-;;4186:67;4250:2;4245:3;4186:67;:::i;:::-;4179:74;;4262:93;4351:3;4262:93;:::i;:::-;4380:2;4375:3;4371:12;4364:19;;4169:220;;;:::o;4395:366::-;;4558:67;4622:2;4617:3;4558:67;:::i;:::-;4551:74;;4634:93;4723:3;4634:93;:::i;:::-;4752:2;4747:3;4743:12;4736:19;;4541:220;;;:::o;4767:366::-;;4930:67;4994:2;4989:3;4930:67;:::i;:::-;4923:74;;5006:93;5095:3;5006:93;:::i;:::-;5124:2;5119:3;5115:12;5108:19;;4913:220;;;:::o;5139:366::-;;5302:67;5366:2;5361:3;5302:67;:::i;:::-;5295:74;;5378:93;5467:3;5378:93;:::i;:::-;5496:2;5491:3;5487:12;5480:19;;5285:220;;;:::o;5511:118::-;5598:24;5616:5;5598:24;:::i;:::-;5593:3;5586:37;5576:53;;:::o;5635:222::-;;5766:2;5755:9;5751:18;5743:26;;5779:71;5847:1;5836:9;5832:17;5823:6;5779:71;:::i;:::-;5733:124;;;;:::o;5863:785::-;;6141:3;6130:9;6126:19;6118:27;;6155:71;6223:1;6212:9;6208:17;6199:6;6155:71;:::i;:::-;6273:9;6267:4;6263:20;6258:2;6247:9;6243:18;6236:48;6301:76;6372:4;6363:6;6301:76;:::i;:::-;6293:84;;6387:72;6455:2;6444:9;6440:18;6431:6;6387:72;:::i;:::-;6469:81;6546:2;6535:9;6531:18;6522:6;6469:81;:::i;:::-;6560;6636:3;6625:9;6621:19;6612:6;6560:81;:::i;:::-;6108:540;;;;;;;;:::o;6654:657::-;;6923:2;6912:9;6908:18;6900:26;;6936:71;7004:1;6993:9;6989:17;6980:6;6936:71;:::i;:::-;7017:81;7094:2;7083:9;7079:18;7070:6;7017:81;:::i;:::-;7145:9;7139:4;7135:20;7130:2;7119:9;7115:18;7108:48;7173:131;7299:4;7173:131;:::i;:::-;7165:139;;6890:421;;;;;:::o;7317:680::-;;7568:3;7557:9;7553:19;7545:27;;7582:71;7650:1;7639:9;7635:17;7626:6;7582:71;:::i;:::-;7663:72;7731:2;7720:9;7716:18;7707:6;7663:72;:::i;:::-;7745;7813:2;7802:9;7798:18;7789:6;7745:72;:::i;:::-;7827:80;7903:2;7892:9;7888:18;7879:6;7827:80;:::i;:::-;7917:73;7985:3;7974:9;7970:19;7961:6;7917:73;:::i;:::-;7535:462;;;;;;;;:::o;8003:258::-;;8152:2;8141:9;8137:18;8129:26;;8165:89;8251:1;8240:9;8236:17;8227:6;8165:89;:::i;:::-;8119:142;;;;:::o;8267:264::-;;8419:2;8408:9;8404:18;8396:26;;8432:92;8521:1;8510:9;8506:17;8497:6;8432:92;:::i;:::-;8386:145;;;;:::o;8537:272::-;;8693:2;8682:9;8678:18;8670:26;;8706:96;8799:1;8788:9;8784:17;8775:6;8706:96;:::i;:::-;8660:149;;;;:::o;8815:248::-;;8959:2;8948:9;8944:18;8936:26;;8972:84;9053:1;9042:9;9038:17;9029:6;8972:84;:::i;:::-;8926:137;;;;:::o;9069:266::-;;9222:2;9211:9;9207:18;9199:26;;9235:93;9325:1;9314:9;9310:17;9301:6;9235:93;:::i;:::-;9189:146;;;;:::o;9341:657::-;;9610:2;9599:9;9595:18;9587:26;;9659:9;9653:4;9649:20;9645:1;9634:9;9630:17;9623:47;9687:131;9813:4;9687:131;:::i;:::-;9679:139;;9828:81;9905:2;9894:9;9890:18;9881:6;9828:81;:::i;:::-;9919:72;9987:2;9976:9;9972:18;9963:6;9919:72;:::i;:::-;9577:421;;;;;:::o;10004:419::-;;10208:2;10197:9;10193:18;10185:26;;10257:9;10251:4;10247:20;10243:1;10232:9;10228:17;10221:47;10285:131;10411:4;10285:131;:::i;:::-;10277:139;;10175:248;;;:::o;10429:419::-;;10633:2;10622:9;10618:18;10610:26;;10682:9;10676:4;10672:20;10668:1;10657:9;10653:17;10646:47;10710:131;10836:4;10710:131;:::i;:::-;10702:139;;10600:248;;;:::o;10854:419::-;;11058:2;11047:9;11043:18;11035:26;;11107:9;11101:4;11097:20;11093:1;11082:9;11078:17;11071:47;11135:131;11261:4;11135:131;:::i;:::-;11127:139;;11025:248;;;:::o;11279:222::-;;11410:2;11399:9;11395:18;11387:26;;11423:71;11491:1;11480:9;11476:17;11467:6;11423:71;:::i;:::-;11377:124;;;;:::o;11507:332::-;;11666:2;11655:9;11651:18;11643:26;;11679:71;11747:1;11736:9;11732:17;11723:6;11679:71;:::i;:::-;11760:72;11828:2;11817:9;11813:18;11804:6;11760:72;:::i;:::-;11633:206;;;;;:::o;11845:98::-;;11930:5;11924:12;11914:22;;11903:40;;;:::o;11949:168::-;;12066:6;12061:3;12054:19;12106:4;12101:3;12097:14;12082:29;;12044:73;;;;:::o;12123:169::-;;12241:6;12236:3;12229:19;12281:4;12276:3;12272:14;12257:29;;12219:73;;;;:::o;12298:185::-;;12355:20;12373:1;12355:20;:::i;:::-;12350:25;;12389:20;12407:1;12389:20;:::i;:::-;12384:25;;12428:1;12418:2;;12433:18;;:::i;:::-;12418:2;12475:1;12472;12468:9;12463:14;;12340:143;;;;:::o;12489:348::-;;12552:20;12570:1;12552:20;:::i;:::-;12547:25;;12586:20;12604:1;12586:20;:::i;:::-;12581:25;;12774:1;12706:66;12702:74;12699:1;12696:81;12691:1;12684:9;12677:17;12673:105;12670:2;;;12781:18;;:::i;:::-;12670:2;12829:1;12826;12822:9;12811:20;;12537:300;;;;:::o;12843:191::-;;12903:20;12921:1;12903:20;:::i;:::-;12898:25;;12937:20;12955:1;12937:20;:::i;:::-;12932:25;;12976:1;12973;12970:8;12967:2;;;12981:18;;:::i;:::-;12967:2;13026:1;13023;13019:9;13011:17;;12888:146;;;;:::o;13040:96::-;;13106:24;13124:5;13106:24;:::i;:::-;13095:35;;13085:51;;;:::o;13142:90::-;;13219:5;13212:13;13205:21;13194:32;;13184:48;;;:::o;13238:126::-;;13315:42;13308:5;13304:54;13293:65;;13283:81;;;:::o;13370:77::-;;13436:5;13425:16;;13415:32;;;:::o;13453:162::-;;13554:55;13603:5;13554:55;:::i;:::-;13541:68;;13531:84;;;:::o;13621:131::-;;13722:24;13740:5;13722:24;:::i;:::-;13709:37;;13699:53;;;:::o;13758:168::-;;13862:58;13914:5;13862:58;:::i;:::-;13849:71;;13839:87;;;:::o;13932:134::-;;14036:24;14054:5;14036:24;:::i;:::-;14023:37;;14013:53;;;:::o;14072:176::-;;14180:62;14236:5;14180:62;:::i;:::-;14167:75;;14157:91;;;:::o;14254:138::-;;14362:24;14380:5;14362:24;:::i;:::-;14349:37;;14339:53;;;:::o;14398:152::-;;14494:50;14538:5;14494:50;:::i;:::-;14481:63;;14471:79;;;:::o;14556:126::-;;14652:24;14670:5;14652:24;:::i;:::-;14639:37;;14629:53;;;:::o;14688:170::-;;14793:59;14846:5;14793:59;:::i;:::-;14780:72;;14770:88;;;:::o;14864:135::-;;14969:24;14987:5;14969:24;:::i;:::-;14956:37;;14946:53;;;:::o;15005:121::-;;15096:24;15114:5;15096:24;:::i;:::-;15083:37;;15073:53;;;:::o;15132:122::-;;15224:24;15242:5;15224:24;:::i;:::-;15211:37;;15201:53;;;:::o;15260:121::-;;15351:24;15369:5;15351:24;:::i;:::-;15338:37;;15328:53;;;:::o;15387:307::-;15455:1;15465:113;15479:6;15476:1;15473:13;15465:113;;;15564:1;15559:3;15555:11;15549:18;15545:1;15540:3;15536:11;15529:39;15501:2;15498:1;15494:10;15489:15;;15465:113;;;15596:6;15593:1;15590:13;15587:2;;;15676:1;15667:6;15662:3;15658:16;15651:27;15587:2;15436:258;;;;:::o;15700:180::-;15748:77;15745:1;15738:88;15845:4;15842:1;15835:15;15869:4;15866:1;15859:15;15886:180;15934:77;15931:1;15924:88;16031:4;16028:1;16021:15;16055:4;16052:1;16045:15;16072:102;;16164:2;16160:7;16155:2;16148:5;16144:14;16140:28;16130:38;;16120:54;;;:::o;16180:151::-;16320:3;16316:1;16308:6;16304:14;16297:27;16286:45;:::o;16337:162::-;16477:14;16473:1;16465:6;16461:14;16454:38;16443:56;:::o;16505:161::-;16645:13;16641:1;16633:6;16629:14;16622:37;16611:55;:::o;16672:170::-;16812:22;16808:1;16800:6;16796:14;16789:46;16778:64;:::o;16848:164::-;16988:16;16984:1;16976:6;16972:14;16965:40;16954:58;:::o;17018:122::-;17091:24;17109:5;17091:24;:::i;:::-;17084:5;17081:35;17071:2;;17130:1;17127;17120:12;17071:2;17061:79;:::o;17146:116::-;17216:21;17231:5;17216:21;:::i;:::-;17209:5;17206:32;17196:2;;17252:1;17249;17242:12;17196:2;17186:76;:::o;17268:122::-;17341:24;17359:5;17341:24;:::i;:::-;17334:5;17331:35;17321:2;;17380:1;17377;17370:12;17321:2;17311:79;:::o

Metadata Hash

e5c898d54e030aea0890bb2948c32514c1cc8fcbea946a65edded8a731d7eb3d
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.