@circle-fin/usdckit - v0.21.0
    Preparing search index...

    Variable SUPPORTED_CHAINSConst

    SUPPORTED_CHAINS: readonly [
        {
            blockchainId: "ARB-SEPOLIA";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api-sepolia.arbiscan.io/api";
                    name: "Arbiscan";
                    url: "https://sepolia.arbiscan.io";
                };
            };
            blockTime: 250;
            contracts: {
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 81930;
                };
                QuoterV2: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factory"; type: "address" },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            name: "quoteExactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            name: "quoteExactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amount"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                    ];
                    address: "0x2779a0CC1c3e0E44D2542EC3e79e3864Ae93Ef0B";
                };
                SwapRouter02: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factoryV2"; type: "address" },
                                { internalType: "address"; name: "factoryV3"; type: "address" },
                                {
                                    internalType: "address";
                                    name: "_positionManager";
                                    type: "address";
                                },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "data"; type: "bytes" },
                            ];
                            name: "callPositionManager";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "paths"; type: "bytes[]" },
                                { internalType: "uint128[]"; name: "amounts"; type: "uint128[]" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factoryV2";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amount"; type: "uint256" },
                            ];
                            name: "getApprovalType";
                            outputs: readonly [
                                {
                                    internalType: "enum IApproveAndCall.ApprovalType";
                                    name: "";
                                    type: "uint8";
                                },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                    ];
                                    internalType: "struct IApproveAndCall.IncreaseLiquidityParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "increaseLiquidity";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "int24"; name: "tickLower"; type: "int24" },
                                        { internalType: "int24"; name: "tickUpper"; type: "int24" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                    ];
                                    internalType: "struct IApproveAndCall.MintParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "mint";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "bytes32";
                                    name: "previousBlockhash";
                                    type: "bytes32";
                                },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: "results"; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "positionManager";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "pull";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "refundETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermit";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowed";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowedIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                { internalType: "uint256"; name: "amountOutMin"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapExactTokensForTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                { internalType: "uint256"; name: "amountInMax"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapTokensForExactTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "_data"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "wrapETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        { stateMutability: "payable"; type: "receive" },
                    ];
                    address: "0x101F443B4d1b059569D643917553c771E1b9663E";
                };
                UniswapV3Factory: {
                    abi: readonly [
                        {
                            inputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: true;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                            ];
                            name: "FeeAmountEnabled";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "oldOwner";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "newOwner";
                                    type: "address";
                                },
                            ];
                            name: "OwnerChanged";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token0";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token1";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: false;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                                {
                                    indexed: false;
                                    internalType: "address";
                                    name: "pool";
                                    type: "address";
                                },
                            ];
                            name: "PoolCreated";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "tokenA"; type: "address" },
                                { internalType: "address"; name: "tokenB"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                            ];
                            name: "createPool";
                            outputs: readonly [
                                { internalType: "address"; name: "pool"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            name: "enableFeeAmount";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "feeAmountTickSpacing";
                            outputs: readonly [{ internalType: "int24"; name: ""; type: "int24" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "getPool";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "owner";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "parameters";
                            outputs: readonly [
                                { internalType: "address"; name: "factory"; type: "address" },
                                { internalType: "address"; name: "token0"; type: "address" },
                                { internalType: "address"; name: "token1"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_owner"; type: "address" },
                            ];
                            name: "setOwner";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x248AB79Bbb9bC29bB72f7Cd42F17e054Fc40188e";
                };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            ensTlds?: readonly string[];
            experimental_preconfirmationTime?: number;
            fees?: ChainFees<undefined>;
            formatters?: undefined;
            id: 421614;
            name: "Arbitrum Sepolia";
            nativeCurrency: {
                decimals: 18;
                name: "Arbitrum Sepolia Ether";
                symbol: "ETH";
            };
            rpcUrls: {
                default: { http: readonly ["https://sepolia-rollup.arbitrum.io/rpc"] };
            };
            serializers?: ChainSerializers<
                undefined,
                TransactionSerializable<bigint, number>,
            >;
            sourceId?: number;
            testnet: true;
        },
        {
            blockchainId: "ARB";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api.arbiscan.io/api";
                    name: "Arbiscan";
                    url: "https://arbiscan.io";
                };
            };
            blockTime: 250;
            contracts: {
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 7654707;
                };
                QuoterV2: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factory"; type: "address" },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            name: "quoteExactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            name: "quoteExactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amount"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                    ];
                    address: "0x61fFE014bA17989E743c5F6cB21bF9697530B21e";
                };
                SwapRouter02: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factoryV2"; type: "address" },
                                { internalType: "address"; name: "factoryV3"; type: "address" },
                                {
                                    internalType: "address";
                                    name: "_positionManager";
                                    type: "address";
                                },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "data"; type: "bytes" },
                            ];
                            name: "callPositionManager";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "paths"; type: "bytes[]" },
                                { internalType: "uint128[]"; name: "amounts"; type: "uint128[]" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factoryV2";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amount"; type: "uint256" },
                            ];
                            name: "getApprovalType";
                            outputs: readonly [
                                {
                                    internalType: "enum IApproveAndCall.ApprovalType";
                                    name: "";
                                    type: "uint8";
                                },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                    ];
                                    internalType: "struct IApproveAndCall.IncreaseLiquidityParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "increaseLiquidity";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "int24"; name: "tickLower"; type: "int24" },
                                        { internalType: "int24"; name: "tickUpper"; type: "int24" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                    ];
                                    internalType: "struct IApproveAndCall.MintParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "mint";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "bytes32";
                                    name: "previousBlockhash";
                                    type: "bytes32";
                                },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: "results"; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "positionManager";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "pull";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "refundETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermit";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowed";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowedIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                { internalType: "uint256"; name: "amountOutMin"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapExactTokensForTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                { internalType: "uint256"; name: "amountInMax"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapTokensForExactTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "_data"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "wrapETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        { stateMutability: "payable"; type: "receive" },
                    ];
                    address: "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45";
                };
                UniswapV3Factory: {
                    abi: readonly [
                        {
                            inputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: true;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                            ];
                            name: "FeeAmountEnabled";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "oldOwner";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "newOwner";
                                    type: "address";
                                },
                            ];
                            name: "OwnerChanged";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token0";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token1";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: false;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                                {
                                    indexed: false;
                                    internalType: "address";
                                    name: "pool";
                                    type: "address";
                                },
                            ];
                            name: "PoolCreated";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "tokenA"; type: "address" },
                                { internalType: "address"; name: "tokenB"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                            ];
                            name: "createPool";
                            outputs: readonly [
                                { internalType: "address"; name: "pool"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            name: "enableFeeAmount";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "feeAmountTickSpacing";
                            outputs: readonly [{ internalType: "int24"; name: ""; type: "int24" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "getPool";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "owner";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "parameters";
                            outputs: readonly [
                                { internalType: "address"; name: "factory"; type: "address" },
                                { internalType: "address"; name: "token0"; type: "address" },
                                { internalType: "address"; name: "token1"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_owner"; type: "address" },
                            ];
                            name: "setOwner";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x1F98431c8aD98523631AE4a59f267346ea31F984";
                };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            ensTlds?: readonly string[];
            experimental_preconfirmationTime?: number;
            fees?: ChainFees<undefined>;
            formatters?: undefined;
            id: 42161;
            name: "Arbitrum One";
            nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
            rpcUrls: { default: { http: readonly ["https://arb1.arbitrum.io/rpc"] } };
            serializers?: ChainSerializers<
                undefined,
                TransactionSerializable<bigint, number>,
            >;
            sourceId?: number;
            testnet?: boolean;
        },
        {
            blockchainId: "AVAX";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api.snowtrace.io";
                    name: "SnowTrace";
                    url: "https://snowtrace.io";
                };
            };
            blockTime: 1700;
            contracts: {
                EURC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0xc891eb4cbdeff6e073e859e987815ed1505c2acd";
                    read: { decimals: () => 6 };
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 11907934;
                };
                QuoterV2: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factory"; type: "address" },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            name: "quoteExactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            name: "quoteExactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amount"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                    ];
                    address: "0xbe0F5544EC67e9B3b2D979aaA43f18Fd87E6257F";
                };
                SwapRouter02: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factoryV2"; type: "address" },
                                { internalType: "address"; name: "factoryV3"; type: "address" },
                                {
                                    internalType: "address";
                                    name: "_positionManager";
                                    type: "address";
                                },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "data"; type: "bytes" },
                            ];
                            name: "callPositionManager";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "paths"; type: "bytes[]" },
                                { internalType: "uint128[]"; name: "amounts"; type: "uint128[]" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factoryV2";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amount"; type: "uint256" },
                            ];
                            name: "getApprovalType";
                            outputs: readonly [
                                {
                                    internalType: "enum IApproveAndCall.ApprovalType";
                                    name: "";
                                    type: "uint8";
                                },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                    ];
                                    internalType: "struct IApproveAndCall.IncreaseLiquidityParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "increaseLiquidity";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "int24"; name: "tickLower"; type: "int24" },
                                        { internalType: "int24"; name: "tickUpper"; type: "int24" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                    ];
                                    internalType: "struct IApproveAndCall.MintParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "mint";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "bytes32";
                                    name: "previousBlockhash";
                                    type: "bytes32";
                                },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: "results"; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "positionManager";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "pull";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "refundETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermit";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowed";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowedIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                { internalType: "uint256"; name: "amountOutMin"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapExactTokensForTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                { internalType: "uint256"; name: "amountInMax"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapTokensForExactTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "_data"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "wrapETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        { stateMutability: "payable"; type: "receive" },
                    ];
                    address: "0xbb00FF08d01D300023C629E8fFfFcb65A5a578cE";
                };
                UniswapV3Factory: {
                    abi: readonly [
                        {
                            inputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: true;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                            ];
                            name: "FeeAmountEnabled";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "oldOwner";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "newOwner";
                                    type: "address";
                                },
                            ];
                            name: "OwnerChanged";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token0";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token1";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: false;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                                {
                                    indexed: false;
                                    internalType: "address";
                                    name: "pool";
                                    type: "address";
                                },
                            ];
                            name: "PoolCreated";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "tokenA"; type: "address" },
                                { internalType: "address"; name: "tokenB"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                            ];
                            name: "createPool";
                            outputs: readonly [
                                { internalType: "address"; name: "pool"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            name: "enableFeeAmount";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "feeAmountTickSpacing";
                            outputs: readonly [{ internalType: "int24"; name: ""; type: "int24" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "getPool";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "owner";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "parameters";
                            outputs: readonly [
                                { internalType: "address"; name: "factory"; type: "address" },
                                { internalType: "address"; name: "token0"; type: "address" },
                                { internalType: "address"; name: "token1"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_owner"; type: "address" },
                            ];
                            name: "setOwner";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x740b1c1de25031C31FF4fC9A62f554A55cdC1baD";
                };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E";
                    read: { decimals: () => 6 };
                };
                USDT: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            ensTlds?: readonly string[];
            experimental_preconfirmationTime?: number;
            fees?: ChainFees<undefined>;
            formatters?: undefined;
            id: 43114;
            name: "Avalanche";
            nativeCurrency: { decimals: 18; name: "Avalanche"; symbol: "AVAX" };
            rpcUrls: {
                default: { http: readonly ["https://api.avax.network/ext/bc/C/rpc"] };
            };
            serializers?: ChainSerializers<
                undefined,
                TransactionSerializable<bigint, number>,
            >;
            sourceId?: number;
            testnet?: boolean;
        },
        {
            blockchainId: "BASE-SEPOLIA";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api-sepolia.basescan.org/api";
                    name: "Basescan";
                    url: "https://sepolia.basescan.org";
                };
            };
            blockTime: 2000;
            contracts: {
                disputeGameFactory: {
                    "11155111": { address: "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1" };
                };
                EURC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x808456652fdb597867f38412077A9182bf77359F";
                    read: { decimals: () => 6 };
                };
                gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                l1Block: { address: "0x4200000000000000000000000000000000000015" };
                l1StandardBridge: {
                    "11155111": {
                        address: "0xfd0Bf71F60660E2f608ed56e1659C450eB113120";
                        blockCreated: 4446677;
                    };
                };
                l2CrossDomainMessenger: {
                    address: "0x4200000000000000000000000000000000000007";
                };
                l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                l2OutputOracle: {
                    "11155111": { address: "0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254" };
                };
                l2StandardBridge: {
                    address: "0x4200000000000000000000000000000000000010";
                };
                l2ToL1MessagePasser: {
                    address: "0x4200000000000000000000000000000000000016";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 1059647;
                };
                portal: {
                    "11155111": {
                        address: "0x49f53e41452c74589e85ca1677426ba426459e85";
                        blockCreated: 4446677;
                    };
                };
                QuoterV2: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factory"; type: "address" },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            name: "quoteExactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            name: "quoteExactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amount"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                    ];
                    address: "0xC5290058841028F1614F3A6F0F5816cAd0df5E27";
                };
                SwapRouter02: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factoryV2"; type: "address" },
                                { internalType: "address"; name: "factoryV3"; type: "address" },
                                {
                                    internalType: "address";
                                    name: "_positionManager";
                                    type: "address";
                                },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "data"; type: "bytes" },
                            ];
                            name: "callPositionManager";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "paths"; type: "bytes[]" },
                                { internalType: "uint128[]"; name: "amounts"; type: "uint128[]" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factoryV2";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amount"; type: "uint256" },
                            ];
                            name: "getApprovalType";
                            outputs: readonly [
                                {
                                    internalType: "enum IApproveAndCall.ApprovalType";
                                    name: "";
                                    type: "uint8";
                                },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                    ];
                                    internalType: "struct IApproveAndCall.IncreaseLiquidityParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "increaseLiquidity";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "int24"; name: "tickLower"; type: "int24" },
                                        { internalType: "int24"; name: "tickUpper"; type: "int24" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                    ];
                                    internalType: "struct IApproveAndCall.MintParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "mint";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "bytes32";
                                    name: "previousBlockhash";
                                    type: "bytes32";
                                },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: "results"; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "positionManager";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "pull";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "refundETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermit";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowed";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowedIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                { internalType: "uint256"; name: "amountOutMin"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapExactTokensForTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                { internalType: "uint256"; name: "amountInMax"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapTokensForExactTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "_data"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "wrapETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        { stateMutability: "payable"; type: "receive" },
                    ];
                    address: "0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4";
                };
                UniswapV3Factory: {
                    abi: readonly [
                        {
                            inputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: true;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                            ];
                            name: "FeeAmountEnabled";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "oldOwner";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "newOwner";
                                    type: "address";
                                },
                            ];
                            name: "OwnerChanged";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token0";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token1";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: false;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                                {
                                    indexed: false;
                                    internalType: "address";
                                    name: "pool";
                                    type: "address";
                                },
                            ];
                            name: "PoolCreated";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "tokenA"; type: "address" },
                                { internalType: "address"; name: "tokenB"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                            ];
                            name: "createPool";
                            outputs: readonly [
                                { internalType: "address"; name: "pool"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            name: "enableFeeAmount";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "feeAmountTickSpacing";
                            outputs: readonly [{ internalType: "int24"; name: ""; type: "int24" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "getPool";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "owner";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "parameters";
                            outputs: readonly [
                                { internalType: "address"; name: "factory"; type: "address" },
                                { internalType: "address"; name: "token0"; type: "address" },
                                { internalType: "address"; name: "token1"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_owner"; type: "address" },
                            ];
                            name: "setOwner";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24";
                };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x036CbD53842c5426634e7929541eC2318f3dCF7e";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            ensTlds?: readonly string[];
            experimental_preconfirmationTime?: number;
            fees?: ChainFees<undefined>;
            formatters: {
                block: {
                    exclude: undefined | [];
                    format: (
                        args: OpStackRpcBlock<BlockTag, boolean>,
                    ) => {
                        baseFeePerGas: null | bigint;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: `0x${string}`;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: null | `0x${string}`;
                        logsBloom: null | `0x${string}`;
                        miner: `0x${string}`;
                        mixHash: `0x${string}`;
                        nonce: null | `0x${string}`;
                        number: null | bigint;
                        parentBeaconBlockRoot?: `0x${string}`;
                        parentHash: `0x${string}`;
                        receiptsRoot: `0x${string}`;
                        sealFields: `0x${string}`[];
                        sha3Uncles: `0x${string}`;
                        size: bigint;
                        stateRoot: `0x${string}`;
                        timestamp: bigint;
                        totalDifficulty: null | bigint;
                        transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                        transactionsRoot: `0x${string}`;
                        uncles: `0x${string}`[];
                        withdrawals?: Withdrawal[];
                        withdrawalsRoot?: `0x${string}`;
                    };
                    type: "block";
                };
                transaction: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransaction<boolean>,
                    ) =>
                        | {
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: boolean;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: bigint;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash: `0x${string}`;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "deposit";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList?: undefined;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId?: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "legacy";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity?: undefined;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip2930";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip1559";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes: readonly `0x${string}`[];
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas: bigint;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip4844";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList: SignedAuthorizationList<number>;
                            blobVersionedHashes?: undefined;
                            blockHash: null | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip7702";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        };
                    type: "transaction";
                };
                transactionReceipt: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransactionReceipt,
                    ) => {
                        blobGasPrice?: bigint;
                        blobGasUsed?: bigint;
                        blockHash: `0x${string}`;
                        blockNumber: bigint;
                        contractAddress: undefined | null | `0x${string}`;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: `0x${string}`;
                        gasUsed: bigint;
                        l1Fee: null | bigint;
                        l1FeeScalar: null | number;
                        l1GasPrice: null | bigint;
                        l1GasUsed: null | bigint;
                        logs: Log<
                            bigint,
                            number,
                            false,
                            undefined,
                            undefined,
                            undefined,
                            undefined,
                        >[];
                        logsBloom: `0x${string}`;
                        root?: `0x${string}`;
                        status: "success"
                        | "reverted";
                        to: null | `0x${string}`;
                        transactionHash: `0x${string}`;
                        transactionIndex: number;
                        type: TransactionType;
                    };
                    type: "transactionReceipt";
                };
            };
            id: 84532;
            name: "Base Sepolia";
            nativeCurrency: { decimals: 18; name: "Sepolia Ether"; symbol: "ETH" };
            network: "base-sepolia";
            rpcUrls: { default: { http: readonly ["https://sepolia.base.org"] } };
            serializers: {
                transaction: (
                    transaction: OpStackTransactionSerializable,
                    signature?: Signature,
                ) =>
                    | `0x02${string}`
                    | `0x01${string}`
                    | `0x03${string}`
                    | `0x04${string}`
                    | TransactionSerializedLegacy
                    | `0x7e${string}`;
            };
            sourceId: 11155111;
            testnet: true;
        },
        {
            blockchainId: "BASE";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api.basescan.org/api";
                    name: "Basescan";
                    url: "https://basescan.org";
                };
            };
            blockTime: 2000;
            contracts: {
                disputeGameFactory: {
                    "1": { address: "0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e" };
                };
                EURC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42";
                    read: { decimals: () => 6 };
                };
                gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                l1Block: { address: "0x4200000000000000000000000000000000000015" };
                l1StandardBridge: {
                    "1": {
                        address: "0x3154Cf16ccdb4C6d922629664174b904d80F2C35";
                        blockCreated: 17482143;
                    };
                };
                l2CrossDomainMessenger: {
                    address: "0x4200000000000000000000000000000000000007";
                };
                l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                l2OutputOracle: {
                    "1": { address: "0x56315b90c40730925ec5485cf004d835058518A0" };
                };
                l2StandardBridge: {
                    address: "0x4200000000000000000000000000000000000010";
                };
                l2ToL1MessagePasser: {
                    address: "0x4200000000000000000000000000000000000016";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 5022;
                };
                portal: {
                    "1": {
                        address: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e";
                        blockCreated: 17482143;
                    };
                };
                QuoterV2: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factory"; type: "address" },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            name: "quoteExactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            name: "quoteExactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amount"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                    ];
                    address: "0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a";
                };
                SwapRouter02: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factoryV2"; type: "address" },
                                { internalType: "address"; name: "factoryV3"; type: "address" },
                                {
                                    internalType: "address";
                                    name: "_positionManager";
                                    type: "address";
                                },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "data"; type: "bytes" },
                            ];
                            name: "callPositionManager";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "paths"; type: "bytes[]" },
                                { internalType: "uint128[]"; name: "amounts"; type: "uint128[]" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factoryV2";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amount"; type: "uint256" },
                            ];
                            name: "getApprovalType";
                            outputs: readonly [
                                {
                                    internalType: "enum IApproveAndCall.ApprovalType";
                                    name: "";
                                    type: "uint8";
                                },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                    ];
                                    internalType: "struct IApproveAndCall.IncreaseLiquidityParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "increaseLiquidity";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "int24"; name: "tickLower"; type: "int24" },
                                        { internalType: "int24"; name: "tickUpper"; type: "int24" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                    ];
                                    internalType: "struct IApproveAndCall.MintParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "mint";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "bytes32";
                                    name: "previousBlockhash";
                                    type: "bytes32";
                                },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: "results"; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "positionManager";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "pull";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "refundETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermit";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowed";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowedIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                { internalType: "uint256"; name: "amountOutMin"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapExactTokensForTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                { internalType: "uint256"; name: "amountInMax"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapTokensForExactTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "_data"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "wrapETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        { stateMutability: "payable"; type: "receive" },
                    ];
                    address: "0x2626664c2603336E57B271c5C0b26F421741e481";
                };
                UniswapV3Factory: {
                    abi: readonly [
                        {
                            inputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: true;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                            ];
                            name: "FeeAmountEnabled";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "oldOwner";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "newOwner";
                                    type: "address";
                                },
                            ];
                            name: "OwnerChanged";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token0";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token1";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: false;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                                {
                                    indexed: false;
                                    internalType: "address";
                                    name: "pool";
                                    type: "address";
                                },
                            ];
                            name: "PoolCreated";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "tokenA"; type: "address" },
                                { internalType: "address"; name: "tokenB"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                            ];
                            name: "createPool";
                            outputs: readonly [
                                { internalType: "address"; name: "pool"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            name: "enableFeeAmount";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "feeAmountTickSpacing";
                            outputs: readonly [{ internalType: "int24"; name: ""; type: "int24" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "getPool";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "owner";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "parameters";
                            outputs: readonly [
                                { internalType: "address"; name: "factory"; type: "address" },
                                { internalType: "address"; name: "token0"; type: "address" },
                                { internalType: "address"; name: "token1"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_owner"; type: "address" },
                            ];
                            name: "setOwner";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x33128a8fC17869897dcE68Ed026d694621f6FDfD";
                };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            ensTlds?: readonly string[];
            experimental_preconfirmationTime?: number;
            fees?: ChainFees<undefined>;
            formatters: {
                block: {
                    exclude: undefined | [];
                    format: (
                        args: OpStackRpcBlock<BlockTag, boolean>,
                    ) => {
                        baseFeePerGas: null | bigint;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: `0x${string}`;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: null | `0x${string}`;
                        logsBloom: null | `0x${string}`;
                        miner: `0x${string}`;
                        mixHash: `0x${string}`;
                        nonce: null | `0x${string}`;
                        number: null | bigint;
                        parentBeaconBlockRoot?: `0x${string}`;
                        parentHash: `0x${string}`;
                        receiptsRoot: `0x${string}`;
                        sealFields: `0x${string}`[];
                        sha3Uncles: `0x${string}`;
                        size: bigint;
                        stateRoot: `0x${string}`;
                        timestamp: bigint;
                        totalDifficulty: null | bigint;
                        transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                        transactionsRoot: `0x${string}`;
                        uncles: `0x${string}`[];
                        withdrawals?: Withdrawal[];
                        withdrawalsRoot?: `0x${string}`;
                    };
                    type: "block";
                };
                transaction: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransaction<boolean>,
                    ) =>
                        | {
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: boolean;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: bigint;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash: `0x${string}`;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "deposit";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList?: undefined;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId?: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "legacy";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity?: undefined;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip2930";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip1559";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes: readonly `0x${string}`[];
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas: bigint;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip4844";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList: SignedAuthorizationList<number>;
                            blobVersionedHashes?: undefined;
                            blockHash: null | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip7702";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        };
                    type: "transaction";
                };
                transactionReceipt: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransactionReceipt,
                    ) => {
                        blobGasPrice?: bigint;
                        blobGasUsed?: bigint;
                        blockHash: `0x${string}`;
                        blockNumber: bigint;
                        contractAddress: undefined | null | `0x${string}`;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: `0x${string}`;
                        gasUsed: bigint;
                        l1Fee: null | bigint;
                        l1FeeScalar: null | number;
                        l1GasPrice: null | bigint;
                        l1GasUsed: null | bigint;
                        logs: Log<
                            bigint,
                            number,
                            false,
                            undefined,
                            undefined,
                            undefined,
                            undefined,
                        >[];
                        logsBloom: `0x${string}`;
                        root?: `0x${string}`;
                        status: "success"
                        | "reverted";
                        to: null | `0x${string}`;
                        transactionHash: `0x${string}`;
                        transactionIndex: number;
                        type: TransactionType;
                    };
                    type: "transactionReceipt";
                };
            };
            id: 8453;
            name: "Base";
            nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
            rpcUrls: { default: { http: readonly ["https://mainnet.base.org"] } };
            serializers: {
                transaction: (
                    transaction: OpStackTransactionSerializable,
                    signature?: Signature,
                ) =>
                    | `0x02${string}`
                    | `0x01${string}`
                    | `0x03${string}`
                    | `0x04${string}`
                    | TransactionSerializedLegacy
                    | `0x7e${string}`;
            };
            sourceId: 1;
            testnet?: boolean;
        },
        {
            blockchainId: "ETH-SEPOLIA";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api-sepolia.etherscan.io/api";
                    name: "Etherscan";
                    url: "https://sepolia.etherscan.io";
                };
            };
            blockTime?: number;
            contracts: {
                ensUniversalResolver: {
                    address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
                    blockCreated: 8928790;
                };
                EURC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x08210F9170F89Ab7658F0B5E3fF39b0E03C594D4";
                    read: { decimals: () => 6 };
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 751532;
                };
                QuoterV2: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factory"; type: "address" },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            name: "quoteExactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            name: "quoteExactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amount"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                    ];
                    address: "0xEd1f6473345F45b75F8179591dd5bA1888cf2FB3";
                };
                SwapRouter02: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factoryV2"; type: "address" },
                                { internalType: "address"; name: "factoryV3"; type: "address" },
                                {
                                    internalType: "address";
                                    name: "_positionManager";
                                    type: "address";
                                },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "data"; type: "bytes" },
                            ];
                            name: "callPositionManager";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "paths"; type: "bytes[]" },
                                { internalType: "uint128[]"; name: "amounts"; type: "uint128[]" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factoryV2";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amount"; type: "uint256" },
                            ];
                            name: "getApprovalType";
                            outputs: readonly [
                                {
                                    internalType: "enum IApproveAndCall.ApprovalType";
                                    name: "";
                                    type: "uint8";
                                },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                    ];
                                    internalType: "struct IApproveAndCall.IncreaseLiquidityParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "increaseLiquidity";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "int24"; name: "tickLower"; type: "int24" },
                                        { internalType: "int24"; name: "tickUpper"; type: "int24" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                    ];
                                    internalType: "struct IApproveAndCall.MintParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "mint";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "bytes32";
                                    name: "previousBlockhash";
                                    type: "bytes32";
                                },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: "results"; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "positionManager";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "pull";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "refundETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermit";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowed";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowedIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                { internalType: "uint256"; name: "amountOutMin"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapExactTokensForTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                { internalType: "uint256"; name: "amountInMax"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapTokensForExactTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "_data"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "wrapETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        { stateMutability: "payable"; type: "receive" },
                    ];
                    address: "0x3bFA4769FB09eefC5a80d6E87c3B9C650f7Ae48E";
                };
                UniswapV3Factory: {
                    abi: readonly [
                        {
                            inputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: true;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                            ];
                            name: "FeeAmountEnabled";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "oldOwner";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "newOwner";
                                    type: "address";
                                },
                            ];
                            name: "OwnerChanged";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token0";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token1";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: false;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                                {
                                    indexed: false;
                                    internalType: "address";
                                    name: "pool";
                                    type: "address";
                                },
                            ];
                            name: "PoolCreated";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "tokenA"; type: "address" },
                                { internalType: "address"; name: "tokenB"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                            ];
                            name: "createPool";
                            outputs: readonly [
                                { internalType: "address"; name: "pool"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            name: "enableFeeAmount";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "feeAmountTickSpacing";
                            outputs: readonly [{ internalType: "int24"; name: ""; type: "int24" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "getPool";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "owner";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "parameters";
                            outputs: readonly [
                                { internalType: "address"; name: "factory"; type: "address" },
                                { internalType: "address"; name: "token0"; type: "address" },
                                { internalType: "address"; name: "token1"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_owner"; type: "address" },
                            ];
                            name: "setOwner";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x0227628f3F023bb0B980b67D528571c95c6DaC1c";
                };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            ensTlds?: readonly string[];
            experimental_preconfirmationTime?: number;
            fees?: ChainFees<undefined>;
            formatters?: undefined;
            id: 11155111;
            name: "Sepolia";
            nativeCurrency: { decimals: 18; name: "Sepolia Ether"; symbol: "ETH" };
            rpcUrls: { default: { http: readonly ["https://sepolia.drpc.org"] } };
            serializers?: ChainSerializers<
                undefined,
                TransactionSerializable<bigint, number>,
            >;
            sourceId?: number;
            testnet: true;
        },
        {
            blockchainId: "ETH";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api.etherscan.io/api";
                    name: "Etherscan";
                    url: "https://etherscan.io";
                };
            };
            blockTime: 12000;
            contracts: {
                ensUniversalResolver: {
                    address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
                    blockCreated: 23085558;
                };
                EURC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c";
                    read: { decimals: () => 6 };
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 14353601;
                };
                QuoterV2: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factory"; type: "address" },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            name: "quoteExactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            name: "quoteExactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amount"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                    ];
                    address: "0x61fFE014bA17989E743c5F6cB21bF9697530B21e";
                };
                SwapRouter02: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factoryV2"; type: "address" },
                                { internalType: "address"; name: "factoryV3"; type: "address" },
                                {
                                    internalType: "address";
                                    name: "_positionManager";
                                    type: "address";
                                },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "data"; type: "bytes" },
                            ];
                            name: "callPositionManager";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "paths"; type: "bytes[]" },
                                { internalType: "uint128[]"; name: "amounts"; type: "uint128[]" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factoryV2";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amount"; type: "uint256" },
                            ];
                            name: "getApprovalType";
                            outputs: readonly [
                                {
                                    internalType: "enum IApproveAndCall.ApprovalType";
                                    name: "";
                                    type: "uint8";
                                },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                    ];
                                    internalType: "struct IApproveAndCall.IncreaseLiquidityParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "increaseLiquidity";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "int24"; name: "tickLower"; type: "int24" },
                                        { internalType: "int24"; name: "tickUpper"; type: "int24" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                    ];
                                    internalType: "struct IApproveAndCall.MintParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "mint";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "bytes32";
                                    name: "previousBlockhash";
                                    type: "bytes32";
                                },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: "results"; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "positionManager";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "pull";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "refundETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermit";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowed";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowedIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                { internalType: "uint256"; name: "amountOutMin"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapExactTokensForTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                { internalType: "uint256"; name: "amountInMax"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapTokensForExactTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "_data"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "wrapETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        { stateMutability: "payable"; type: "receive" },
                    ];
                    address: "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45";
                };
                UniswapV3Factory: {
                    abi: readonly [
                        {
                            inputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: true;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                            ];
                            name: "FeeAmountEnabled";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "oldOwner";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "newOwner";
                                    type: "address";
                                },
                            ];
                            name: "OwnerChanged";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token0";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token1";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: false;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                                {
                                    indexed: false;
                                    internalType: "address";
                                    name: "pool";
                                    type: "address";
                                },
                            ];
                            name: "PoolCreated";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "tokenA"; type: "address" },
                                { internalType: "address"; name: "tokenB"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                            ];
                            name: "createPool";
                            outputs: readonly [
                                { internalType: "address"; name: "pool"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            name: "enableFeeAmount";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "feeAmountTickSpacing";
                            outputs: readonly [{ internalType: "int24"; name: ""; type: "int24" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "getPool";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "owner";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "parameters";
                            outputs: readonly [
                                { internalType: "address"; name: "factory"; type: "address" },
                                { internalType: "address"; name: "token0"; type: "address" },
                                { internalType: "address"; name: "token1"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_owner"; type: "address" },
                            ];
                            name: "setOwner";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x1F98431c8aD98523631AE4a59f267346ea31F984";
                };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48";
                    read: { decimals: () => 6 };
                };
                USDT: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0xdac17f958d2ee523a2206206994597c13d831ec7";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            ensTlds?: readonly string[];
            experimental_preconfirmationTime?: number;
            fees?: ChainFees<undefined>;
            formatters?: undefined;
            id: 1;
            name: "Ethereum";
            nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
            rpcUrls: { default: { http: readonly ["https://eth.merkle.io"] } };
            serializers?: ChainSerializers<
                undefined,
                TransactionSerializable<bigint, number>,
            >;
            sourceId?: number;
            testnet?: boolean;
        },
        {
            blockchainId: "OP-SEPOLIA";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://optimism-sepolia.blockscout.com/api";
                    name: "Blockscout";
                    url: "https://optimism-sepolia.blockscout.com";
                };
            };
            blockTime: 2000;
            contracts: {
                disputeGameFactory: {
                    "11155111": { address: "0x05F9613aDB30026FFd634f38e5C4dFd30a197Fa1" };
                };
                gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                l1Block: { address: "0x4200000000000000000000000000000000000015" };
                l1StandardBridge: {
                    "11155111": { address: "0xFBb0621E0B23b5478B630BD55a5f21f67730B0F1" };
                };
                l2CrossDomainMessenger: {
                    address: "0x4200000000000000000000000000000000000007";
                };
                l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                l2OutputOracle: {
                    "11155111": { address: "0x90E9c4f8a994a250F6aEfd61CAFb4F2e895D458F" };
                };
                l2StandardBridge: {
                    address: "0x4200000000000000000000000000000000000010";
                };
                l2ToL1MessagePasser: {
                    address: "0x4200000000000000000000000000000000000016";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 1620204;
                };
                portal: {
                    "11155111": { address: "0x16Fc5058F25648194471939df75CF27A2fdC48BC" };
                };
                QuoterV2: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factory"; type: "address" },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            name: "quoteExactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            name: "quoteExactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amount"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                    ];
                    address: "0xC5290058841028F1614F3A6F0F5816cAd0df5E27";
                };
                SwapRouter02: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factoryV2"; type: "address" },
                                { internalType: "address"; name: "factoryV3"; type: "address" },
                                {
                                    internalType: "address";
                                    name: "_positionManager";
                                    type: "address";
                                },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "data"; type: "bytes" },
                            ];
                            name: "callPositionManager";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "paths"; type: "bytes[]" },
                                { internalType: "uint128[]"; name: "amounts"; type: "uint128[]" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factoryV2";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amount"; type: "uint256" },
                            ];
                            name: "getApprovalType";
                            outputs: readonly [
                                {
                                    internalType: "enum IApproveAndCall.ApprovalType";
                                    name: "";
                                    type: "uint8";
                                },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                    ];
                                    internalType: "struct IApproveAndCall.IncreaseLiquidityParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "increaseLiquidity";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "int24"; name: "tickLower"; type: "int24" },
                                        { internalType: "int24"; name: "tickUpper"; type: "int24" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                    ];
                                    internalType: "struct IApproveAndCall.MintParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "mint";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "bytes32";
                                    name: "previousBlockhash";
                                    type: "bytes32";
                                },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: "results"; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "positionManager";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "pull";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "refundETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermit";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowed";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowedIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                { internalType: "uint256"; name: "amountOutMin"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapExactTokensForTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                { internalType: "uint256"; name: "amountInMax"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapTokensForExactTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "_data"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "wrapETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        { stateMutability: "payable"; type: "receive" },
                    ];
                    address: "0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4";
                };
                UniswapV3Factory: {
                    abi: readonly [
                        {
                            inputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: true;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                            ];
                            name: "FeeAmountEnabled";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "oldOwner";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "newOwner";
                                    type: "address";
                                },
                            ];
                            name: "OwnerChanged";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token0";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token1";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: false;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                                {
                                    indexed: false;
                                    internalType: "address";
                                    name: "pool";
                                    type: "address";
                                },
                            ];
                            name: "PoolCreated";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "tokenA"; type: "address" },
                                { internalType: "address"; name: "tokenB"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                            ];
                            name: "createPool";
                            outputs: readonly [
                                { internalType: "address"; name: "pool"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            name: "enableFeeAmount";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "feeAmountTickSpacing";
                            outputs: readonly [{ internalType: "int24"; name: ""; type: "int24" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "getPool";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "owner";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "parameters";
                            outputs: readonly [
                                { internalType: "address"; name: "factory"; type: "address" },
                                { internalType: "address"; name: "token0"; type: "address" },
                                { internalType: "address"; name: "token1"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_owner"; type: "address" },
                            ];
                            name: "setOwner";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24";
                };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x5fd84259d66Cd46123540766Be93DFE6D43130D7";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            ensTlds?: readonly string[];
            experimental_preconfirmationTime?: number;
            fees?: ChainFees<undefined>;
            formatters: {
                block: {
                    exclude: undefined | [];
                    format: (
                        args: OpStackRpcBlock<BlockTag, boolean>,
                    ) => {
                        baseFeePerGas: null | bigint;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: `0x${string}`;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: null | `0x${string}`;
                        logsBloom: null | `0x${string}`;
                        miner: `0x${string}`;
                        mixHash: `0x${string}`;
                        nonce: null | `0x${string}`;
                        number: null | bigint;
                        parentBeaconBlockRoot?: `0x${string}`;
                        parentHash: `0x${string}`;
                        receiptsRoot: `0x${string}`;
                        sealFields: `0x${string}`[];
                        sha3Uncles: `0x${string}`;
                        size: bigint;
                        stateRoot: `0x${string}`;
                        timestamp: bigint;
                        totalDifficulty: null | bigint;
                        transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                        transactionsRoot: `0x${string}`;
                        uncles: `0x${string}`[];
                        withdrawals?: Withdrawal[];
                        withdrawalsRoot?: `0x${string}`;
                    };
                    type: "block";
                };
                transaction: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransaction<boolean>,
                    ) =>
                        | {
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: boolean;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: bigint;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash: `0x${string}`;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "deposit";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList?: undefined;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId?: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "legacy";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity?: undefined;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip2930";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip1559";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes: readonly `0x${string}`[];
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas: bigint;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip4844";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList: SignedAuthorizationList<number>;
                            blobVersionedHashes?: undefined;
                            blockHash: null | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip7702";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        };
                    type: "transaction";
                };
                transactionReceipt: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransactionReceipt,
                    ) => {
                        blobGasPrice?: bigint;
                        blobGasUsed?: bigint;
                        blockHash: `0x${string}`;
                        blockNumber: bigint;
                        contractAddress: undefined | null | `0x${string}`;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: `0x${string}`;
                        gasUsed: bigint;
                        l1Fee: null | bigint;
                        l1FeeScalar: null | number;
                        l1GasPrice: null | bigint;
                        l1GasUsed: null | bigint;
                        logs: Log<
                            bigint,
                            number,
                            false,
                            undefined,
                            undefined,
                            undefined,
                            undefined,
                        >[];
                        logsBloom: `0x${string}`;
                        root?: `0x${string}`;
                        status: "success"
                        | "reverted";
                        to: null | `0x${string}`;
                        transactionHash: `0x${string}`;
                        transactionIndex: number;
                        type: TransactionType;
                    };
                    type: "transactionReceipt";
                };
            };
            id: 11155420;
            name: "OP Sepolia";
            nativeCurrency: { decimals: 18; name: "Sepolia Ether"; symbol: "ETH" };
            rpcUrls: { default: { http: readonly ["https://sepolia.optimism.io"] } };
            serializers: {
                transaction: (
                    transaction: OpStackTransactionSerializable,
                    signature?: Signature,
                ) =>
                    | `0x02${string}`
                    | `0x01${string}`
                    | `0x03${string}`
                    | `0x04${string}`
                    | TransactionSerializedLegacy
                    | `0x7e${string}`;
            };
            sourceId: 11155111;
            testnet: true;
        },
        {
            blockchainId: "OP";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api-optimistic.etherscan.io/api";
                    name: "Optimism Explorer";
                    url: "https://optimistic.etherscan.io";
                };
            };
            blockTime: 2000;
            contracts: {
                disputeGameFactory: {
                    "1": { address: "0xe5965Ab5962eDc7477C8520243A95517CD252fA9" };
                };
                gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                l1Block: { address: "0x4200000000000000000000000000000000000015" };
                l1StandardBridge: {
                    "1": { address: "0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1" };
                };
                l2CrossDomainMessenger: {
                    address: "0x4200000000000000000000000000000000000007";
                };
                l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                l2OutputOracle: {
                    "1": { address: "0xdfe97868233d1aa22e815a266982f2cf17685a27" };
                };
                l2StandardBridge: {
                    address: "0x4200000000000000000000000000000000000010";
                };
                l2ToL1MessagePasser: {
                    address: "0x4200000000000000000000000000000000000016";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 4286263;
                };
                portal: {
                    "1": { address: "0xbEb5Fc579115071764c7423A4f12eDde41f106Ed" };
                };
                QuoterV2: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factory"; type: "address" },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            name: "quoteExactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            name: "quoteExactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amount"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                    ];
                    address: "0x61fFE014bA17989E743c5F6cB21bF9697530B21e";
                };
                SwapRouter02: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factoryV2"; type: "address" },
                                { internalType: "address"; name: "factoryV3"; type: "address" },
                                {
                                    internalType: "address";
                                    name: "_positionManager";
                                    type: "address";
                                },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "data"; type: "bytes" },
                            ];
                            name: "callPositionManager";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "paths"; type: "bytes[]" },
                                { internalType: "uint128[]"; name: "amounts"; type: "uint128[]" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factoryV2";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amount"; type: "uint256" },
                            ];
                            name: "getApprovalType";
                            outputs: readonly [
                                {
                                    internalType: "enum IApproveAndCall.ApprovalType";
                                    name: "";
                                    type: "uint8";
                                },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                    ];
                                    internalType: "struct IApproveAndCall.IncreaseLiquidityParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "increaseLiquidity";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "int24"; name: "tickLower"; type: "int24" },
                                        { internalType: "int24"; name: "tickUpper"; type: "int24" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                    ];
                                    internalType: "struct IApproveAndCall.MintParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "mint";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "bytes32";
                                    name: "previousBlockhash";
                                    type: "bytes32";
                                },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: "results"; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "positionManager";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "pull";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "refundETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermit";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowed";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowedIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                { internalType: "uint256"; name: "amountOutMin"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapExactTokensForTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                { internalType: "uint256"; name: "amountInMax"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapTokensForExactTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "_data"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "wrapETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        { stateMutability: "payable"; type: "receive" },
                    ];
                    address: "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45";
                };
                UniswapV3Factory: {
                    abi: readonly [
                        {
                            inputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: true;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                            ];
                            name: "FeeAmountEnabled";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "oldOwner";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "newOwner";
                                    type: "address";
                                },
                            ];
                            name: "OwnerChanged";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token0";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token1";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: false;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                                {
                                    indexed: false;
                                    internalType: "address";
                                    name: "pool";
                                    type: "address";
                                },
                            ];
                            name: "PoolCreated";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "tokenA"; type: "address" },
                                { internalType: "address"; name: "tokenB"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                            ];
                            name: "createPool";
                            outputs: readonly [
                                { internalType: "address"; name: "pool"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            name: "enableFeeAmount";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "feeAmountTickSpacing";
                            outputs: readonly [{ internalType: "int24"; name: ""; type: "int24" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "getPool";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "owner";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "parameters";
                            outputs: readonly [
                                { internalType: "address"; name: "factory"; type: "address" },
                                { internalType: "address"; name: "token0"; type: "address" },
                                { internalType: "address"; name: "token1"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_owner"; type: "address" },
                            ];
                            name: "setOwner";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x1F98431c8aD98523631AE4a59f267346ea31F984";
                };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x0b2c639c533813f4aa9d7837caf62653d097ff85";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            ensTlds?: readonly string[];
            experimental_preconfirmationTime?: number;
            fees?: ChainFees<undefined>;
            formatters: {
                block: {
                    exclude: undefined | [];
                    format: (
                        args: OpStackRpcBlock<BlockTag, boolean>,
                    ) => {
                        baseFeePerGas: null | bigint;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: `0x${string}`;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: null | `0x${string}`;
                        logsBloom: null | `0x${string}`;
                        miner: `0x${string}`;
                        mixHash: `0x${string}`;
                        nonce: null | `0x${string}`;
                        number: null | bigint;
                        parentBeaconBlockRoot?: `0x${string}`;
                        parentHash: `0x${string}`;
                        receiptsRoot: `0x${string}`;
                        sealFields: `0x${string}`[];
                        sha3Uncles: `0x${string}`;
                        size: bigint;
                        stateRoot: `0x${string}`;
                        timestamp: bigint;
                        totalDifficulty: null | bigint;
                        transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                        transactionsRoot: `0x${string}`;
                        uncles: `0x${string}`[];
                        withdrawals?: Withdrawal[];
                        withdrawalsRoot?: `0x${string}`;
                    };
                    type: "block";
                };
                transaction: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransaction<boolean>,
                    ) =>
                        | {
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: boolean;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: bigint;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash: `0x${string}`;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "deposit";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList?: undefined;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId?: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "legacy";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity?: undefined;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip2930";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip1559";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes: readonly `0x${string}`[];
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas: bigint;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip4844";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList: SignedAuthorizationList<number>;
                            blobVersionedHashes?: undefined;
                            blockHash: null | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip7702";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        };
                    type: "transaction";
                };
                transactionReceipt: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransactionReceipt,
                    ) => {
                        blobGasPrice?: bigint;
                        blobGasUsed?: bigint;
                        blockHash: `0x${string}`;
                        blockNumber: bigint;
                        contractAddress: undefined | null | `0x${string}`;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: `0x${string}`;
                        gasUsed: bigint;
                        l1Fee: null | bigint;
                        l1FeeScalar: null | number;
                        l1GasPrice: null | bigint;
                        l1GasUsed: null | bigint;
                        logs: Log<
                            bigint,
                            number,
                            false,
                            undefined,
                            undefined,
                            undefined,
                            undefined,
                        >[];
                        logsBloom: `0x${string}`;
                        root?: `0x${string}`;
                        status: "success"
                        | "reverted";
                        to: null | `0x${string}`;
                        transactionHash: `0x${string}`;
                        transactionIndex: number;
                        type: TransactionType;
                    };
                    type: "transactionReceipt";
                };
            };
            id: 10;
            name: "OP Mainnet";
            nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
            rpcUrls: { default: { http: readonly ["https://mainnet.optimism.io"] } };
            serializers: {
                transaction: (
                    transaction: OpStackTransactionSerializable,
                    signature?: Signature,
                ) =>
                    | `0x02${string}`
                    | `0x01${string}`
                    | `0x03${string}`
                    | `0x04${string}`
                    | TransactionSerializedLegacy
                    | `0x7e${string}`;
            };
            sourceId: 1;
            testnet?: boolean;
        },
        {
            blockchainId: "MATIC";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api.polygonscan.com/api";
                    name: "PolygonScan";
                    url: "https://polygonscan.com";
                };
            };
            blockTime?: number;
            contracts: {
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 25770160;
                };
                QuoterV2: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factory"; type: "address" },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            name: "quoteExactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            name: "quoteExactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amount"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                    ];
                    address: "0x61fFE014bA17989E743c5F6cB21bF9697530B21e";
                };
                SwapRouter02: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factoryV2"; type: "address" },
                                { internalType: "address"; name: "factoryV3"; type: "address" },
                                {
                                    internalType: "address";
                                    name: "_positionManager";
                                    type: "address";
                                },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "data"; type: "bytes" },
                            ];
                            name: "callPositionManager";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "paths"; type: "bytes[]" },
                                { internalType: "uint128[]"; name: "amounts"; type: "uint128[]" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factoryV2";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amount"; type: "uint256" },
                            ];
                            name: "getApprovalType";
                            outputs: readonly [
                                {
                                    internalType: "enum IApproveAndCall.ApprovalType";
                                    name: "";
                                    type: "uint8";
                                },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                    ];
                                    internalType: "struct IApproveAndCall.IncreaseLiquidityParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "increaseLiquidity";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "int24"; name: "tickLower"; type: "int24" },
                                        { internalType: "int24"; name: "tickUpper"; type: "int24" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                    ];
                                    internalType: "struct IApproveAndCall.MintParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "mint";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "bytes32";
                                    name: "previousBlockhash";
                                    type: "bytes32";
                                },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: "results"; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "positionManager";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "pull";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "refundETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermit";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowed";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowedIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                { internalType: "uint256"; name: "amountOutMin"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapExactTokensForTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                { internalType: "uint256"; name: "amountInMax"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapTokensForExactTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "_data"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "wrapETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        { stateMutability: "payable"; type: "receive" },
                    ];
                    address: "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45";
                };
                UniswapV3Factory: {
                    abi: readonly [
                        {
                            inputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: true;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                            ];
                            name: "FeeAmountEnabled";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "oldOwner";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "newOwner";
                                    type: "address";
                                },
                            ];
                            name: "OwnerChanged";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token0";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token1";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: false;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                                {
                                    indexed: false;
                                    internalType: "address";
                                    name: "pool";
                                    type: "address";
                                },
                            ];
                            name: "PoolCreated";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "tokenA"; type: "address" },
                                { internalType: "address"; name: "tokenB"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                            ];
                            name: "createPool";
                            outputs: readonly [
                                { internalType: "address"; name: "pool"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            name: "enableFeeAmount";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "feeAmountTickSpacing";
                            outputs: readonly [{ internalType: "int24"; name: ""; type: "int24" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "getPool";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "owner";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "parameters";
                            outputs: readonly [
                                { internalType: "address"; name: "factory"; type: "address" },
                                { internalType: "address"; name: "token0"; type: "address" },
                                { internalType: "address"; name: "token1"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_owner"; type: "address" },
                            ];
                            name: "setOwner";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x1F98431c8aD98523631AE4a59f267346ea31F984";
                };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            ensTlds?: readonly string[];
            experimental_preconfirmationTime?: number;
            fees?: ChainFees<undefined>;
            formatters?: undefined;
            id: 137;
            name: "Polygon";
            nativeCurrency: { decimals: 18; name: "POL"; symbol: "POL" };
            rpcUrls: { default: { http: readonly ["https://polygon-rpc.com"] } };
            serializers?: ChainSerializers<
                undefined,
                TransactionSerializable<bigint, number>,
            >;
            sourceId?: number;
            testnet?: boolean;
        },
        {
            blockchainId: "UNI-SEPOLIA";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api-sepolia.uniscan.xyz/api";
                    name: "Uniscan";
                    url: "https://sepolia.uniscan.xyz";
                };
            };
            blockTime: 2000;
            contracts: {
                disputeGameFactory: {
                    "11155111": { address: "0xeff73e5aa3B9AEC32c659Aa3E00444d20a84394b" };
                };
                gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                l1Block: { address: "0x4200000000000000000000000000000000000015" };
                l1StandardBridge: {
                    "11155111": { address: "0xea58fcA6849d79EAd1f26608855c2D6407d54Ce2" };
                };
                l2CrossDomainMessenger: {
                    address: "0x4200000000000000000000000000000000000007";
                };
                l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                l2StandardBridge: {
                    address: "0x4200000000000000000000000000000000000010";
                };
                l2ToL1MessagePasser: {
                    address: "0x4200000000000000000000000000000000000016";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 0;
                };
                portal: {
                    "11155111": { address: "0x0d83dab629f0e0F9d36c0Cbc89B69a489f0751bD" };
                };
                QuoterV2: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factory"; type: "address" },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            name: "quoteExactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            name: "quoteExactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amount"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                    ];
                    address: "0x6Dd37329A1A225a6Fca658265D460423DCafBF89";
                };
                SwapRouter02: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factoryV2"; type: "address" },
                                { internalType: "address"; name: "factoryV3"; type: "address" },
                                {
                                    internalType: "address";
                                    name: "_positionManager";
                                    type: "address";
                                },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "data"; type: "bytes" },
                            ];
                            name: "callPositionManager";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "paths"; type: "bytes[]" },
                                { internalType: "uint128[]"; name: "amounts"; type: "uint128[]" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factoryV2";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amount"; type: "uint256" },
                            ];
                            name: "getApprovalType";
                            outputs: readonly [
                                {
                                    internalType: "enum IApproveAndCall.ApprovalType";
                                    name: "";
                                    type: "uint8";
                                },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                    ];
                                    internalType: "struct IApproveAndCall.IncreaseLiquidityParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "increaseLiquidity";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "int24"; name: "tickLower"; type: "int24" },
                                        { internalType: "int24"; name: "tickUpper"; type: "int24" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                    ];
                                    internalType: "struct IApproveAndCall.MintParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "mint";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "bytes32";
                                    name: "previousBlockhash";
                                    type: "bytes32";
                                },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: "results"; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "positionManager";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "pull";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "refundETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermit";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowed";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowedIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                { internalType: "uint256"; name: "amountOutMin"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapExactTokensForTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                { internalType: "uint256"; name: "amountInMax"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapTokensForExactTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "_data"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "wrapETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        { stateMutability: "payable"; type: "receive" },
                    ];
                    address: "0xd1AAE39293221B77B0C71fBD6dCb7Ea29Bb5B166";
                };
                UniswapV3Factory: {
                    abi: readonly [
                        {
                            inputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: true;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                            ];
                            name: "FeeAmountEnabled";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "oldOwner";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "newOwner";
                                    type: "address";
                                },
                            ];
                            name: "OwnerChanged";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token0";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token1";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: false;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                                {
                                    indexed: false;
                                    internalType: "address";
                                    name: "pool";
                                    type: "address";
                                },
                            ];
                            name: "PoolCreated";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "tokenA"; type: "address" },
                                { internalType: "address"; name: "tokenB"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                            ];
                            name: "createPool";
                            outputs: readonly [
                                { internalType: "address"; name: "pool"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            name: "enableFeeAmount";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "feeAmountTickSpacing";
                            outputs: readonly [{ internalType: "int24"; name: ""; type: "int24" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "getPool";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "owner";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "parameters";
                            outputs: readonly [
                                { internalType: "address"; name: "factory"; type: "address" },
                                { internalType: "address"; name: "token0"; type: "address" },
                                { internalType: "address"; name: "token1"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_owner"; type: "address" },
                            ];
                            name: "setOwner";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x1F98431c8aD98523631AE4a59f267346ea31F984";
                };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x31d0220469e10c4E71834a79b1f276d740d3768F";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            ensTlds?: readonly string[];
            experimental_preconfirmationTime?: number;
            fees?: ChainFees<undefined>;
            formatters: {
                block: {
                    exclude: undefined | [];
                    format: (
                        args: OpStackRpcBlock<BlockTag, boolean>,
                    ) => {
                        baseFeePerGas: null | bigint;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: `0x${string}`;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: null | `0x${string}`;
                        logsBloom: null | `0x${string}`;
                        miner: `0x${string}`;
                        mixHash: `0x${string}`;
                        nonce: null | `0x${string}`;
                        number: null | bigint;
                        parentBeaconBlockRoot?: `0x${string}`;
                        parentHash: `0x${string}`;
                        receiptsRoot: `0x${string}`;
                        sealFields: `0x${string}`[];
                        sha3Uncles: `0x${string}`;
                        size: bigint;
                        stateRoot: `0x${string}`;
                        timestamp: bigint;
                        totalDifficulty: null | bigint;
                        transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                        transactionsRoot: `0x${string}`;
                        uncles: `0x${string}`[];
                        withdrawals?: Withdrawal[];
                        withdrawalsRoot?: `0x${string}`;
                    };
                    type: "block";
                };
                transaction: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransaction<boolean>,
                    ) =>
                        | {
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: boolean;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: bigint;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash: `0x${string}`;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "deposit";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList?: undefined;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId?: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "legacy";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity?: undefined;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip2930";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip1559";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes: readonly `0x${string}`[];
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas: bigint;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip4844";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList: SignedAuthorizationList<number>;
                            blobVersionedHashes?: undefined;
                            blockHash: null | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip7702";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        };
                    type: "transaction";
                };
                transactionReceipt: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransactionReceipt,
                    ) => {
                        blobGasPrice?: bigint;
                        blobGasUsed?: bigint;
                        blockHash: `0x${string}`;
                        blockNumber: bigint;
                        contractAddress: undefined | null | `0x${string}`;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: `0x${string}`;
                        gasUsed: bigint;
                        l1Fee: null | bigint;
                        l1FeeScalar: null | number;
                        l1GasPrice: null | bigint;
                        l1GasUsed: null | bigint;
                        logs: Log<
                            bigint,
                            number,
                            false,
                            undefined,
                            undefined,
                            undefined,
                            undefined,
                        >[];
                        logsBloom: `0x${string}`;
                        root?: `0x${string}`;
                        status: "success"
                        | "reverted";
                        to: null | `0x${string}`;
                        transactionHash: `0x${string}`;
                        transactionIndex: number;
                        type: TransactionType;
                    };
                    type: "transactionReceipt";
                };
            };
            id: 1301;
            name: "Unichain Sepolia";
            nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
            rpcUrls: { default: { http: readonly ["https://sepolia.unichain.org"] } };
            serializers: {
                transaction: (
                    transaction: OpStackTransactionSerializable,
                    signature?: Signature,
                ) =>
                    | `0x02${string}`
                    | `0x01${string}`
                    | `0x03${string}`
                    | `0x04${string}`
                    | TransactionSerializedLegacy
                    | `0x7e${string}`;
            };
            sourceId: 11155111;
            testnet: true;
        },
        {
            blockchainId: "UNI";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api.uniscan.xyz/api";
                    name: "Uniscan";
                    url: "https://uniscan.xyz";
                };
            };
            blockTime: 2000;
            contracts: {
                disputeGameFactory: {
                    "1": { address: "0x2F12d621a16e2d3285929C9996f478508951dFe4" };
                };
                gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                l1Block: { address: "0x4200000000000000000000000000000000000015" };
                l1StandardBridge: {
                    "1": { address: "0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA" };
                };
                l2CrossDomainMessenger: {
                    address: "0x4200000000000000000000000000000000000007";
                };
                l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                l2StandardBridge: {
                    address: "0x4200000000000000000000000000000000000010";
                };
                l2ToL1MessagePasser: {
                    address: "0x4200000000000000000000000000000000000016";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 0;
                };
                portal: {
                    "1": { address: "0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2" };
                };
                QuoterV2: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factory"; type: "address" },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            name: "quoteExactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            name: "quoteExactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160[]";
                                    name: "sqrtPriceX96AfterList";
                                    type: "uint160[]";
                                },
                                {
                                    internalType: "uint32[]";
                                    name: "initializedTicksCrossedList";
                                    type: "uint32[]";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint256"; name: "amount"; type: "uint256" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IQuoterV2.QuoteExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "quoteExactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                {
                                    internalType: "uint160";
                                    name: "sqrtPriceX96After";
                                    type: "uint160";
                                },
                                {
                                    internalType: "uint32";
                                    name: "initializedTicksCrossed";
                                    type: "uint32";
                                },
                                { internalType: "uint256"; name: "gasEstimate"; type: "uint256" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                    ];
                    address: "0x385a5cf5f83e99f7bb2852b6a19c3538b9fa7658";
                };
                SwapRouter02: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_factoryV2"; type: "address" },
                                { internalType: "address"; name: "factoryV3"; type: "address" },
                                {
                                    internalType: "address";
                                    name: "_positionManager";
                                    type: "address";
                                },
                                { internalType: "address"; name: "_WETH9"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            inputs: readonly [];
                            name: "WETH9";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMax";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                            ];
                            name: "approveZeroThenMaxMinusOne";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "data"; type: "bytes" },
                            ];
                            name: "callPositionManager";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "paths"; type: "bytes[]" },
                                { internalType: "uint128[]"; name: "amounts"; type: "uint128[]" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes"; name: "path"; type: "bytes" },
                                {
                                    internalType: "uint24";
                                    name: "maximumTickDivergence";
                                    type: "uint24";
                                },
                                { internalType: "uint32"; name: "secondsAgo"; type: "uint32" },
                            ];
                            name: "checkOracleSlippage";
                            outputs: readonly [];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountOutMinimum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactInputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactInputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "bytes"; name: "path"; type: "bytes" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutput";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "tokenIn"; type: "address" },
                                        { internalType: "address"; name: "tokenOut"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                        { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                        {
                                            internalType: "uint256";
                                            name: "amountInMaximum";
                                            type: "uint256";
                                        },
                                        {
                                            internalType: "uint160";
                                            name: "sqrtPriceLimitX96";
                                            type: "uint160";
                                        },
                                    ];
                                    internalType: "struct IV3SwapRouter.ExactOutputSingleParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "exactOutputSingle";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factory";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "factoryV2";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amount"; type: "uint256" },
                            ];
                            name: "getApprovalType";
                            outputs: readonly [
                                {
                                    internalType: "enum IApproveAndCall.ApprovalType";
                                    name: "";
                                    type: "uint8";
                                },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                    ];
                                    internalType: "struct IApproveAndCall.IncreaseLiquidityParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "increaseLiquidity";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    components: readonly [
                                        { internalType: "address"; name: "token0"; type: "address" },
                                        { internalType: "address"; name: "token1"; type: "address" },
                                        { internalType: "uint24"; name: "fee"; type: "uint24" },
                                        { internalType: "int24"; name: "tickLower"; type: "int24" },
                                        { internalType: "int24"; name: "tickUpper"; type: "int24" },
                                        { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                                        { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                                        { internalType: "address"; name: "recipient"; type: "address" },
                                    ];
                                    internalType: "struct IApproveAndCall.MintParams";
                                    name: "params";
                                    type: "tuple";
                                },
                            ];
                            name: "mint";
                            outputs: readonly [
                                { internalType: "bytes"; name: "result"; type: "bytes" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "bytes32";
                                    name: "previousBlockhash";
                                    type: "bytes32";
                                },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: ""; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                            ];
                            name: "multicall";
                            outputs: readonly [
                                { internalType: "bytes[]"; name: "results"; type: "bytes[]" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "positionManager";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "pull";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "refundETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermit";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowed";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                { internalType: "uint256"; name: "expiry"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitAllowedIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                                { internalType: "uint256"; name: "deadline"; type: "uint256" },
                                { internalType: "uint8"; name: "v"; type: "uint8" },
                                { internalType: "bytes32"; name: "r"; type: "bytes32" },
                                { internalType: "bytes32"; name: "s"; type: "bytes32" },
                            ];
                            name: "selfPermitIfNecessary";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                                { internalType: "uint256"; name: "amountOutMin"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapExactTokensForTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                                { internalType: "uint256"; name: "amountInMax"; type: "uint256" },
                                { internalType: "address[]"; name: "path"; type: "address[]" },
                                { internalType: "address"; name: "to"; type: "address" },
                            ];
                            name: "swapTokensForExactTokens";
                            outputs: readonly [
                                { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                            ];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                            ];
                            name: "sweepToken";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "token"; type: "address" },
                                { internalType: "uint256"; name: "amountMinimum"; type: "uint256" },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "sweepTokenWithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                                { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                                { internalType: "bytes"; name: "_data"; type: "bytes" },
                            ];
                            name: "uniswapV3SwapCallback";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                            ];
                            name: "unwrapWETH9";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "address"; name: "recipient"; type: "address" },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                {
                                    internalType: "uint256";
                                    name: "amountMinimum";
                                    type: "uint256";
                                },
                                { internalType: "uint256"; name: "feeBips"; type: "uint256" },
                                { internalType: "address"; name: "feeRecipient"; type: "address" },
                            ];
                            name: "unwrapWETH9WithFee";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint256"; name: "value"; type: "uint256" },
                            ];
                            name: "wrapETH";
                            outputs: readonly [];
                            stateMutability: "payable";
                            type: "function";
                        },
                        { stateMutability: "payable"; type: "receive" },
                    ];
                    address: "0x73855d06de49d0fe4a9c42636ba96c62da12ff9c";
                };
                UniswapV3Factory: {
                    abi: readonly [
                        {
                            inputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "constructor";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: true;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                            ];
                            name: "FeeAmountEnabled";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "oldOwner";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "newOwner";
                                    type: "address";
                                },
                            ];
                            name: "OwnerChanged";
                            type: "event";
                        },
                        {
                            anonymous: false;
                            inputs: readonly [
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token0";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "address";
                                    name: "token1";
                                    type: "address";
                                },
                                {
                                    indexed: true;
                                    internalType: "uint24";
                                    name: "fee";
                                    type: "uint24";
                                },
                                {
                                    indexed: false;
                                    internalType: "int24";
                                    name: "tickSpacing";
                                    type: "int24";
                                },
                                {
                                    indexed: false;
                                    internalType: "address";
                                    name: "pool";
                                    type: "address";
                                },
                            ];
                            name: "PoolCreated";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "tokenA"; type: "address" },
                                { internalType: "address"; name: "tokenB"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                            ];
                            name: "createPool";
                            outputs: readonly [
                                { internalType: "address"; name: "pool"; type: "address" },
                            ];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            name: "enableFeeAmount";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "feeAmountTickSpacing";
                            outputs: readonly [{ internalType: "int24"; name: ""; type: "int24" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "address"; name: ""; type: "address" },
                                { internalType: "uint24"; name: ""; type: "uint24" },
                            ];
                            name: "getPool";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "owner";
                            outputs: readonly [
                                { internalType: "address"; name: ""; type: "address" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "parameters";
                            outputs: readonly [
                                { internalType: "address"; name: "factory"; type: "address" },
                                { internalType: "address"; name: "token0"; type: "address" },
                                { internalType: "address"; name: "token1"; type: "address" },
                                { internalType: "uint24"; name: "fee"; type: "uint24" },
                                { internalType: "int24"; name: "tickSpacing"; type: "int24" },
                            ];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { internalType: "address"; name: "_owner"; type: "address" },
                            ];
                            name: "setOwner";
                            outputs: readonly [];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x1f98400000000000000000000000000000000003";
                };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x078D782b760474a361dDA0AF3839290b0EF57AD6";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            ensTlds?: readonly string[];
            experimental_preconfirmationTime?: number;
            fees?: ChainFees<undefined>;
            formatters: {
                block: {
                    exclude: undefined | [];
                    format: (
                        args: OpStackRpcBlock<BlockTag, boolean>,
                    ) => {
                        baseFeePerGas: null | bigint;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: `0x${string}`;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: null | `0x${string}`;
                        logsBloom: null | `0x${string}`;
                        miner: `0x${string}`;
                        mixHash: `0x${string}`;
                        nonce: null | `0x${string}`;
                        number: null | bigint;
                        parentBeaconBlockRoot?: `0x${string}`;
                        parentHash: `0x${string}`;
                        receiptsRoot: `0x${string}`;
                        sealFields: `0x${string}`[];
                        sha3Uncles: `0x${string}`;
                        size: bigint;
                        stateRoot: `0x${string}`;
                        timestamp: bigint;
                        totalDifficulty: null | bigint;
                        transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                        transactionsRoot: `0x${string}`;
                        uncles: `0x${string}`[];
                        withdrawals?: Withdrawal[];
                        withdrawalsRoot?: `0x${string}`;
                    };
                    type: "block";
                };
                transaction: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransaction<boolean>,
                    ) =>
                        | {
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: boolean;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: bigint;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash: `0x${string}`;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "deposit";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList?: undefined;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId?: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "legacy";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity?: undefined;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip2930";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip1559";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes: readonly `0x${string}`[];
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas: bigint;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip4844";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList: SignedAuthorizationList<number>;
                            blobVersionedHashes?: undefined;
                            blockHash: null | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip7702";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        };
                    type: "transaction";
                };
                transactionReceipt: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransactionReceipt,
                    ) => {
                        blobGasPrice?: bigint;
                        blobGasUsed?: bigint;
                        blockHash: `0x${string}`;
                        blockNumber: bigint;
                        contractAddress: undefined | null | `0x${string}`;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: `0x${string}`;
                        gasUsed: bigint;
                        l1Fee: null | bigint;
                        l1FeeScalar: null | number;
                        l1GasPrice: null | bigint;
                        l1GasUsed: null | bigint;
                        logs: Log<
                            bigint,
                            number,
                            false,
                            undefined,
                            undefined,
                            undefined,
                            undefined,
                        >[];
                        logsBloom: `0x${string}`;
                        root?: `0x${string}`;
                        status: "success"
                        | "reverted";
                        to: null | `0x${string}`;
                        transactionHash: `0x${string}`;
                        transactionIndex: number;
                        type: TransactionType;
                    };
                    type: "transactionReceipt";
                };
            };
            id: 130;
            name: "Unichain";
            nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
            rpcUrls: { default: { http: readonly ["https://mainnet.unichain.org/"] } };
            serializers: {
                transaction: (
                    transaction: OpStackTransactionSerializable,
                    signature?: Signature,
                ) =>
                    | `0x02${string}`
                    | `0x01${string}`
                    | `0x03${string}`
                    | `0x04${string}`
                    | TransactionSerializedLegacy
                    | `0x7e${string}`;
            };
            sourceId: 1;
            testnet?: boolean;
        },
    ] = ...