```\n    // If both eth and btc swap amounts are not beyond the threshold then no flashloan needs to be executed | case 1\n    if (btcAssetAmount == 0 && ethAssetAmount == 0) return;\n\n    if (repayDebtBtc && repayDebtEth) {\n        // case where both the token assets are USDC\n        // only one entry required which is combined asset amount for both tokens\n        assets = new address[](1);\n        amounts = new uint256[](1);\n\n        assets[0] = address(state.usdc);\n        amounts[0] = (btcAssetAmount + ethAssetAmount);\n    } else if (btcAssetAmount == 0 || ethAssetAmount == 0) {\n        // Exactly one would be true since case-1 excluded (both false) | case-2\n        // One token amount = 0 and other token amount > 0\n        // only one entry required for the non-zero amount token\n        assets = new address[](1);\n        amounts = new uint256[](1);\n\n        if (btcAssetAmount == 0) {\n            assets[0] = (repayDebtBtc ? address(state.usdc) : address(state.wbtc));\n            amounts[0] = btcAssetAmount;\n        } else {\n            assets[0] = (repayDebtEth ? address(state.usdc) : address(state.weth));\n            amounts[0] = ethAssetAmount;\n        }\n```\n