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

    Variable SUPPORTED_CHAINSConst

    SUPPORTED_CHAINS: readonly [
        {
            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[];
            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: "ETH-SEPOLIA";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api-sepolia.etherscan.io/api";
                    name: "Etherscan";
                    url: "https://sepolia.etherscan.io";
                };
            };
            blockTime?: number;
            contracts: {
                ensRegistry: { address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e" };
                ensUniversalResolver: {
                    address: "0xc8Af999e38273D658BE1b921b88A9Ddf005769cC";
                    blockCreated: 5317080;
                };
                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[];
            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: "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[];
            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;
        },
    ] = ...