Variable testnetMcUniswapSwapRouterConst

testnetMcUniswapSwapRouter: MultichainContract<
    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" },
    ],
> = ...