@binance/crypto-loan 4.0.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/crypto-loan.ts","../package.json","../src/rest-api/index.ts","../src/rest-api/modules/flexible-rate-api.ts","../src/rest-api/modules/stable-rate-api.ts","../src/rest-api/rest-api.ts"],"sourcesContent":["export { CryptoLoan, ConfigurationCryptoLoan } from './crypto-loan';\nexport * as CryptoLoanRestAPI from './rest-api';\n\nexport {\n CRYPTO_LOAN_REST_API_PROD_URL,\n ConnectorClientError,\n RequiredError,\n UnauthorizedError,\n ForbiddenError,\n TooManyRequestsError,\n RateLimitBanError,\n ServerError,\n NetworkError,\n NotFoundError,\n BadRequestError,\n} from '@binance/common';\n","import { platform, arch } from 'os';\nimport { ConfigurationRestAPI, CRYPTO_LOAN_REST_API_PROD_URL } from '@binance/common';\nimport { name, version } from '../package.json';\nimport { RestAPI } from './rest-api';\n\nexport interface ConfigurationCryptoLoan {\n configurationRestAPI?: ConfigurationRestAPI;\n}\n\nexport class CryptoLoan {\n public restAPI!: RestAPI;\n\n constructor(config: ConfigurationCryptoLoan) {\n if (config?.configurationRestAPI) {\n const configRestAPI = new ConfigurationRestAPI(config.configurationRestAPI);\n configRestAPI.basePath = configRestAPI.basePath || CRYPTO_LOAN_REST_API_PROD_URL;\n configRestAPI.baseOptions = configRestAPI.baseOptions || {};\n configRestAPI.baseOptions.headers = {\n ...(configRestAPI.baseOptions.headers || {}),\n 'User-Agent': `${name}/${version} (Node.js/${process.version}; ${platform()}; ${arch()})`,\n };\n this.restAPI = new RestAPI(configRestAPI);\n }\n }\n}\n","{\n \"name\": \"@binance/crypto-loan\",\n \"description\": \"Official Binance Crypto Loan Connector - A lightweight library that provides a convenient interface to Binance's Crypto Loan REST API.\",\n \"version\": \"4.0.0\",\n \"main\": \"./dist/index.js\",\n \"module\": \"./dist/index.mjs\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"require\": \"./dist/index.js\",\n \"import\": \"./dist/index.mjs\"\n }\n },\n \"scripts\": {\n \"prepublishOnly\": \"npm run build\",\n \"build\": \"tsup\",\n \"typecheck\": \"tsc --noEmit\",\n \"clean\": \"rm -rf dist\",\n \"test\": \"npx jest --maxWorkers=4 --bail\",\n \"test:watch\": \"npx jest --watch\",\n \"format\": \"npx prettier --ignore-path .prettierignore --write .\",\n \"lint\": \"npx eslint '**/*.ts' --fix\"\n },\n \"keywords\": [\n \"Binance\",\n \"API\",\n \"Crypto Loan\",\n \"Connector\",\n \"REST\",\n \"Trading\"\n ],\n \"author\": \"Binance\",\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/binance/binance-connector-js.git\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/binance/binance-connector-js/issues\"\n },\n \"homepage\": \"https://github.com/binance/binance-connector-js#readme\",\n \"files\": [\n \"dist\"\n ],\n \"devDependencies\": {\n \"@types/jest\": \"^29.5.4\",\n \"@types/node\": \"^20.17.24\",\n \"eslint\": \"8.57.0\",\n \"jest\": \"^29.6.4\",\n \"prettier\": \"^3.3.3\",\n \"ts-jest\": \"^29.1.1\",\n \"ts-node\": \"^10.9.1\",\n \"tsup\": \"^8.4.0\",\n \"typescript\": \"^5.7.2\",\n \"typescript-eslint\": \"^8.24.0\"\n },\n \"dependencies\": {\n \"@binance/common\": \"1.0.2\",\n \"axios\": \"^1.7.4\"\n }\n}\n","/**\n * Binance Crypto Loan REST API\n *\n * OpenAPI Specification for the Binance Crypto Loan REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nexport * from './types';\nexport * from './modules';\nexport * from './rest-api';\n","/**\n * Binance Crypto Loan REST API\n *\n * OpenAPI Specification for the Binance Crypto Loan REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n ConfigurationRestAPI,\n TimeUnit,\n RestApiResponse,\n assertParamExists,\n sendRequest,\n type RequestArgs,\n} from '@binance/common';\nimport type {\n CheckCollateralRepayRateResponse,\n FlexibleLoanAdjustLtvResponse,\n FlexibleLoanBorrowResponse,\n FlexibleLoanCollateralRepaymentResponse,\n FlexibleLoanRepayResponse,\n GetFlexibleLoanAssetsDataResponse,\n GetFlexibleLoanBorrowHistoryResponse,\n GetFlexibleLoanCollateralAssetsDataResponse,\n GetFlexibleLoanLiquidationHistoryResponse,\n GetFlexibleLoanLtvAdjustmentHistoryResponse,\n GetFlexibleLoanOngoingOrdersResponse,\n GetFlexibleLoanRepaymentHistoryResponse,\n} from '../types';\n\n/**\n * FlexibleRateApi - axios parameter creator\n */\nconst FlexibleRateApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n return {\n /**\n *\n * Weight: 6000\n *\n * @summary Check Collateral Repay Rate (USER_DATA)\n * @param {string} loanCoin\n * @param {string} collateralCoin\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n checkCollateralRepayRate: async (\n loanCoin: string,\n collateralCoin: string,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'loanCoin' is not null or undefined\n assertParamExists('checkCollateralRepayRate', 'loanCoin', loanCoin);\n // verify required parameter 'collateralCoin' is not null or undefined\n assertParamExists('checkCollateralRepayRate', 'collateralCoin', collateralCoin);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/repay/rate',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Flexible Loan Adjust LTV\n *\n * API Key needs Spot & Margin Trading permission for this endpoint\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Adjust LTV(TRADE)\n * @param {string} loanCoin\n * @param {string} collateralCoin\n * @param {number} adjustmentAmount\n * @param {string} direction \"ADDITIONAL\", \"REDUCED\"\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n flexibleLoanAdjustLtv: async (\n loanCoin: string,\n collateralCoin: string,\n adjustmentAmount: number,\n direction: string,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'loanCoin' is not null or undefined\n assertParamExists('flexibleLoanAdjustLtv', 'loanCoin', loanCoin);\n // verify required parameter 'collateralCoin' is not null or undefined\n assertParamExists('flexibleLoanAdjustLtv', 'collateralCoin', collateralCoin);\n // verify required parameter 'adjustmentAmount' is not null or undefined\n assertParamExists('flexibleLoanAdjustLtv', 'adjustmentAmount', adjustmentAmount);\n // verify required parameter 'direction' is not null or undefined\n assertParamExists('flexibleLoanAdjustLtv', 'direction', direction);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (adjustmentAmount !== undefined && adjustmentAmount !== null) {\n localVarQueryParameter['adjustmentAmount'] = adjustmentAmount;\n }\n\n if (direction !== undefined && direction !== null) {\n localVarQueryParameter['direction'] = direction;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/adjust/ltv',\n method: 'POST',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Borrow Flexible Loan\n *\n *\n * Only available for master account\n * You can customize LTV by entering loanAmount and collateralAmount.\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Borrow(TRADE)\n * @param {string} loanCoin\n * @param {string} collateralCoin\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n flexibleLoanBorrow: async (\n loanCoin: string,\n collateralCoin: string,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'loanCoin' is not null or undefined\n assertParamExists('flexibleLoanBorrow', 'loanCoin', loanCoin);\n // verify required parameter 'collateralCoin' is not null or undefined\n assertParamExists('flexibleLoanBorrow', 'collateralCoin', collateralCoin);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/borrow',\n method: 'POST',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Collateral Repayment (TRADE)\n * @param {string} loanCoin\n * @param {string} collateralCoin\n * @param {number} repayAmount repay amount of loanCoin\n * @param {boolean} [fullRepayment] Default: FALSE. TRUE: Full repayment; FALSE: Partial repayment, based on loanAmount\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n flexibleLoanCollateralRepayment: async (\n loanCoin: string,\n collateralCoin: string,\n repayAmount: number,\n fullRepayment?: boolean,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'loanCoin' is not null or undefined\n assertParamExists('flexibleLoanCollateralRepayment', 'loanCoin', loanCoin);\n // verify required parameter 'collateralCoin' is not null or undefined\n assertParamExists('flexibleLoanCollateralRepayment', 'collateralCoin', collateralCoin);\n // verify required parameter 'repayAmount' is not null or undefined\n assertParamExists('flexibleLoanCollateralRepayment', 'repayAmount', repayAmount);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (repayAmount !== undefined && repayAmount !== null) {\n localVarQueryParameter['repayAmount'] = repayAmount;\n }\n\n if (fullRepayment !== undefined && fullRepayment !== null) {\n localVarQueryParameter['fullRepayment'] = fullRepayment;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/repay/collateral',\n method: 'POST',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Flexible Loan Repay\n *\n *\n * repayAmount is mandatory even fullRepayment = FALSE\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Repay(TRADE)\n * @param {string} loanCoin\n * @param {string} collateralCoin\n * @param {number} repayAmount repay amount of loanCoin\n * @param {boolean} [collateralReturn] Default: TRUE. TRUE: Return extra collateral to spot account; FALSE: Keep extra collateral in the order, and lower LTV.\n * @param {boolean} [fullRepayment] Default: FALSE. TRUE: Full repayment; FALSE: Partial repayment, based on loanAmount\n * @param {number} [repaymentType] Default: 1. 1: Repayment with loan asset; 2: Repayment with collateral\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n flexibleLoanRepay: async (\n loanCoin: string,\n collateralCoin: string,\n repayAmount: number,\n collateralReturn?: boolean,\n fullRepayment?: boolean,\n repaymentType?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'loanCoin' is not null or undefined\n assertParamExists('flexibleLoanRepay', 'loanCoin', loanCoin);\n // verify required parameter 'collateralCoin' is not null or undefined\n assertParamExists('flexibleLoanRepay', 'collateralCoin', collateralCoin);\n // verify required parameter 'repayAmount' is not null or undefined\n assertParamExists('flexibleLoanRepay', 'repayAmount', repayAmount);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (repayAmount !== undefined && repayAmount !== null) {\n localVarQueryParameter['repayAmount'] = repayAmount;\n }\n\n if (collateralReturn !== undefined && collateralReturn !== null) {\n localVarQueryParameter['collateralReturn'] = collateralReturn;\n }\n\n if (fullRepayment !== undefined && fullRepayment !== null) {\n localVarQueryParameter['fullRepayment'] = fullRepayment;\n }\n\n if (repaymentType !== undefined && repaymentType !== null) {\n localVarQueryParameter['repaymentType'] = repaymentType;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/repay',\n method: 'POST',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get interest rate and borrow limit of flexible loanable assets. The borrow limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Assets Data(USER_DATA)\n * @param {string} [loanCoin]\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getFlexibleLoanAssetsData: async (\n loanCoin?: string,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/loanable/data',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Flexible Loan Borrow History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Borrow History(USER_DATA)\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [startTime]\n * @param {number} [endTime]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getFlexibleLoanBorrowHistory: async (\n loanCoin?: string,\n collateralCoin?: string,\n startTime?: number,\n endTime?: number,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (startTime !== undefined && startTime !== null) {\n localVarQueryParameter['startTime'] = startTime;\n }\n\n if (endTime !== undefined && endTime !== null) {\n localVarQueryParameter['endTime'] = endTime;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/borrow/history',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get LTV information and collateral limit of flexible loan's collateral assets. The collateral limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Collateral Assets Data(USER_DATA)\n * @param {string} [collateralCoin]\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getFlexibleLoanCollateralAssetsData: async (\n collateralCoin?: string,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/collateral/data',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Liquidation History (USER_DATA)\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [startTime]\n * @param {number} [endTime]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getFlexibleLoanLiquidationHistory: async (\n loanCoin?: string,\n collateralCoin?: string,\n startTime?: number,\n endTime?: number,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (startTime !== undefined && startTime !== null) {\n localVarQueryParameter['startTime'] = startTime;\n }\n\n if (endTime !== undefined && endTime !== null) {\n localVarQueryParameter['endTime'] = endTime;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/liquidation/history',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Flexible Loan LTV Adjustment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan LTV Adjustment History(USER_DATA)\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [startTime]\n * @param {number} [endTime]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getFlexibleLoanLtvAdjustmentHistory: async (\n loanCoin?: string,\n collateralCoin?: string,\n startTime?: number,\n endTime?: number,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (startTime !== undefined && startTime !== null) {\n localVarQueryParameter['startTime'] = startTime;\n }\n\n if (endTime !== undefined && endTime !== null) {\n localVarQueryParameter['endTime'] = endTime;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/ltv/adjustment/history',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Flexible Loan Ongoing Orders\n *\n * Weight: 300\n *\n * @summary Get Flexible Loan Ongoing Orders(USER_DATA)\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getFlexibleLoanOngoingOrders: async (\n loanCoin?: string,\n collateralCoin?: string,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/ongoing/orders',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Flexible Loan Repayment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Repayment History(USER_DATA)\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [startTime]\n * @param {number} [endTime]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getFlexibleLoanRepaymentHistory: async (\n loanCoin?: string,\n collateralCoin?: string,\n startTime?: number,\n endTime?: number,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (startTime !== undefined && startTime !== null) {\n localVarQueryParameter['startTime'] = startTime;\n }\n\n if (endTime !== undefined && endTime !== null) {\n localVarQueryParameter['endTime'] = endTime;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/repay/history',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n };\n};\n\n/**\n * FlexibleRateApi - interface\n * @interface FlexibleRateApi\n */\nexport interface FlexibleRateApiInterface {\n /**\n *\n * Weight: 6000\n *\n * @summary Check Collateral Repay Rate (USER_DATA)\n * @param {CheckCollateralRepayRateRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n checkCollateralRepayRate(\n requestParameters: CheckCollateralRepayRateRequest\n ): Promise<RestApiResponse<CheckCollateralRepayRateResponse>>;\n /**\n * Flexible Loan Adjust LTV\n *\n * API Key needs Spot & Margin Trading permission for this endpoint\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Adjust LTV(TRADE)\n * @param {FlexibleLoanAdjustLtvRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n flexibleLoanAdjustLtv(\n requestParameters: FlexibleLoanAdjustLtvRequest\n ): Promise<RestApiResponse<FlexibleLoanAdjustLtvResponse>>;\n /**\n * Borrow Flexible Loan\n *\n *\n * Only available for master account\n * You can customize LTV by entering loanAmount and collateralAmount.\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Borrow(TRADE)\n * @param {FlexibleLoanBorrowRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n flexibleLoanBorrow(\n requestParameters: FlexibleLoanBorrowRequest\n ): Promise<RestApiResponse<FlexibleLoanBorrowResponse>>;\n /**\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Collateral Repayment (TRADE)\n * @param {FlexibleLoanCollateralRepaymentRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n flexibleLoanCollateralRepayment(\n requestParameters: FlexibleLoanCollateralRepaymentRequest\n ): Promise<RestApiResponse<FlexibleLoanCollateralRepaymentResponse>>;\n /**\n * Flexible Loan Repay\n *\n *\n * repayAmount is mandatory even fullRepayment = FALSE\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Repay(TRADE)\n * @param {FlexibleLoanRepayRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n flexibleLoanRepay(\n requestParameters: FlexibleLoanRepayRequest\n ): Promise<RestApiResponse<FlexibleLoanRepayResponse>>;\n /**\n * Get interest rate and borrow limit of flexible loanable assets. The borrow limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Assets Data(USER_DATA)\n * @param {GetFlexibleLoanAssetsDataRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n getFlexibleLoanAssetsData(\n requestParameters?: GetFlexibleLoanAssetsDataRequest\n ): Promise<RestApiResponse<GetFlexibleLoanAssetsDataResponse>>;\n /**\n * Get Flexible Loan Borrow History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Borrow History(USER_DATA)\n * @param {GetFlexibleLoanBorrowHistoryRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n getFlexibleLoanBorrowHistory(\n requestParameters?: GetFlexibleLoanBorrowHistoryRequest\n ): Promise<RestApiResponse<GetFlexibleLoanBorrowHistoryResponse>>;\n /**\n * Get LTV information and collateral limit of flexible loan's collateral assets. The collateral limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Collateral Assets Data(USER_DATA)\n * @param {GetFlexibleLoanCollateralAssetsDataRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n getFlexibleLoanCollateralAssetsData(\n requestParameters?: GetFlexibleLoanCollateralAssetsDataRequest\n ): Promise<RestApiResponse<GetFlexibleLoanCollateralAssetsDataResponse>>;\n /**\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Liquidation History (USER_DATA)\n * @param {GetFlexibleLoanLiquidationHistoryRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n getFlexibleLoanLiquidationHistory(\n requestParameters?: GetFlexibleLoanLiquidationHistoryRequest\n ): Promise<RestApiResponse<GetFlexibleLoanLiquidationHistoryResponse>>;\n /**\n * Get Flexible Loan LTV Adjustment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan LTV Adjustment History(USER_DATA)\n * @param {GetFlexibleLoanLtvAdjustmentHistoryRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n getFlexibleLoanLtvAdjustmentHistory(\n requestParameters?: GetFlexibleLoanLtvAdjustmentHistoryRequest\n ): Promise<RestApiResponse<GetFlexibleLoanLtvAdjustmentHistoryResponse>>;\n /**\n * Get Flexible Loan Ongoing Orders\n *\n * Weight: 300\n *\n * @summary Get Flexible Loan Ongoing Orders(USER_DATA)\n * @param {GetFlexibleLoanOngoingOrdersRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n getFlexibleLoanOngoingOrders(\n requestParameters?: GetFlexibleLoanOngoingOrdersRequest\n ): Promise<RestApiResponse<GetFlexibleLoanOngoingOrdersResponse>>;\n /**\n * Get Flexible Loan Repayment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Repayment History(USER_DATA)\n * @param {GetFlexibleLoanRepaymentHistoryRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n getFlexibleLoanRepaymentHistory(\n requestParameters?: GetFlexibleLoanRepaymentHistoryRequest\n ): Promise<RestApiResponse<GetFlexibleLoanRepaymentHistoryResponse>>;\n}\n\n/**\n * Request parameters for checkCollateralRepayRate operation in FlexibleRateApi.\n * @interface CheckCollateralRepayRateRequest\n */\nexport interface CheckCollateralRepayRateRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiCheckCollateralRepayRate\n */\n readonly loanCoin: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiCheckCollateralRepayRate\n */\n readonly collateralCoin: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiCheckCollateralRepayRate\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for flexibleLoanAdjustLtv operation in FlexibleRateApi.\n * @interface FlexibleLoanAdjustLtvRequest\n */\nexport interface FlexibleLoanAdjustLtvRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiFlexibleLoanAdjustLtv\n */\n readonly loanCoin: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiFlexibleLoanAdjustLtv\n */\n readonly collateralCoin: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiFlexibleLoanAdjustLtv\n */\n readonly adjustmentAmount: number;\n\n /**\n * \"ADDITIONAL\", \"REDUCED\"\n * @type {string}\n * @memberof FlexibleRateApiFlexibleLoanAdjustLtv\n */\n readonly direction: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiFlexibleLoanAdjustLtv\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for flexibleLoanBorrow operation in FlexibleRateApi.\n * @interface FlexibleLoanBorrowRequest\n */\nexport interface FlexibleLoanBorrowRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiFlexibleLoanBorrow\n */\n readonly loanCoin: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiFlexibleLoanBorrow\n */\n readonly collateralCoin: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiFlexibleLoanBorrow\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for flexibleLoanCollateralRepayment operation in FlexibleRateApi.\n * @interface FlexibleLoanCollateralRepaymentRequest\n */\nexport interface FlexibleLoanCollateralRepaymentRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiFlexibleLoanCollateralRepayment\n */\n readonly loanCoin: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiFlexibleLoanCollateralRepayment\n */\n readonly collateralCoin: string;\n\n /**\n * repay amount of loanCoin\n * @type {number}\n * @memberof FlexibleRateApiFlexibleLoanCollateralRepayment\n */\n readonly repayAmount: number;\n\n /**\n * Default: FALSE. TRUE: Full repayment; FALSE: Partial repayment, based on loanAmount\n * @type {boolean}\n * @memberof FlexibleRateApiFlexibleLoanCollateralRepayment\n */\n readonly fullRepayment?: boolean;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiFlexibleLoanCollateralRepayment\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for flexibleLoanRepay operation in FlexibleRateApi.\n * @interface FlexibleLoanRepayRequest\n */\nexport interface FlexibleLoanRepayRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiFlexibleLoanRepay\n */\n readonly loanCoin: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiFlexibleLoanRepay\n */\n readonly collateralCoin: string;\n\n /**\n * repay amount of loanCoin\n * @type {number}\n * @memberof FlexibleRateApiFlexibleLoanRepay\n */\n readonly repayAmount: number;\n\n /**\n * Default: TRUE. TRUE: Return extra collateral to spot account; FALSE: Keep extra collateral in the order, and lower LTV.\n * @type {boolean}\n * @memberof FlexibleRateApiFlexibleLoanRepay\n */\n readonly collateralReturn?: boolean;\n\n /**\n * Default: FALSE. TRUE: Full repayment; FALSE: Partial repayment, based on loanAmount\n * @type {boolean}\n * @memberof FlexibleRateApiFlexibleLoanRepay\n */\n readonly fullRepayment?: boolean;\n\n /**\n * Default: 1. 1: Repayment with loan asset; 2: Repayment with collateral\n * @type {number}\n * @memberof FlexibleRateApiFlexibleLoanRepay\n */\n readonly repaymentType?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiFlexibleLoanRepay\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getFlexibleLoanAssetsData operation in FlexibleRateApi.\n * @interface GetFlexibleLoanAssetsDataRequest\n */\nexport interface GetFlexibleLoanAssetsDataRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanAssetsData\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanAssetsData\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getFlexibleLoanBorrowHistory operation in FlexibleRateApi.\n * @interface GetFlexibleLoanBorrowHistoryRequest\n */\nexport interface GetFlexibleLoanBorrowHistoryRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanBorrowHistory\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanBorrowHistory\n */\n readonly collateralCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanBorrowHistory\n */\n readonly startTime?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanBorrowHistory\n */\n readonly endTime?: number;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanBorrowHistory\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanBorrowHistory\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanBorrowHistory\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getFlexibleLoanCollateralAssetsData operation in FlexibleRateApi.\n * @interface GetFlexibleLoanCollateralAssetsDataRequest\n */\nexport interface GetFlexibleLoanCollateralAssetsDataRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanCollateralAssetsData\n */\n readonly collateralCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanCollateralAssetsData\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getFlexibleLoanLiquidationHistory operation in FlexibleRateApi.\n * @interface GetFlexibleLoanLiquidationHistoryRequest\n */\nexport interface GetFlexibleLoanLiquidationHistoryRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanLiquidationHistory\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanLiquidationHistory\n */\n readonly collateralCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLiquidationHistory\n */\n readonly startTime?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLiquidationHistory\n */\n readonly endTime?: number;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLiquidationHistory\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLiquidationHistory\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLiquidationHistory\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getFlexibleLoanLtvAdjustmentHistory operation in FlexibleRateApi.\n * @interface GetFlexibleLoanLtvAdjustmentHistoryRequest\n */\nexport interface GetFlexibleLoanLtvAdjustmentHistoryRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanLtvAdjustmentHistory\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanLtvAdjustmentHistory\n */\n readonly collateralCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLtvAdjustmentHistory\n */\n readonly startTime?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLtvAdjustmentHistory\n */\n readonly endTime?: number;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLtvAdjustmentHistory\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLtvAdjustmentHistory\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLtvAdjustmentHistory\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getFlexibleLoanOngoingOrders operation in FlexibleRateApi.\n * @interface GetFlexibleLoanOngoingOrdersRequest\n */\nexport interface GetFlexibleLoanOngoingOrdersRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanOngoingOrders\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanOngoingOrders\n */\n readonly collateralCoin?: string;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanOngoingOrders\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanOngoingOrders\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanOngoingOrders\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getFlexibleLoanRepaymentHistory operation in FlexibleRateApi.\n * @interface GetFlexibleLoanRepaymentHistoryRequest\n */\nexport interface GetFlexibleLoanRepaymentHistoryRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanRepaymentHistory\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanRepaymentHistory\n */\n readonly collateralCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanRepaymentHistory\n */\n readonly startTime?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanRepaymentHistory\n */\n readonly endTime?: number;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanRepaymentHistory\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanRepaymentHistory\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanRepaymentHistory\n */\n readonly recvWindow?: number;\n}\n\n/**\n * FlexibleRateApi - object-oriented interface\n * @class FlexibleRateApi\n */\nexport class FlexibleRateApi implements FlexibleRateApiInterface {\n private readonly configuration: ConfigurationRestAPI;\n private localVarAxiosParamCreator;\n\n constructor(configuration: ConfigurationRestAPI) {\n this.configuration = configuration;\n this.localVarAxiosParamCreator = FlexibleRateApiAxiosParamCreator(configuration);\n }\n\n /**\n *\n * Weight: 6000\n *\n * @summary Check Collateral Repay Rate (USER_DATA)\n * @param {CheckCollateralRepayRateRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CheckCollateralRepayRateResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Check-Collateral-Repay-Rate Binance API Documentation}\n */\n public async checkCollateralRepayRate(\n requestParameters: CheckCollateralRepayRateRequest\n ): Promise<RestApiResponse<CheckCollateralRepayRateResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.checkCollateralRepayRate(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.recvWindow\n );\n return sendRequest<CheckCollateralRepayRateResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Flexible Loan Adjust LTV\n *\n * API Key needs Spot & Margin Trading permission for this endpoint\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Adjust LTV(TRADE)\n * @param {FlexibleLoanAdjustLtvRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<FlexibleLoanAdjustLtvResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Adjust-LTV Binance API Documentation}\n */\n public async flexibleLoanAdjustLtv(\n requestParameters: FlexibleLoanAdjustLtvRequest\n ): Promise<RestApiResponse<FlexibleLoanAdjustLtvResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.flexibleLoanAdjustLtv(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.adjustmentAmount,\n requestParameters?.direction,\n requestParameters?.recvWindow\n );\n return sendRequest<FlexibleLoanAdjustLtvResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Borrow Flexible Loan\n *\n *\n * Only available for master account\n * You can customize LTV by entering loanAmount and collateralAmount.\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Borrow(TRADE)\n * @param {FlexibleLoanBorrowRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<FlexibleLoanBorrowResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Borrow Binance API Documentation}\n */\n public async flexibleLoanBorrow(\n requestParameters: FlexibleLoanBorrowRequest\n ): Promise<RestApiResponse<FlexibleLoanBorrowResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.flexibleLoanBorrow(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.recvWindow\n );\n return sendRequest<FlexibleLoanBorrowResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Collateral Repayment (TRADE)\n * @param {FlexibleLoanCollateralRepaymentRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<FlexibleLoanCollateralRepaymentResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Collateral-Repay Binance API Documentation}\n */\n public async flexibleLoanCollateralRepayment(\n requestParameters: FlexibleLoanCollateralRepaymentRequest\n ): Promise<RestApiResponse<FlexibleLoanCollateralRepaymentResponse>> {\n const localVarAxiosArgs =\n await this.localVarAxiosParamCreator.flexibleLoanCollateralRepayment(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.repayAmount,\n requestParameters?.fullRepayment,\n requestParameters?.recvWindow\n );\n return sendRequest<FlexibleLoanCollateralRepaymentResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Flexible Loan Repay\n *\n *\n * repayAmount is mandatory even fullRepayment = FALSE\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Repay(TRADE)\n * @param {FlexibleLoanRepayRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<FlexibleLoanRepayResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Repay Binance API Documentation}\n */\n public async flexibleLoanRepay(\n requestParameters: FlexibleLoanRepayRequest\n ): Promise<RestApiResponse<FlexibleLoanRepayResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.flexibleLoanRepay(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.repayAmount,\n requestParameters?.collateralReturn,\n requestParameters?.fullRepayment,\n requestParameters?.repaymentType,\n requestParameters?.recvWindow\n );\n return sendRequest<FlexibleLoanRepayResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get interest rate and borrow limit of flexible loanable assets. The borrow limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Assets Data(USER_DATA)\n * @param {GetFlexibleLoanAssetsDataRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanAssetsDataResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/market-data/Get-Flexible-Loan-Assets-Data Binance API Documentation}\n */\n public async getFlexibleLoanAssetsData(\n requestParameters: GetFlexibleLoanAssetsDataRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanAssetsDataResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getFlexibleLoanAssetsData(\n requestParameters?.loanCoin,\n requestParameters?.recvWindow\n );\n return sendRequest<GetFlexibleLoanAssetsDataResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Flexible Loan Borrow History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Borrow History(USER_DATA)\n * @param {GetFlexibleLoanBorrowHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanBorrowHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Borrow-History Binance API Documentation}\n */\n public async getFlexibleLoanBorrowHistory(\n requestParameters: GetFlexibleLoanBorrowHistoryRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanBorrowHistoryResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getFlexibleLoanBorrowHistory(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.startTime,\n requestParameters?.endTime,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetFlexibleLoanBorrowHistoryResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get LTV information and collateral limit of flexible loan's collateral assets. The collateral limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Collateral Assets Data(USER_DATA)\n * @param {GetFlexibleLoanCollateralAssetsDataRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanCollateralAssetsDataResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/market-data/Get-Flexible-Loan-Collateral-Assets-Data Binance API Documentation}\n */\n public async getFlexibleLoanCollateralAssetsData(\n requestParameters: GetFlexibleLoanCollateralAssetsDataRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanCollateralAssetsDataResponse>> {\n const localVarAxiosArgs =\n await this.localVarAxiosParamCreator.getFlexibleLoanCollateralAssetsData(\n requestParameters?.collateralCoin,\n requestParameters?.recvWindow\n );\n return sendRequest<GetFlexibleLoanCollateralAssetsDataResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Liquidation History (USER_DATA)\n * @param {GetFlexibleLoanLiquidationHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanLiquidationHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Liquidation-History Binance API Documentation}\n */\n public async getFlexibleLoanLiquidationHistory(\n requestParameters: GetFlexibleLoanLiquidationHistoryRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanLiquidationHistoryResponse>> {\n const localVarAxiosArgs =\n await this.localVarAxiosParamCreator.getFlexibleLoanLiquidationHistory(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.startTime,\n requestParameters?.endTime,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetFlexibleLoanLiquidationHistoryResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Flexible Loan LTV Adjustment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan LTV Adjustment History(USER_DATA)\n * @param {GetFlexibleLoanLtvAdjustmentHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanLtvAdjustmentHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-LTV-Adjustment-History Binance API Documentation}\n */\n public async getFlexibleLoanLtvAdjustmentHistory(\n requestParameters: GetFlexibleLoanLtvAdjustmentHistoryRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanLtvAdjustmentHistoryResponse>> {\n const localVarAxiosArgs =\n await this.localVarAxiosParamCreator.getFlexibleLoanLtvAdjustmentHistory(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.startTime,\n requestParameters?.endTime,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetFlexibleLoanLtvAdjustmentHistoryResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Flexible Loan Ongoing Orders\n *\n * Weight: 300\n *\n * @summary Get Flexible Loan Ongoing Orders(USER_DATA)\n * @param {GetFlexibleLoanOngoingOrdersRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanOngoingOrdersResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Ongoing-Orders Binance API Documentation}\n */\n public async getFlexibleLoanOngoingOrders(\n requestParameters: GetFlexibleLoanOngoingOrdersRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanOngoingOrdersResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getFlexibleLoanOngoingOrders(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetFlexibleLoanOngoingOrdersResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Flexible Loan Repayment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Repayment History(USER_DATA)\n * @param {GetFlexibleLoanRepaymentHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanRepaymentHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Repayment-History Binance API Documentation}\n */\n public async getFlexibleLoanRepaymentHistory(\n requestParameters: GetFlexibleLoanRepaymentHistoryRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanRepaymentHistoryResponse>> {\n const localVarAxiosArgs =\n await this.localVarAxiosParamCreator.getFlexibleLoanRepaymentHistory(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.startTime,\n requestParameters?.endTime,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetFlexibleLoanRepaymentHistoryResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n}\n","/**\n * Binance Crypto Loan REST API\n *\n * OpenAPI Specification for the Binance Crypto Loan REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n ConfigurationRestAPI,\n TimeUnit,\n RestApiResponse,\n assertParamExists,\n sendRequest,\n type RequestArgs,\n} from '@binance/common';\nimport type {\n CheckCollateralRepayRateStableRateResponse,\n CryptoLoanAdjustLtvResponse,\n CryptoLoanBorrowResponse,\n CryptoLoanCustomizeMarginCallResponse,\n CryptoLoanRepayResponse,\n GetCollateralAssetsDataResponse,\n GetCryptoLoansIncomeHistoryResponse,\n GetLoanBorrowHistoryResponse,\n GetLoanLtvAdjustmentHistoryResponse,\n GetLoanOngoingOrdersResponse,\n GetLoanRepaymentHistoryResponse,\n GetLoanableAssetsDataResponse,\n} from '../types';\n\n/**\n * StableRateApi - axios parameter creator\n */\nconst StableRateApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n return {\n /**\n * Get the the rate of collateral coin / loan coin when using collateral repay, the rate will be valid within 8 second.\n *\n * Weight: 6000\n *\n * @summary Check Collateral Repay Rate(USER_DATA)\n * @param {string} loanCoin\n * @param {string} collateralCoin\n * @param {number} repayAmount repay amount of loanCoin\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n checkCollateralRepayRateStableRate: async (\n loanCoin: string,\n collateralCoin: string,\n repayAmount: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'loanCoin' is not null or undefined\n assertParamExists('checkCollateralRepayRateStableRate', 'loanCoin', loanCoin);\n // verify required parameter 'collateralCoin' is not null or undefined\n assertParamExists(\n 'checkCollateralRepayRateStableRate',\n 'collateralCoin',\n collateralCoin\n );\n // verify required parameter 'repayAmount' is not null or undefined\n assertParamExists('checkCollateralRepayRateStableRate', 'repayAmount', repayAmount);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (repayAmount !== undefined && repayAmount !== null) {\n localVarQueryParameter['repayAmount'] = repayAmount;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/repay/collateral/rate',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Crypto Loan Adjust LTV\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Adjust LTV(TRADE)\n * @param {number} orderId\n * @param {number} amount\n * @param {string} direction \"ADDITIONAL\", \"REDUCED\"\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n cryptoLoanAdjustLtv: async (\n orderId: number,\n amount: number,\n direction: string,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'orderId' is not null or undefined\n assertParamExists('cryptoLoanAdjustLtv', 'orderId', orderId);\n // verify required parameter 'amount' is not null or undefined\n assertParamExists('cryptoLoanAdjustLtv', 'amount', amount);\n // verify required parameter 'direction' is not null or undefined\n assertParamExists('cryptoLoanAdjustLtv', 'direction', direction);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (orderId !== undefined && orderId !== null) {\n localVarQueryParameter['orderId'] = orderId;\n }\n\n if (amount !== undefined && amount !== null) {\n localVarQueryParameter['amount'] = amount;\n }\n\n if (direction !== undefined && direction !== null) {\n localVarQueryParameter['direction'] = direction;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/adjust/ltv',\n method: 'POST',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Crypto Loan Borrow\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Borrow(TRADE)\n * @param {string} loanCoin\n * @param {string} collateralCoin\n * @param {number} loanTerm 7/30 days\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n cryptoLoanBorrow: async (\n loanCoin: string,\n collateralCoin: string,\n loanTerm: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'loanCoin' is not null or undefined\n assertParamExists('cryptoLoanBorrow', 'loanCoin', loanCoin);\n // verify required parameter 'collateralCoin' is not null or undefined\n assertParamExists('cryptoLoanBorrow', 'collateralCoin', collateralCoin);\n // verify required parameter 'loanTerm' is not null or undefined\n assertParamExists('cryptoLoanBorrow', 'loanTerm', loanTerm);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (loanTerm !== undefined && loanTerm !== null) {\n localVarQueryParameter['loanTerm'] = loanTerm;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/borrow',\n method: 'POST',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Customize Margin Call\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Customize Margin Call(TRADE)\n * @param {number} marginCall\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n cryptoLoanCustomizeMarginCall: async (\n marginCall: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'marginCall' is not null or undefined\n assertParamExists('cryptoLoanCustomizeMarginCall', 'marginCall', marginCall);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (marginCall !== undefined && marginCall !== null) {\n localVarQueryParameter['marginCall'] = marginCall;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/customize/margin_call',\n method: 'POST',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Crypto Loan Repay\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Repay(TRADE)\n * @param {number} orderId\n * @param {number} amount\n * @param {number} [type] Default: 1. 1 for \"repay with borrowed coin\"; 2 for \"repay with collateral\".\n * @param {boolean} [collateralReturn] Default: TRUE. TRUE: Return extra collateral to spot account; FALSE: Keep extra collateral in the order, and lower LTV.\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n cryptoLoanRepay: async (\n orderId: number,\n amount: number,\n type?: number,\n collateralReturn?: boolean,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'orderId' is not null or undefined\n assertParamExists('cryptoLoanRepay', 'orderId', orderId);\n // verify required parameter 'amount' is not null or undefined\n assertParamExists('cryptoLoanRepay', 'amount', amount);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (orderId !== undefined && orderId !== null) {\n localVarQueryParameter['orderId'] = orderId;\n }\n\n if (amount !== undefined && amount !== null) {\n localVarQueryParameter['amount'] = amount;\n }\n\n if (type !== undefined && type !== null) {\n localVarQueryParameter['type'] = type;\n }\n\n if (collateralReturn !== undefined && collateralReturn !== null) {\n localVarQueryParameter['collateralReturn'] = collateralReturn;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/repay',\n method: 'POST',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get LTV information and collateral limit of collateral assets. The collateral limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Collateral Assets Data(USER_DATA)\n * @param {string} [collateralCoin]\n * @param {number} [vipLevel] Default: user's vip level. Send \"-1\" to check specified configuration\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getCollateralAssetsData: async (\n collateralCoin?: string,\n vipLevel?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (vipLevel !== undefined && vipLevel !== null) {\n localVarQueryParameter['vipLevel'] = vipLevel;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/collateral/data',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Crypto Loans Income History\n *\n * If startTime and endTime are not sent, the recent 7-day data will be returned.\n * The max interval between startTime and endTime is 30 days.\n *\n * Weight: 6000\n *\n * @summary Get Crypto Loans Income History(USER_DATA)\n * @param {string} [asset]\n * @param {string} [type] All types will be returned by default. Enum:`borrowIn` ,`collateralSpent`, `repayAmount`, `collateralReturn`(Collateral return after repayment), `addCollateral`, `removeCollateral`, `collateralReturnAfterLiquidation`\n * @param {number} [startTime]\n * @param {number} [endTime]\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getCryptoLoansIncomeHistory: async (\n asset?: string,\n type?: string,\n startTime?: number,\n endTime?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (asset !== undefined && asset !== null) {\n localVarQueryParameter['asset'] = asset;\n }\n\n if (type !== undefined && type !== null) {\n localVarQueryParameter['type'] = type;\n }\n\n if (startTime !== undefined && startTime !== null) {\n localVarQueryParameter['startTime'] = startTime;\n }\n\n if (endTime !== undefined && endTime !== null) {\n localVarQueryParameter['endTime'] = endTime;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/income',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Loan Borrow History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan Borrow History(USER_DATA)\n * @param {number} [orderId]\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [startTime]\n * @param {number} [endTime]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getLoanBorrowHistory: async (\n orderId?: number,\n loanCoin?: string,\n collateralCoin?: string,\n startTime?: number,\n endTime?: number,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (orderId !== undefined && orderId !== null) {\n localVarQueryParameter['orderId'] = orderId;\n }\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (startTime !== undefined && startTime !== null) {\n localVarQueryParameter['startTime'] = startTime;\n }\n\n if (endTime !== undefined && endTime !== null) {\n localVarQueryParameter['endTime'] = endTime;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/borrow/history',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Loan LTV Adjustment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan LTV Adjustment History(USER_DATA)\n * @param {number} [orderId]\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [startTime]\n * @param {number} [endTime]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getLoanLtvAdjustmentHistory: async (\n orderId?: number,\n loanCoin?: string,\n collateralCoin?: string,\n startTime?: number,\n endTime?: number,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (orderId !== undefined && orderId !== null) {\n localVarQueryParameter['orderId'] = orderId;\n }\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (startTime !== undefined && startTime !== null) {\n localVarQueryParameter['startTime'] = startTime;\n }\n\n if (endTime !== undefined && endTime !== null) {\n localVarQueryParameter['endTime'] = endTime;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/ltv/adjustment/history',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Loan Ongoing Orders\n *\n * Weight: 300\n *\n * @summary Get Loan Ongoing Orders(USER_DATA)\n * @param {number} [orderId]\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getLoanOngoingOrders: async (\n orderId?: number,\n loanCoin?: string,\n collateralCoin?: string,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (orderId !== undefined && orderId !== null) {\n localVarQueryParameter['orderId'] = orderId;\n }\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/ongoing/orders',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Loan Repayment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan Repayment History(USER_DATA)\n * @param {number} [orderId]\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [startTime]\n * @param {number} [endTime]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getLoanRepaymentHistory: async (\n orderId?: number,\n loanCoin?: string,\n collateralCoin?: string,\n startTime?: number,\n endTime?: number,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (orderId !== undefined && orderId !== null) {\n localVarQueryParameter['orderId'] = orderId;\n }\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (startTime !== undefined && startTime !== null) {\n localVarQueryParameter['startTime'] = startTime;\n }\n\n if (endTime !== undefined && endTime !== null) {\n localVarQueryParameter['endTime'] = endTime;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/repay/history',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get interest rate and borrow limit of loanable assets. The borrow limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Loanable Assets Data(USER_DATA)\n * @param {string} [loanCoin]\n * @param {number} [vipLevel] Default: user's vip level. Send \"-1\" to check specified configuration\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getLoanableAssetsData: async (\n loanCoin?: string,\n vipLevel?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (vipLevel !== undefined && vipLevel !== null) {\n localVarQueryParameter['vipLevel'] = vipLevel;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/loanable/data',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n };\n};\n\n/**\n * StableRateApi - interface\n * @interface StableRateApi\n */\nexport interface StableRateApiInterface {\n /**\n * Get the the rate of collateral coin / loan coin when using collateral repay, the rate will be valid within 8 second.\n *\n * Weight: 6000\n *\n * @summary Check Collateral Repay Rate(USER_DATA)\n * @param {CheckCollateralRepayRateStableRateRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n checkCollateralRepayRateStableRate(\n requestParameters: CheckCollateralRepayRateStableRateRequest\n ): Promise<RestApiResponse<CheckCollateralRepayRateStableRateResponse>>;\n /**\n * Crypto Loan Adjust LTV\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Adjust LTV(TRADE)\n * @param {CryptoLoanAdjustLtvRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n cryptoLoanAdjustLtv(\n requestParameters: CryptoLoanAdjustLtvRequest\n ): Promise<RestApiResponse<CryptoLoanAdjustLtvResponse>>;\n /**\n * Crypto Loan Borrow\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Borrow(TRADE)\n * @param {CryptoLoanBorrowRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n cryptoLoanBorrow(\n requestParameters: CryptoLoanBorrowRequest\n ): Promise<RestApiResponse<CryptoLoanBorrowResponse>>;\n /**\n * Customize Margin Call\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Customize Margin Call(TRADE)\n * @param {CryptoLoanCustomizeMarginCallRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n cryptoLoanCustomizeMarginCall(\n requestParameters: CryptoLoanCustomizeMarginCallRequest\n ): Promise<RestApiResponse<CryptoLoanCustomizeMarginCallResponse>>;\n /**\n * Crypto Loan Repay\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Repay(TRADE)\n * @param {CryptoLoanRepayRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n cryptoLoanRepay(\n requestParameters: CryptoLoanRepayRequest\n ): Promise<RestApiResponse<CryptoLoanRepayResponse>>;\n /**\n * Get LTV information and collateral limit of collateral assets. The collateral limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Collateral Assets Data(USER_DATA)\n * @param {GetCollateralAssetsDataRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n getCollateralAssetsData(\n requestParameters?: GetCollateralAssetsDataRequest\n ): Promise<RestApiResponse<GetCollateralAssetsDataResponse>>;\n /**\n * Get Crypto Loans Income History\n *\n * If startTime and endTime are not sent, the recent 7-day data will be returned.\n * The max interval between startTime and endTime is 30 days.\n *\n * Weight: 6000\n *\n * @summary Get Crypto Loans Income History(USER_DATA)\n * @param {GetCryptoLoansIncomeHistoryRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n getCryptoLoansIncomeHistory(\n requestParameters?: GetCryptoLoansIncomeHistoryRequest\n ): Promise<RestApiResponse<GetCryptoLoansIncomeHistoryResponse>>;\n /**\n * Get Loan Borrow History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan Borrow History(USER_DATA)\n * @param {GetLoanBorrowHistoryRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n getLoanBorrowHistory(\n requestParameters?: GetLoanBorrowHistoryRequest\n ): Promise<RestApiResponse<GetLoanBorrowHistoryResponse>>;\n /**\n * Get Loan LTV Adjustment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan LTV Adjustment History(USER_DATA)\n * @param {GetLoanLtvAdjustmentHistoryRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n getLoanLtvAdjustmentHistory(\n requestParameters?: GetLoanLtvAdjustmentHistoryRequest\n ): Promise<RestApiResponse<GetLoanLtvAdjustmentHistoryResponse>>;\n /**\n * Get Loan Ongoing Orders\n *\n * Weight: 300\n *\n * @summary Get Loan Ongoing Orders(USER_DATA)\n * @param {GetLoanOngoingOrdersRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n getLoanOngoingOrders(\n requestParameters?: GetLoanOngoingOrdersRequest\n ): Promise<RestApiResponse<GetLoanOngoingOrdersResponse>>;\n /**\n * Get Loan Repayment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan Repayment History(USER_DATA)\n * @param {GetLoanRepaymentHistoryRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n getLoanRepaymentHistory(\n requestParameters?: GetLoanRepaymentHistoryRequest\n ): Promise<RestApiResponse<GetLoanRepaymentHistoryResponse>>;\n /**\n * Get interest rate and borrow limit of loanable assets. The borrow limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Loanable Assets Data(USER_DATA)\n * @param {GetLoanableAssetsDataRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n getLoanableAssetsData(\n requestParameters?: GetLoanableAssetsDataRequest\n ): Promise<RestApiResponse<GetLoanableAssetsDataResponse>>;\n}\n\n/**\n * Request parameters for checkCollateralRepayRateStableRate operation in StableRateApi.\n * @interface CheckCollateralRepayRateStableRateRequest\n */\nexport interface CheckCollateralRepayRateStableRateRequest {\n /**\n *\n * @type {string}\n * @memberof StableRateApiCheckCollateralRepayRateStableRate\n */\n readonly loanCoin: string;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiCheckCollateralRepayRateStableRate\n */\n readonly collateralCoin: string;\n\n /**\n * repay amount of loanCoin\n * @type {number}\n * @memberof StableRateApiCheckCollateralRepayRateStableRate\n */\n readonly repayAmount: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiCheckCollateralRepayRateStableRate\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cryptoLoanAdjustLtv operation in StableRateApi.\n * @interface CryptoLoanAdjustLtvRequest\n */\nexport interface CryptoLoanAdjustLtvRequest {\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanAdjustLtv\n */\n readonly orderId: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanAdjustLtv\n */\n readonly amount: number;\n\n /**\n * \"ADDITIONAL\", \"REDUCED\"\n * @type {string}\n * @memberof StableRateApiCryptoLoanAdjustLtv\n */\n readonly direction: string;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanAdjustLtv\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cryptoLoanBorrow operation in StableRateApi.\n * @interface CryptoLoanBorrowRequest\n */\nexport interface CryptoLoanBorrowRequest {\n /**\n *\n * @type {string}\n * @memberof StableRateApiCryptoLoanBorrow\n */\n readonly loanCoin: string;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiCryptoLoanBorrow\n */\n readonly collateralCoin: string;\n\n /**\n * 7/30 days\n * @type {number}\n * @memberof StableRateApiCryptoLoanBorrow\n */\n readonly loanTerm: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanBorrow\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cryptoLoanCustomizeMarginCall operation in StableRateApi.\n * @interface CryptoLoanCustomizeMarginCallRequest\n */\nexport interface CryptoLoanCustomizeMarginCallRequest {\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanCustomizeMarginCall\n */\n readonly marginCall: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanCustomizeMarginCall\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cryptoLoanRepay operation in StableRateApi.\n * @interface CryptoLoanRepayRequest\n */\nexport interface CryptoLoanRepayRequest {\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanRepay\n */\n readonly orderId: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanRepay\n */\n readonly amount: number;\n\n /**\n * Default: 1. 1 for \"repay with borrowed coin\"; 2 for \"repay with collateral\".\n * @type {number}\n * @memberof StableRateApiCryptoLoanRepay\n */\n readonly type?: number;\n\n /**\n * Default: TRUE. TRUE: Return extra collateral to spot account; FALSE: Keep extra collateral in the order, and lower LTV.\n * @type {boolean}\n * @memberof StableRateApiCryptoLoanRepay\n */\n readonly collateralReturn?: boolean;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanRepay\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getCollateralAssetsData operation in StableRateApi.\n * @interface GetCollateralAssetsDataRequest\n */\nexport interface GetCollateralAssetsDataRequest {\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetCollateralAssetsData\n */\n readonly collateralCoin?: string;\n\n /**\n * Default: user's vip level. Send \"-1\" to check specified configuration\n * @type {number}\n * @memberof StableRateApiGetCollateralAssetsData\n */\n readonly vipLevel?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetCollateralAssetsData\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getCryptoLoansIncomeHistory operation in StableRateApi.\n * @interface GetCryptoLoansIncomeHistoryRequest\n */\nexport interface GetCryptoLoansIncomeHistoryRequest {\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetCryptoLoansIncomeHistory\n */\n readonly asset?: string;\n\n /**\n * All types will be returned by default. Enum:`borrowIn` ,`collateralSpent`, `repayAmount`, `collateralReturn`(Collateral return after repayment), `addCollateral`, `removeCollateral`, `collateralReturnAfterLiquidation`\n * @type {string}\n * @memberof StableRateApiGetCryptoLoansIncomeHistory\n */\n readonly type?: string;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetCryptoLoansIncomeHistory\n */\n readonly startTime?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetCryptoLoansIncomeHistory\n */\n readonly endTime?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof StableRateApiGetCryptoLoansIncomeHistory\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetCryptoLoansIncomeHistory\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getLoanBorrowHistory operation in StableRateApi.\n * @interface GetLoanBorrowHistoryRequest\n */\nexport interface GetLoanBorrowHistoryRequest {\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanBorrowHistory\n */\n readonly orderId?: number;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanBorrowHistory\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanBorrowHistory\n */\n readonly collateralCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanBorrowHistory\n */\n readonly startTime?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanBorrowHistory\n */\n readonly endTime?: number;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof StableRateApiGetLoanBorrowHistory\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof StableRateApiGetLoanBorrowHistory\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanBorrowHistory\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getLoanLtvAdjustmentHistory operation in StableRateApi.\n * @interface GetLoanLtvAdjustmentHistoryRequest\n */\nexport interface GetLoanLtvAdjustmentHistoryRequest {\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanLtvAdjustmentHistory\n */\n readonly orderId?: number;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanLtvAdjustmentHistory\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanLtvAdjustmentHistory\n */\n readonly collateralCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanLtvAdjustmentHistory\n */\n readonly startTime?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanLtvAdjustmentHistory\n */\n readonly endTime?: number;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof StableRateApiGetLoanLtvAdjustmentHistory\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof StableRateApiGetLoanLtvAdjustmentHistory\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanLtvAdjustmentHistory\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getLoanOngoingOrders operation in StableRateApi.\n * @interface GetLoanOngoingOrdersRequest\n */\nexport interface GetLoanOngoingOrdersRequest {\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanOngoingOrders\n */\n readonly orderId?: number;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanOngoingOrders\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanOngoingOrders\n */\n readonly collateralCoin?: string;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof StableRateApiGetLoanOngoingOrders\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof StableRateApiGetLoanOngoingOrders\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanOngoingOrders\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getLoanRepaymentHistory operation in StableRateApi.\n * @interface GetLoanRepaymentHistoryRequest\n */\nexport interface GetLoanRepaymentHistoryRequest {\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanRepaymentHistory\n */\n readonly orderId?: number;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanRepaymentHistory\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanRepaymentHistory\n */\n readonly collateralCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanRepaymentHistory\n */\n readonly startTime?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanRepaymentHistory\n */\n readonly endTime?: number;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof StableRateApiGetLoanRepaymentHistory\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof StableRateApiGetLoanRepaymentHistory\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanRepaymentHistory\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getLoanableAssetsData operation in StableRateApi.\n * @interface GetLoanableAssetsDataRequest\n */\nexport interface GetLoanableAssetsDataRequest {\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanableAssetsData\n */\n readonly loanCoin?: string;\n\n /**\n * Default: user's vip level. Send \"-1\" to check specified configuration\n * @type {number}\n * @memberof StableRateApiGetLoanableAssetsData\n */\n readonly vipLevel?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanableAssetsData\n */\n readonly recvWindow?: number;\n}\n\n/**\n * StableRateApi - object-oriented interface\n * @class StableRateApi\n */\nexport class StableRateApi implements StableRateApiInterface {\n private readonly configuration: ConfigurationRestAPI;\n private localVarAxiosParamCreator;\n\n constructor(configuration: ConfigurationRestAPI) {\n this.configuration = configuration;\n this.localVarAxiosParamCreator = StableRateApiAxiosParamCreator(configuration);\n }\n\n /**\n * Get the the rate of collateral coin / loan coin when using collateral repay, the rate will be valid within 8 second.\n *\n * Weight: 6000\n *\n * @summary Check Collateral Repay Rate(USER_DATA)\n * @param {CheckCollateralRepayRateStableRateRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CheckCollateralRepayRateStableRateResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/market-data/Check-Collateral-Repay-Rate Binance API Documentation}\n */\n public async checkCollateralRepayRateStableRate(\n requestParameters: CheckCollateralRepayRateStableRateRequest\n ): Promise<RestApiResponse<CheckCollateralRepayRateStableRateResponse>> {\n const localVarAxiosArgs =\n await this.localVarAxiosParamCreator.checkCollateralRepayRateStableRate(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.repayAmount,\n requestParameters?.recvWindow\n );\n return sendRequest<CheckCollateralRepayRateStableRateResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Crypto Loan Adjust LTV\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Adjust LTV(TRADE)\n * @param {CryptoLoanAdjustLtvRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CryptoLoanAdjustLtvResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/trade/Crypto-Loan-Adjust-LTV Binance API Documentation}\n */\n public async cryptoLoanAdjustLtv(\n requestParameters: CryptoLoanAdjustLtvRequest\n ): Promise<RestApiResponse<CryptoLoanAdjustLtvResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.cryptoLoanAdjustLtv(\n requestParameters?.orderId,\n requestParameters?.amount,\n requestParameters?.direction,\n requestParameters?.recvWindow\n );\n return sendRequest<CryptoLoanAdjustLtvResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Crypto Loan Borrow\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Borrow(TRADE)\n * @param {CryptoLoanBorrowRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CryptoLoanBorrowResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/trade/Crypto-Loan-Borrow Binance API Documentation}\n */\n public async cryptoLoanBorrow(\n requestParameters: CryptoLoanBorrowRequest\n ): Promise<RestApiResponse<CryptoLoanBorrowResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.cryptoLoanBorrow(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.loanTerm,\n requestParameters?.recvWindow\n );\n return sendRequest<CryptoLoanBorrowResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Customize Margin Call\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Customize Margin Call(TRADE)\n * @param {CryptoLoanCustomizeMarginCallRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CryptoLoanCustomizeMarginCallResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/trade/Crypto-Loan-Customize-Margin-Call Binance API Documentation}\n */\n public async cryptoLoanCustomizeMarginCall(\n requestParameters: CryptoLoanCustomizeMarginCallRequest\n ): Promise<RestApiResponse<CryptoLoanCustomizeMarginCallResponse>> {\n const localVarAxiosArgs =\n await this.localVarAxiosParamCreator.cryptoLoanCustomizeMarginCall(\n requestParameters?.marginCall,\n requestParameters?.recvWindow\n );\n return sendRequest<CryptoLoanCustomizeMarginCallResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Crypto Loan Repay\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Repay(TRADE)\n * @param {CryptoLoanRepayRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CryptoLoanRepayResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/trade/Crypto-Loan-Repay Binance API Documentation}\n */\n public async cryptoLoanRepay(\n requestParameters: CryptoLoanRepayRequest\n ): Promise<RestApiResponse<CryptoLoanRepayResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.cryptoLoanRepay(\n requestParameters?.orderId,\n requestParameters?.amount,\n requestParameters?.type,\n requestParameters?.collateralReturn,\n requestParameters?.recvWindow\n );\n return sendRequest<CryptoLoanRepayResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get LTV information and collateral limit of collateral assets. The collateral limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Collateral Assets Data(USER_DATA)\n * @param {GetCollateralAssetsDataRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetCollateralAssetsDataResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/market-data/Get-Collateral-Assets-Data Binance API Documentation}\n */\n public async getCollateralAssetsData(\n requestParameters: GetCollateralAssetsDataRequest = {}\n ): Promise<RestApiResponse<GetCollateralAssetsDataResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getCollateralAssetsData(\n requestParameters?.collateralCoin,\n requestParameters?.vipLevel,\n requestParameters?.recvWindow\n );\n return sendRequest<GetCollateralAssetsDataResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Crypto Loans Income History\n *\n * If startTime and endTime are not sent, the recent 7-day data will be returned.\n * The max interval between startTime and endTime is 30 days.\n *\n * Weight: 6000\n *\n * @summary Get Crypto Loans Income History(USER_DATA)\n * @param {GetCryptoLoansIncomeHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetCryptoLoansIncomeHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/market-data/Get-Crypto-Loans-Income-History Binance API Documentation}\n */\n public async getCryptoLoansIncomeHistory(\n requestParameters: GetCryptoLoansIncomeHistoryRequest = {}\n ): Promise<RestApiResponse<GetCryptoLoansIncomeHistoryResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getCryptoLoansIncomeHistory(\n requestParameters?.asset,\n requestParameters?.type,\n requestParameters?.startTime,\n requestParameters?.endTime,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetCryptoLoansIncomeHistoryResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Loan Borrow History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan Borrow History(USER_DATA)\n * @param {GetLoanBorrowHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanBorrowHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-Borrow-History Binance API Documentation}\n */\n public async getLoanBorrowHistory(\n requestParameters: GetLoanBorrowHistoryRequest = {}\n ): Promise<RestApiResponse<GetLoanBorrowHistoryResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getLoanBorrowHistory(\n requestParameters?.orderId,\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.startTime,\n requestParameters?.endTime,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetLoanBorrowHistoryResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Loan LTV Adjustment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan LTV Adjustment History(USER_DATA)\n * @param {GetLoanLtvAdjustmentHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanLtvAdjustmentHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-LTV-Adjustment-History Binance API Documentation}\n */\n public async getLoanLtvAdjustmentHistory(\n requestParameters: GetLoanLtvAdjustmentHistoryRequest = {}\n ): Promise<RestApiResponse<GetLoanLtvAdjustmentHistoryResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getLoanLtvAdjustmentHistory(\n requestParameters?.orderId,\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.startTime,\n requestParameters?.endTime,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetLoanLtvAdjustmentHistoryResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Loan Ongoing Orders\n *\n * Weight: 300\n *\n * @summary Get Loan Ongoing Orders(USER_DATA)\n * @param {GetLoanOngoingOrdersRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanOngoingOrdersResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-Ongoing-Orders Binance API Documentation}\n */\n public async getLoanOngoingOrders(\n requestParameters: GetLoanOngoingOrdersRequest = {}\n ): Promise<RestApiResponse<GetLoanOngoingOrdersResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getLoanOngoingOrders(\n requestParameters?.orderId,\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetLoanOngoingOrdersResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Loan Repayment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan Repayment History(USER_DATA)\n * @param {GetLoanRepaymentHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanRepaymentHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-Repayment-History Binance API Documentation}\n */\n public async getLoanRepaymentHistory(\n requestParameters: GetLoanRepaymentHistoryRequest = {}\n ): Promise<RestApiResponse<GetLoanRepaymentHistoryResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getLoanRepaymentHistory(\n requestParameters?.orderId,\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.startTime,\n requestParameters?.endTime,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetLoanRepaymentHistoryResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get interest rate and borrow limit of loanable assets. The borrow limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Loanable Assets Data(USER_DATA)\n * @param {GetLoanableAssetsDataRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanableAssetsDataResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/market-data/Get-Loanable-Assets-Data Binance API Documentation}\n */\n public async getLoanableAssetsData(\n requestParameters: GetLoanableAssetsDataRequest = {}\n ): Promise<RestApiResponse<GetLoanableAssetsDataResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getLoanableAssetsData(\n requestParameters?.loanCoin,\n requestParameters?.vipLevel,\n requestParameters?.recvWindow\n );\n return sendRequest<GetLoanableAssetsDataResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n}\n","/**\n * Binance Crypto Loan REST API\n *\n * OpenAPI Specification for the Binance Crypto Loan REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { ConfigurationRestAPI, RestApiResponse, sendRequest } from '@binance/common';\nimport { FlexibleRateApi } from './modules/flexible-rate-api';\nimport { StableRateApi } from './modules/stable-rate-api';\n\nimport type {\n CheckCollateralRepayRateRequest,\n FlexibleLoanAdjustLtvRequest,\n FlexibleLoanBorrowRequest,\n FlexibleLoanCollateralRepaymentRequest,\n FlexibleLoanRepayRequest,\n GetFlexibleLoanAssetsDataRequest,\n GetFlexibleLoanBorrowHistoryRequest,\n GetFlexibleLoanCollateralAssetsDataRequest,\n GetFlexibleLoanLiquidationHistoryRequest,\n GetFlexibleLoanLtvAdjustmentHistoryRequest,\n GetFlexibleLoanOngoingOrdersRequest,\n GetFlexibleLoanRepaymentHistoryRequest,\n} from './modules/flexible-rate-api';\nimport type {\n CheckCollateralRepayRateStableRateRequest,\n CryptoLoanAdjustLtvRequest,\n CryptoLoanBorrowRequest,\n CryptoLoanCustomizeMarginCallRequest,\n CryptoLoanRepayRequest,\n GetCollateralAssetsDataRequest,\n GetCryptoLoansIncomeHistoryRequest,\n GetLoanBorrowHistoryRequest,\n GetLoanLtvAdjustmentHistoryRequest,\n GetLoanOngoingOrdersRequest,\n GetLoanRepaymentHistoryRequest,\n GetLoanableAssetsDataRequest,\n} from './modules/stable-rate-api';\n\nimport type {\n CheckCollateralRepayRateResponse,\n FlexibleLoanAdjustLtvResponse,\n FlexibleLoanBorrowResponse,\n FlexibleLoanCollateralRepaymentResponse,\n FlexibleLoanRepayResponse,\n GetFlexibleLoanAssetsDataResponse,\n GetFlexibleLoanBorrowHistoryResponse,\n GetFlexibleLoanCollateralAssetsDataResponse,\n GetFlexibleLoanLiquidationHistoryResponse,\n GetFlexibleLoanLtvAdjustmentHistoryResponse,\n GetFlexibleLoanOngoingOrdersResponse,\n GetFlexibleLoanRepaymentHistoryResponse,\n} from './types';\nimport type {\n CheckCollateralRepayRateStableRateResponse,\n CryptoLoanAdjustLtvResponse,\n CryptoLoanBorrowResponse,\n CryptoLoanCustomizeMarginCallResponse,\n CryptoLoanRepayResponse,\n GetCollateralAssetsDataResponse,\n GetCryptoLoansIncomeHistoryResponse,\n GetLoanBorrowHistoryResponse,\n GetLoanLtvAdjustmentHistoryResponse,\n GetLoanOngoingOrdersResponse,\n GetLoanRepaymentHistoryResponse,\n GetLoanableAssetsDataResponse,\n} from './types';\n\nexport class RestAPI {\n private configuration: ConfigurationRestAPI;\n private flexibleRateApi: FlexibleRateApi;\n private stableRateApi: StableRateApi;\n\n constructor(configuration: ConfigurationRestAPI) {\n this.configuration = configuration;\n this.flexibleRateApi = new FlexibleRateApi(configuration);\n this.stableRateApi = new StableRateApi(configuration);\n }\n\n /**\n * Generic function to send a request.\n * @param endpoint - The API endpoint to call.\n * @param method - HTTP method to use (GET, POST, DELETE, etc.).\n * @param params - Query parameters for the request.\n *\n * @returns A promise resolving to the response data object.\n */\n sendRequest<T>(\n endpoint: string,\n method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH',\n params: Record<string, unknown> = {}\n ): Promise<RestApiResponse<T>> {\n return sendRequest<T>(this.configuration, endpoint, method, params, undefined);\n }\n\n /**\n * Generic function to send a signed request.\n * @param endpoint - The API endpoint to call.\n * @param method - HTTP method to use (GET, POST, DELETE, etc.).\n * @param params - Query parameters for the request.\n *\n * @returns A promise resolving to the response data object.\n */\n sendSignedRequest<T>(\n endpoint: string,\n method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH',\n params: Record<string, unknown> = {}\n ): Promise<RestApiResponse<T>> {\n return sendRequest<T>(this.configuration, endpoint, method, params, undefined, {\n isSigned: true,\n });\n }\n\n /**\n *\n * Weight: 6000\n *\n * @summary Check Collateral Repay Rate (USER_DATA)\n * @param {CheckCollateralRepayRateRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CheckCollateralRepayRateResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Check-Collateral-Repay-Rate Binance API Documentation}\n */\n checkCollateralRepayRate(\n requestParameters: CheckCollateralRepayRateRequest\n ): Promise<RestApiResponse<CheckCollateralRepayRateResponse>> {\n return this.flexibleRateApi.checkCollateralRepayRate(requestParameters);\n }\n\n /**\n * Flexible Loan Adjust LTV\n *\n * API Key needs Spot & Margin Trading permission for this endpoint\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Adjust LTV(TRADE)\n * @param {FlexibleLoanAdjustLtvRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<FlexibleLoanAdjustLtvResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Adjust-LTV Binance API Documentation}\n */\n flexibleLoanAdjustLtv(\n requestParameters: FlexibleLoanAdjustLtvRequest\n ): Promise<RestApiResponse<FlexibleLoanAdjustLtvResponse>> {\n return this.flexibleRateApi.flexibleLoanAdjustLtv(requestParameters);\n }\n\n /**\n * Borrow Flexible Loan\n *\n *\n * Only available for master account\n * You can customize LTV by entering loanAmount and collateralAmount.\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Borrow(TRADE)\n * @param {FlexibleLoanBorrowRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<FlexibleLoanBorrowResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Borrow Binance API Documentation}\n */\n flexibleLoanBorrow(\n requestParameters: FlexibleLoanBorrowRequest\n ): Promise<RestApiResponse<FlexibleLoanBorrowResponse>> {\n return this.flexibleRateApi.flexibleLoanBorrow(requestParameters);\n }\n\n /**\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Collateral Repayment (TRADE)\n * @param {FlexibleLoanCollateralRepaymentRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<FlexibleLoanCollateralRepaymentResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Collateral-Repay Binance API Documentation}\n */\n flexibleLoanCollateralRepayment(\n requestParameters: FlexibleLoanCollateralRepaymentRequest\n ): Promise<RestApiResponse<FlexibleLoanCollateralRepaymentResponse>> {\n return this.flexibleRateApi.flexibleLoanCollateralRepayment(requestParameters);\n }\n\n /**\n * Flexible Loan Repay\n *\n *\n * repayAmount is mandatory even fullRepayment = FALSE\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Repay(TRADE)\n * @param {FlexibleLoanRepayRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<FlexibleLoanRepayResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Repay Binance API Documentation}\n */\n flexibleLoanRepay(\n requestParameters: FlexibleLoanRepayRequest\n ): Promise<RestApiResponse<FlexibleLoanRepayResponse>> {\n return this.flexibleRateApi.flexibleLoanRepay(requestParameters);\n }\n\n /**\n * Get interest rate and borrow limit of flexible loanable assets. The borrow limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Assets Data(USER_DATA)\n * @param {GetFlexibleLoanAssetsDataRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanAssetsDataResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/market-data/Get-Flexible-Loan-Assets-Data Binance API Documentation}\n */\n getFlexibleLoanAssetsData(\n requestParameters: GetFlexibleLoanAssetsDataRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanAssetsDataResponse>> {\n return this.flexibleRateApi.getFlexibleLoanAssetsData(requestParameters);\n }\n\n /**\n * Get Flexible Loan Borrow History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Borrow History(USER_DATA)\n * @param {GetFlexibleLoanBorrowHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanBorrowHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Borrow-History Binance API Documentation}\n */\n getFlexibleLoanBorrowHistory(\n requestParameters: GetFlexibleLoanBorrowHistoryRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanBorrowHistoryResponse>> {\n return this.flexibleRateApi.getFlexibleLoanBorrowHistory(requestParameters);\n }\n\n /**\n * Get LTV information and collateral limit of flexible loan's collateral assets. The collateral limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Collateral Assets Data(USER_DATA)\n * @param {GetFlexibleLoanCollateralAssetsDataRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanCollateralAssetsDataResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/market-data/Get-Flexible-Loan-Collateral-Assets-Data Binance API Documentation}\n */\n getFlexibleLoanCollateralAssetsData(\n requestParameters: GetFlexibleLoanCollateralAssetsDataRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanCollateralAssetsDataResponse>> {\n return this.flexibleRateApi.getFlexibleLoanCollateralAssetsData(requestParameters);\n }\n\n /**\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Liquidation History (USER_DATA)\n * @param {GetFlexibleLoanLiquidationHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanLiquidationHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Liquidation-History Binance API Documentation}\n */\n getFlexibleLoanLiquidationHistory(\n requestParameters: GetFlexibleLoanLiquidationHistoryRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanLiquidationHistoryResponse>> {\n return this.flexibleRateApi.getFlexibleLoanLiquidationHistory(requestParameters);\n }\n\n /**\n * Get Flexible Loan LTV Adjustment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan LTV Adjustment History(USER_DATA)\n * @param {GetFlexibleLoanLtvAdjustmentHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanLtvAdjustmentHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-LTV-Adjustment-History Binance API Documentation}\n */\n getFlexibleLoanLtvAdjustmentHistory(\n requestParameters: GetFlexibleLoanLtvAdjustmentHistoryRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanLtvAdjustmentHistoryResponse>> {\n return this.flexibleRateApi.getFlexibleLoanLtvAdjustmentHistory(requestParameters);\n }\n\n /**\n * Get Flexible Loan Ongoing Orders\n *\n * Weight: 300\n *\n * @summary Get Flexible Loan Ongoing Orders(USER_DATA)\n * @param {GetFlexibleLoanOngoingOrdersRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanOngoingOrdersResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Ongoing-Orders Binance API Documentation}\n */\n getFlexibleLoanOngoingOrders(\n requestParameters: GetFlexibleLoanOngoingOrdersRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanOngoingOrdersResponse>> {\n return this.flexibleRateApi.getFlexibleLoanOngoingOrders(requestParameters);\n }\n\n /**\n * Get Flexible Loan Repayment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Repayment History(USER_DATA)\n * @param {GetFlexibleLoanRepaymentHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanRepaymentHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Repayment-History Binance API Documentation}\n */\n getFlexibleLoanRepaymentHistory(\n requestParameters: GetFlexibleLoanRepaymentHistoryRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanRepaymentHistoryResponse>> {\n return this.flexibleRateApi.getFlexibleLoanRepaymentHistory(requestParameters);\n }\n\n /**\n * Get the the rate of collateral coin / loan coin when using collateral repay, the rate will be valid within 8 second.\n *\n * Weight: 6000\n *\n * @summary Check Collateral Repay Rate(USER_DATA)\n * @param {CheckCollateralRepayRateStableRateRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CheckCollateralRepayRateStableRateResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/market-data/Check-Collateral-Repay-Rate Binance API Documentation}\n */\n checkCollateralRepayRateStableRate(\n requestParameters: CheckCollateralRepayRateStableRateRequest\n ): Promise<RestApiResponse<CheckCollateralRepayRateStableRateResponse>> {\n return this.stableRateApi.checkCollateralRepayRateStableRate(requestParameters);\n }\n\n /**\n * Crypto Loan Adjust LTV\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Adjust LTV(TRADE)\n * @param {CryptoLoanAdjustLtvRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CryptoLoanAdjustLtvResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/trade/Crypto-Loan-Adjust-LTV Binance API Documentation}\n */\n cryptoLoanAdjustLtv(\n requestParameters: CryptoLoanAdjustLtvRequest\n ): Promise<RestApiResponse<CryptoLoanAdjustLtvResponse>> {\n return this.stableRateApi.cryptoLoanAdjustLtv(requestParameters);\n }\n\n /**\n * Crypto Loan Borrow\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Borrow(TRADE)\n * @param {CryptoLoanBorrowRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CryptoLoanBorrowResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/trade/Crypto-Loan-Borrow Binance API Documentation}\n */\n cryptoLoanBorrow(\n requestParameters: CryptoLoanBorrowRequest\n ): Promise<RestApiResponse<CryptoLoanBorrowResponse>> {\n return this.stableRateApi.cryptoLoanBorrow(requestParameters);\n }\n\n /**\n * Customize Margin Call\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Customize Margin Call(TRADE)\n * @param {CryptoLoanCustomizeMarginCallRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CryptoLoanCustomizeMarginCallResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/trade/Crypto-Loan-Customize-Margin-Call Binance API Documentation}\n */\n cryptoLoanCustomizeMarginCall(\n requestParameters: CryptoLoanCustomizeMarginCallRequest\n ): Promise<RestApiResponse<CryptoLoanCustomizeMarginCallResponse>> {\n return this.stableRateApi.cryptoLoanCustomizeMarginCall(requestParameters);\n }\n\n /**\n * Crypto Loan Repay\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Repay(TRADE)\n * @param {CryptoLoanRepayRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CryptoLoanRepayResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/trade/Crypto-Loan-Repay Binance API Documentation}\n */\n cryptoLoanRepay(\n requestParameters: CryptoLoanRepayRequest\n ): Promise<RestApiResponse<CryptoLoanRepayResponse>> {\n return this.stableRateApi.cryptoLoanRepay(requestParameters);\n }\n\n /**\n * Get LTV information and collateral limit of collateral assets. The collateral limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Collateral Assets Data(USER_DATA)\n * @param {GetCollateralAssetsDataRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetCollateralAssetsDataResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/market-data/Get-Collateral-Assets-Data Binance API Documentation}\n */\n getCollateralAssetsData(\n requestParameters: GetCollateralAssetsDataRequest = {}\n ): Promise<RestApiResponse<GetCollateralAssetsDataResponse>> {\n return this.stableRateApi.getCollateralAssetsData(requestParameters);\n }\n\n /**\n * Get Crypto Loans Income History\n *\n * If startTime and endTime are not sent, the recent 7-day data will be returned.\n * The max interval between startTime and endTime is 30 days.\n *\n * Weight: 6000\n *\n * @summary Get Crypto Loans Income History(USER_DATA)\n * @param {GetCryptoLoansIncomeHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetCryptoLoansIncomeHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/market-data/Get-Crypto-Loans-Income-History Binance API Documentation}\n */\n getCryptoLoansIncomeHistory(\n requestParameters: GetCryptoLoansIncomeHistoryRequest = {}\n ): Promise<RestApiResponse<GetCryptoLoansIncomeHistoryResponse>> {\n return this.stableRateApi.getCryptoLoansIncomeHistory(requestParameters);\n }\n\n /**\n * Get Loan Borrow History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan Borrow History(USER_DATA)\n * @param {GetLoanBorrowHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanBorrowHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-Borrow-History Binance API Documentation}\n */\n getLoanBorrowHistory(\n requestParameters: GetLoanBorrowHistoryRequest = {}\n ): Promise<RestApiResponse<GetLoanBorrowHistoryResponse>> {\n return this.stableRateApi.getLoanBorrowHistory(requestParameters);\n }\n\n /**\n * Get Loan LTV Adjustment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan LTV Adjustment History(USER_DATA)\n * @param {GetLoanLtvAdjustmentHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanLtvAdjustmentHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-LTV-Adjustment-History Binance API Documentation}\n */\n getLoanLtvAdjustmentHistory(\n requestParameters: GetLoanLtvAdjustmentHistoryRequest = {}\n ): Promise<RestApiResponse<GetLoanLtvAdjustmentHistoryResponse>> {\n return this.stableRateApi.getLoanLtvAdjustmentHistory(requestParameters);\n }\n\n /**\n * Get Loan Ongoing Orders\n *\n * Weight: 300\n *\n * @summary Get Loan Ongoing Orders(USER_DATA)\n * @param {GetLoanOngoingOrdersRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanOngoingOrdersResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-Ongoing-Orders Binance API Documentation}\n */\n getLoanOngoingOrders(\n requestParameters: GetLoanOngoingOrdersRequest = {}\n ): Promise<RestApiResponse<GetLoanOngoingOrdersResponse>> {\n return this.stableRateApi.getLoanOngoingOrders(requestParameters);\n }\n\n /**\n * Get Loan Repayment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan Repayment History(USER_DATA)\n * @param {GetLoanRepaymentHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanRepaymentHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-Repayment-History Binance API Documentation}\n */\n getLoanRepaymentHistory(\n requestParameters: GetLoanRepaymentHistoryRequest = {}\n ): Promise<RestApiResponse<GetLoanRepaymentHistoryResponse>> {\n return this.stableRateApi.getLoanRepaymentHistory(requestParameters);\n }\n\n /**\n * Get interest rate and borrow limit of loanable assets. The borrow limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Loanable Assets Data(USER_DATA)\n * @param {GetLoanableAssetsDataRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanableAssetsDataResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/market-data/Get-Loanable-Assets-Data Binance API Documentation}\n */\n getLoanableAssetsData(\n requestParameters: GetLoanableAssetsDataRequest = {}\n ): Promise<RestApiResponse<GetLoanableAssetsDataResponse>> {\n return this.stableRateApi.getLoanableAssetsData(requestParameters);\n }\n}\n"],"mappings":"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","names":["import_common","import_common","import_common","import_common"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/crypto-loan.ts","../package.json","../src/rest-api/index.ts","../src/rest-api/modules/flexible-rate-api.ts","../src/rest-api/modules/stable-rate-api.ts","../src/rest-api/rest-api.ts"],"sourcesContent":["export { CryptoLoan, ConfigurationCryptoLoan } from './crypto-loan';\nexport * as CryptoLoanRestAPI from './rest-api';\n\nexport {\n CRYPTO_LOAN_REST_API_PROD_URL,\n ConnectorClientError,\n RequiredError,\n UnauthorizedError,\n ForbiddenError,\n TooManyRequestsError,\n RateLimitBanError,\n ServerError,\n NetworkError,\n NotFoundError,\n BadRequestError,\n} from '@binance/common';\n","import { platform, arch } from 'os';\nimport { ConfigurationRestAPI, CRYPTO_LOAN_REST_API_PROD_URL } from '@binance/common';\nimport { name, version } from '../package.json';\nimport { RestAPI } from './rest-api';\n\nexport interface ConfigurationCryptoLoan {\n configurationRestAPI?: ConfigurationRestAPI;\n}\n\nexport class CryptoLoan {\n public restAPI!: RestAPI;\n\n constructor(config: ConfigurationCryptoLoan) {\n if (config?.configurationRestAPI) {\n const configRestAPI = new ConfigurationRestAPI(config.configurationRestAPI);\n configRestAPI.basePath = configRestAPI.basePath || CRYPTO_LOAN_REST_API_PROD_URL;\n configRestAPI.baseOptions = configRestAPI.baseOptions || {};\n configRestAPI.baseOptions.headers = {\n ...(configRestAPI.baseOptions.headers || {}),\n 'User-Agent': `${name}/${version} (Node.js/${process.version}; ${platform()}; ${arch()})`,\n };\n this.restAPI = new RestAPI(configRestAPI);\n }\n }\n}\n","{\n \"name\": \"@binance/crypto-loan\",\n \"description\": \"Official Binance Crypto Loan Connector - A lightweight library that provides a convenient interface to Binance's Crypto Loan REST API.\",\n \"version\": \"5.0.0\",\n \"main\": \"./dist/index.js\",\n \"module\": \"./dist/index.mjs\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"require\": \"./dist/index.js\",\n \"import\": \"./dist/index.mjs\"\n }\n },\n \"scripts\": {\n \"prepublishOnly\": \"npm run build\",\n \"build\": \"tsup\",\n \"typecheck\": \"tsc --noEmit\",\n \"clean\": \"rm -rf dist\",\n \"test\": \"npx jest --maxWorkers=4 --bail\",\n \"test:watch\": \"npx jest --watch\",\n \"format\": \"npx prettier --ignore-path .prettierignore --write .\",\n \"lint\": \"npx eslint '**/*.ts' --fix\"\n },\n \"keywords\": [\n \"Binance\",\n \"API\",\n \"Crypto Loan\",\n \"Connector\",\n \"REST\",\n \"Trading\"\n ],\n \"author\": \"Binance\",\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/binance/binance-connector-js.git\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/binance/binance-connector-js/issues\"\n },\n \"homepage\": \"https://github.com/binance/binance-connector-js#readme\",\n \"files\": [\n \"dist\"\n ],\n \"devDependencies\": {\n \"@types/jest\": \"^29.5.4\",\n \"@types/node\": \"^20.17.24\",\n \"eslint\": \"8.57.0\",\n \"jest\": \"^29.6.4\",\n \"prettier\": \"^3.3.3\",\n \"ts-jest\": \"^29.1.1\",\n \"ts-node\": \"^10.9.1\",\n \"tsup\": \"^8.4.0\",\n \"typescript\": \"^5.7.2\",\n \"typescript-eslint\": \"^8.24.0\"\n },\n \"dependencies\": {\n \"@binance/common\": \"1.0.2\",\n \"axios\": \"^1.7.4\"\n }\n}\n","/**\n * Binance Crypto Loan REST API\n *\n * OpenAPI Specification for the Binance Crypto Loan REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nexport * from './types';\nexport * from './modules';\nexport * from './rest-api';\n","/**\n * Binance Crypto Loan REST API\n *\n * OpenAPI Specification for the Binance Crypto Loan REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n ConfigurationRestAPI,\n TimeUnit,\n RestApiResponse,\n assertParamExists,\n sendRequest,\n type RequestArgs,\n} from '@binance/common';\nimport type {\n CheckCollateralRepayRateResponse,\n FlexibleLoanAdjustLtvResponse,\n FlexibleLoanBorrowResponse,\n FlexibleLoanRepayResponse,\n GetFlexibleLoanAssetsDataResponse,\n GetFlexibleLoanBorrowHistoryResponse,\n GetFlexibleLoanCollateralAssetsDataResponse,\n GetFlexibleLoanLiquidationHistoryResponse,\n GetFlexibleLoanLtvAdjustmentHistoryResponse,\n GetFlexibleLoanOngoingOrdersResponse,\n GetFlexibleLoanRepaymentHistoryResponse,\n} from '../types';\n\n/**\n * FlexibleRateApi - axios parameter creator\n */\nconst FlexibleRateApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n return {\n /**\n *\n * Weight: 6000\n *\n * @summary Check Collateral Repay Rate (USER_DATA)\n * @param {string} loanCoin\n * @param {string} collateralCoin\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n checkCollateralRepayRate: async (\n loanCoin: string,\n collateralCoin: string,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'loanCoin' is not null or undefined\n assertParamExists('checkCollateralRepayRate', 'loanCoin', loanCoin);\n // verify required parameter 'collateralCoin' is not null or undefined\n assertParamExists('checkCollateralRepayRate', 'collateralCoin', collateralCoin);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/repay/rate',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Flexible Loan Adjust LTV\n *\n * API Key needs Spot & Margin Trading permission for this endpoint\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Adjust LTV(TRADE)\n * @param {string} loanCoin\n * @param {string} collateralCoin\n * @param {number} adjustmentAmount\n * @param {string} direction \"ADDITIONAL\", \"REDUCED\"\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n flexibleLoanAdjustLtv: async (\n loanCoin: string,\n collateralCoin: string,\n adjustmentAmount: number,\n direction: string,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'loanCoin' is not null or undefined\n assertParamExists('flexibleLoanAdjustLtv', 'loanCoin', loanCoin);\n // verify required parameter 'collateralCoin' is not null or undefined\n assertParamExists('flexibleLoanAdjustLtv', 'collateralCoin', collateralCoin);\n // verify required parameter 'adjustmentAmount' is not null or undefined\n assertParamExists('flexibleLoanAdjustLtv', 'adjustmentAmount', adjustmentAmount);\n // verify required parameter 'direction' is not null or undefined\n assertParamExists('flexibleLoanAdjustLtv', 'direction', direction);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (adjustmentAmount !== undefined && adjustmentAmount !== null) {\n localVarQueryParameter['adjustmentAmount'] = adjustmentAmount;\n }\n\n if (direction !== undefined && direction !== null) {\n localVarQueryParameter['direction'] = direction;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/adjust/ltv',\n method: 'POST',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Borrow Flexible Loan\n *\n *\n * Only available for master account\n * You can customize LTV by entering loanAmount and collateralAmount.\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Borrow(TRADE)\n * @param {string} loanCoin\n * @param {string} collateralCoin\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n flexibleLoanBorrow: async (\n loanCoin: string,\n collateralCoin: string,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'loanCoin' is not null or undefined\n assertParamExists('flexibleLoanBorrow', 'loanCoin', loanCoin);\n // verify required parameter 'collateralCoin' is not null or undefined\n assertParamExists('flexibleLoanBorrow', 'collateralCoin', collateralCoin);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/borrow',\n method: 'POST',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Flexible Loan Repay\n *\n *\n * repayAmount is mandatory even fullRepayment = FALSE\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Repay(TRADE)\n * @param {string} loanCoin\n * @param {string} collateralCoin\n * @param {number} repayAmount repay amount of loanCoin\n * @param {boolean} [collateralReturn] Default: TRUE. TRUE: Return extra collateral to spot account; FALSE: Keep extra collateral in the order, and lower LTV.\n * @param {boolean} [fullRepayment] Default: FALSE. TRUE: Full repayment; FALSE: Partial repayment, based on loanAmount\n * @param {number} [repaymentType] Default: 1. 1: Repayment with loan asset; 2: Repayment with collateral\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n flexibleLoanRepay: async (\n loanCoin: string,\n collateralCoin: string,\n repayAmount: number,\n collateralReturn?: boolean,\n fullRepayment?: boolean,\n repaymentType?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'loanCoin' is not null or undefined\n assertParamExists('flexibleLoanRepay', 'loanCoin', loanCoin);\n // verify required parameter 'collateralCoin' is not null or undefined\n assertParamExists('flexibleLoanRepay', 'collateralCoin', collateralCoin);\n // verify required parameter 'repayAmount' is not null or undefined\n assertParamExists('flexibleLoanRepay', 'repayAmount', repayAmount);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (repayAmount !== undefined && repayAmount !== null) {\n localVarQueryParameter['repayAmount'] = repayAmount;\n }\n\n if (collateralReturn !== undefined && collateralReturn !== null) {\n localVarQueryParameter['collateralReturn'] = collateralReturn;\n }\n\n if (fullRepayment !== undefined && fullRepayment !== null) {\n localVarQueryParameter['fullRepayment'] = fullRepayment;\n }\n\n if (repaymentType !== undefined && repaymentType !== null) {\n localVarQueryParameter['repaymentType'] = repaymentType;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/repay',\n method: 'POST',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get interest rate and borrow limit of flexible loanable assets. The borrow limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Assets Data(USER_DATA)\n * @param {string} [loanCoin]\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getFlexibleLoanAssetsData: async (\n loanCoin?: string,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/loanable/data',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Flexible Loan Borrow History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Borrow History(USER_DATA)\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [startTime]\n * @param {number} [endTime]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getFlexibleLoanBorrowHistory: async (\n loanCoin?: string,\n collateralCoin?: string,\n startTime?: number,\n endTime?: number,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (startTime !== undefined && startTime !== null) {\n localVarQueryParameter['startTime'] = startTime;\n }\n\n if (endTime !== undefined && endTime !== null) {\n localVarQueryParameter['endTime'] = endTime;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/borrow/history',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get LTV information and collateral limit of flexible loan's collateral assets. The collateral limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Collateral Assets Data(USER_DATA)\n * @param {string} [collateralCoin]\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getFlexibleLoanCollateralAssetsData: async (\n collateralCoin?: string,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/collateral/data',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Liquidation History (USER_DATA)\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [startTime]\n * @param {number} [endTime]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getFlexibleLoanLiquidationHistory: async (\n loanCoin?: string,\n collateralCoin?: string,\n startTime?: number,\n endTime?: number,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (startTime !== undefined && startTime !== null) {\n localVarQueryParameter['startTime'] = startTime;\n }\n\n if (endTime !== undefined && endTime !== null) {\n localVarQueryParameter['endTime'] = endTime;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/liquidation/history',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Flexible Loan LTV Adjustment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan LTV Adjustment History(USER_DATA)\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [startTime]\n * @param {number} [endTime]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getFlexibleLoanLtvAdjustmentHistory: async (\n loanCoin?: string,\n collateralCoin?: string,\n startTime?: number,\n endTime?: number,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (startTime !== undefined && startTime !== null) {\n localVarQueryParameter['startTime'] = startTime;\n }\n\n if (endTime !== undefined && endTime !== null) {\n localVarQueryParameter['endTime'] = endTime;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/ltv/adjustment/history',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Flexible Loan Ongoing Orders\n *\n * Weight: 300\n *\n * @summary Get Flexible Loan Ongoing Orders(USER_DATA)\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getFlexibleLoanOngoingOrders: async (\n loanCoin?: string,\n collateralCoin?: string,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/ongoing/orders',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Flexible Loan Repayment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Repayment History(USER_DATA)\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [startTime]\n * @param {number} [endTime]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getFlexibleLoanRepaymentHistory: async (\n loanCoin?: string,\n collateralCoin?: string,\n startTime?: number,\n endTime?: number,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (startTime !== undefined && startTime !== null) {\n localVarQueryParameter['startTime'] = startTime;\n }\n\n if (endTime !== undefined && endTime !== null) {\n localVarQueryParameter['endTime'] = endTime;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v2/loan/flexible/repay/history',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n };\n};\n\n/**\n * FlexibleRateApi - interface\n * @interface FlexibleRateApi\n */\nexport interface FlexibleRateApiInterface {\n /**\n *\n * Weight: 6000\n *\n * @summary Check Collateral Repay Rate (USER_DATA)\n * @param {CheckCollateralRepayRateRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n checkCollateralRepayRate(\n requestParameters: CheckCollateralRepayRateRequest\n ): Promise<RestApiResponse<CheckCollateralRepayRateResponse>>;\n /**\n * Flexible Loan Adjust LTV\n *\n * API Key needs Spot & Margin Trading permission for this endpoint\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Adjust LTV(TRADE)\n * @param {FlexibleLoanAdjustLtvRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n flexibleLoanAdjustLtv(\n requestParameters: FlexibleLoanAdjustLtvRequest\n ): Promise<RestApiResponse<FlexibleLoanAdjustLtvResponse>>;\n /**\n * Borrow Flexible Loan\n *\n *\n * Only available for master account\n * You can customize LTV by entering loanAmount and collateralAmount.\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Borrow(TRADE)\n * @param {FlexibleLoanBorrowRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n flexibleLoanBorrow(\n requestParameters: FlexibleLoanBorrowRequest\n ): Promise<RestApiResponse<FlexibleLoanBorrowResponse>>;\n /**\n * Flexible Loan Repay\n *\n *\n * repayAmount is mandatory even fullRepayment = FALSE\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Repay(TRADE)\n * @param {FlexibleLoanRepayRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n flexibleLoanRepay(\n requestParameters: FlexibleLoanRepayRequest\n ): Promise<RestApiResponse<FlexibleLoanRepayResponse>>;\n /**\n * Get interest rate and borrow limit of flexible loanable assets. The borrow limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Assets Data(USER_DATA)\n * @param {GetFlexibleLoanAssetsDataRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n getFlexibleLoanAssetsData(\n requestParameters?: GetFlexibleLoanAssetsDataRequest\n ): Promise<RestApiResponse<GetFlexibleLoanAssetsDataResponse>>;\n /**\n * Get Flexible Loan Borrow History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Borrow History(USER_DATA)\n * @param {GetFlexibleLoanBorrowHistoryRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n getFlexibleLoanBorrowHistory(\n requestParameters?: GetFlexibleLoanBorrowHistoryRequest\n ): Promise<RestApiResponse<GetFlexibleLoanBorrowHistoryResponse>>;\n /**\n * Get LTV information and collateral limit of flexible loan's collateral assets. The collateral limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Collateral Assets Data(USER_DATA)\n * @param {GetFlexibleLoanCollateralAssetsDataRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n getFlexibleLoanCollateralAssetsData(\n requestParameters?: GetFlexibleLoanCollateralAssetsDataRequest\n ): Promise<RestApiResponse<GetFlexibleLoanCollateralAssetsDataResponse>>;\n /**\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Liquidation History (USER_DATA)\n * @param {GetFlexibleLoanLiquidationHistoryRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n getFlexibleLoanLiquidationHistory(\n requestParameters?: GetFlexibleLoanLiquidationHistoryRequest\n ): Promise<RestApiResponse<GetFlexibleLoanLiquidationHistoryResponse>>;\n /**\n * Get Flexible Loan LTV Adjustment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan LTV Adjustment History(USER_DATA)\n * @param {GetFlexibleLoanLtvAdjustmentHistoryRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n getFlexibleLoanLtvAdjustmentHistory(\n requestParameters?: GetFlexibleLoanLtvAdjustmentHistoryRequest\n ): Promise<RestApiResponse<GetFlexibleLoanLtvAdjustmentHistoryResponse>>;\n /**\n * Get Flexible Loan Ongoing Orders\n *\n * Weight: 300\n *\n * @summary Get Flexible Loan Ongoing Orders(USER_DATA)\n * @param {GetFlexibleLoanOngoingOrdersRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n getFlexibleLoanOngoingOrders(\n requestParameters?: GetFlexibleLoanOngoingOrdersRequest\n ): Promise<RestApiResponse<GetFlexibleLoanOngoingOrdersResponse>>;\n /**\n * Get Flexible Loan Repayment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Repayment History(USER_DATA)\n * @param {GetFlexibleLoanRepaymentHistoryRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApiInterface\n */\n getFlexibleLoanRepaymentHistory(\n requestParameters?: GetFlexibleLoanRepaymentHistoryRequest\n ): Promise<RestApiResponse<GetFlexibleLoanRepaymentHistoryResponse>>;\n}\n\n/**\n * Request parameters for checkCollateralRepayRate operation in FlexibleRateApi.\n * @interface CheckCollateralRepayRateRequest\n */\nexport interface CheckCollateralRepayRateRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiCheckCollateralRepayRate\n */\n readonly loanCoin: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiCheckCollateralRepayRate\n */\n readonly collateralCoin: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiCheckCollateralRepayRate\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for flexibleLoanAdjustLtv operation in FlexibleRateApi.\n * @interface FlexibleLoanAdjustLtvRequest\n */\nexport interface FlexibleLoanAdjustLtvRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiFlexibleLoanAdjustLtv\n */\n readonly loanCoin: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiFlexibleLoanAdjustLtv\n */\n readonly collateralCoin: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiFlexibleLoanAdjustLtv\n */\n readonly adjustmentAmount: number;\n\n /**\n * \"ADDITIONAL\", \"REDUCED\"\n * @type {string}\n * @memberof FlexibleRateApiFlexibleLoanAdjustLtv\n */\n readonly direction: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiFlexibleLoanAdjustLtv\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for flexibleLoanBorrow operation in FlexibleRateApi.\n * @interface FlexibleLoanBorrowRequest\n */\nexport interface FlexibleLoanBorrowRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiFlexibleLoanBorrow\n */\n readonly loanCoin: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiFlexibleLoanBorrow\n */\n readonly collateralCoin: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiFlexibleLoanBorrow\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for flexibleLoanRepay operation in FlexibleRateApi.\n * @interface FlexibleLoanRepayRequest\n */\nexport interface FlexibleLoanRepayRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiFlexibleLoanRepay\n */\n readonly loanCoin: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiFlexibleLoanRepay\n */\n readonly collateralCoin: string;\n\n /**\n * repay amount of loanCoin\n * @type {number}\n * @memberof FlexibleRateApiFlexibleLoanRepay\n */\n readonly repayAmount: number;\n\n /**\n * Default: TRUE. TRUE: Return extra collateral to spot account; FALSE: Keep extra collateral in the order, and lower LTV.\n * @type {boolean}\n * @memberof FlexibleRateApiFlexibleLoanRepay\n */\n readonly collateralReturn?: boolean;\n\n /**\n * Default: FALSE. TRUE: Full repayment; FALSE: Partial repayment, based on loanAmount\n * @type {boolean}\n * @memberof FlexibleRateApiFlexibleLoanRepay\n */\n readonly fullRepayment?: boolean;\n\n /**\n * Default: 1. 1: Repayment with loan asset; 2: Repayment with collateral\n * @type {number}\n * @memberof FlexibleRateApiFlexibleLoanRepay\n */\n readonly repaymentType?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiFlexibleLoanRepay\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getFlexibleLoanAssetsData operation in FlexibleRateApi.\n * @interface GetFlexibleLoanAssetsDataRequest\n */\nexport interface GetFlexibleLoanAssetsDataRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanAssetsData\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanAssetsData\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getFlexibleLoanBorrowHistory operation in FlexibleRateApi.\n * @interface GetFlexibleLoanBorrowHistoryRequest\n */\nexport interface GetFlexibleLoanBorrowHistoryRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanBorrowHistory\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanBorrowHistory\n */\n readonly collateralCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanBorrowHistory\n */\n readonly startTime?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanBorrowHistory\n */\n readonly endTime?: number;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanBorrowHistory\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanBorrowHistory\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanBorrowHistory\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getFlexibleLoanCollateralAssetsData operation in FlexibleRateApi.\n * @interface GetFlexibleLoanCollateralAssetsDataRequest\n */\nexport interface GetFlexibleLoanCollateralAssetsDataRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanCollateralAssetsData\n */\n readonly collateralCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanCollateralAssetsData\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getFlexibleLoanLiquidationHistory operation in FlexibleRateApi.\n * @interface GetFlexibleLoanLiquidationHistoryRequest\n */\nexport interface GetFlexibleLoanLiquidationHistoryRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanLiquidationHistory\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanLiquidationHistory\n */\n readonly collateralCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLiquidationHistory\n */\n readonly startTime?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLiquidationHistory\n */\n readonly endTime?: number;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLiquidationHistory\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLiquidationHistory\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLiquidationHistory\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getFlexibleLoanLtvAdjustmentHistory operation in FlexibleRateApi.\n * @interface GetFlexibleLoanLtvAdjustmentHistoryRequest\n */\nexport interface GetFlexibleLoanLtvAdjustmentHistoryRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanLtvAdjustmentHistory\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanLtvAdjustmentHistory\n */\n readonly collateralCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLtvAdjustmentHistory\n */\n readonly startTime?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLtvAdjustmentHistory\n */\n readonly endTime?: number;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLtvAdjustmentHistory\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLtvAdjustmentHistory\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanLtvAdjustmentHistory\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getFlexibleLoanOngoingOrders operation in FlexibleRateApi.\n * @interface GetFlexibleLoanOngoingOrdersRequest\n */\nexport interface GetFlexibleLoanOngoingOrdersRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanOngoingOrders\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanOngoingOrders\n */\n readonly collateralCoin?: string;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanOngoingOrders\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanOngoingOrders\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanOngoingOrders\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getFlexibleLoanRepaymentHistory operation in FlexibleRateApi.\n * @interface GetFlexibleLoanRepaymentHistoryRequest\n */\nexport interface GetFlexibleLoanRepaymentHistoryRequest {\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanRepaymentHistory\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof FlexibleRateApiGetFlexibleLoanRepaymentHistory\n */\n readonly collateralCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanRepaymentHistory\n */\n readonly startTime?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanRepaymentHistory\n */\n readonly endTime?: number;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanRepaymentHistory\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanRepaymentHistory\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof FlexibleRateApiGetFlexibleLoanRepaymentHistory\n */\n readonly recvWindow?: number;\n}\n\n/**\n * FlexibleRateApi - object-oriented interface\n * @class FlexibleRateApi\n */\nexport class FlexibleRateApi implements FlexibleRateApiInterface {\n private readonly configuration: ConfigurationRestAPI;\n private localVarAxiosParamCreator;\n\n constructor(configuration: ConfigurationRestAPI) {\n this.configuration = configuration;\n this.localVarAxiosParamCreator = FlexibleRateApiAxiosParamCreator(configuration);\n }\n\n /**\n *\n * Weight: 6000\n *\n * @summary Check Collateral Repay Rate (USER_DATA)\n * @param {CheckCollateralRepayRateRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CheckCollateralRepayRateResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Check-Collateral-Repay-Rate Binance API Documentation}\n */\n public async checkCollateralRepayRate(\n requestParameters: CheckCollateralRepayRateRequest\n ): Promise<RestApiResponse<CheckCollateralRepayRateResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.checkCollateralRepayRate(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.recvWindow\n );\n return sendRequest<CheckCollateralRepayRateResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Flexible Loan Adjust LTV\n *\n * API Key needs Spot & Margin Trading permission for this endpoint\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Adjust LTV(TRADE)\n * @param {FlexibleLoanAdjustLtvRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<FlexibleLoanAdjustLtvResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Adjust-LTV Binance API Documentation}\n */\n public async flexibleLoanAdjustLtv(\n requestParameters: FlexibleLoanAdjustLtvRequest\n ): Promise<RestApiResponse<FlexibleLoanAdjustLtvResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.flexibleLoanAdjustLtv(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.adjustmentAmount,\n requestParameters?.direction,\n requestParameters?.recvWindow\n );\n return sendRequest<FlexibleLoanAdjustLtvResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Borrow Flexible Loan\n *\n *\n * Only available for master account\n * You can customize LTV by entering loanAmount and collateralAmount.\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Borrow(TRADE)\n * @param {FlexibleLoanBorrowRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<FlexibleLoanBorrowResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Borrow Binance API Documentation}\n */\n public async flexibleLoanBorrow(\n requestParameters: FlexibleLoanBorrowRequest\n ): Promise<RestApiResponse<FlexibleLoanBorrowResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.flexibleLoanBorrow(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.recvWindow\n );\n return sendRequest<FlexibleLoanBorrowResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Flexible Loan Repay\n *\n *\n * repayAmount is mandatory even fullRepayment = FALSE\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Repay(TRADE)\n * @param {FlexibleLoanRepayRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<FlexibleLoanRepayResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Repay Binance API Documentation}\n */\n public async flexibleLoanRepay(\n requestParameters: FlexibleLoanRepayRequest\n ): Promise<RestApiResponse<FlexibleLoanRepayResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.flexibleLoanRepay(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.repayAmount,\n requestParameters?.collateralReturn,\n requestParameters?.fullRepayment,\n requestParameters?.repaymentType,\n requestParameters?.recvWindow\n );\n return sendRequest<FlexibleLoanRepayResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get interest rate and borrow limit of flexible loanable assets. The borrow limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Assets Data(USER_DATA)\n * @param {GetFlexibleLoanAssetsDataRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanAssetsDataResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/market-data/Get-Flexible-Loan-Assets-Data Binance API Documentation}\n */\n public async getFlexibleLoanAssetsData(\n requestParameters: GetFlexibleLoanAssetsDataRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanAssetsDataResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getFlexibleLoanAssetsData(\n requestParameters?.loanCoin,\n requestParameters?.recvWindow\n );\n return sendRequest<GetFlexibleLoanAssetsDataResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Flexible Loan Borrow History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Borrow History(USER_DATA)\n * @param {GetFlexibleLoanBorrowHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanBorrowHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Borrow-History Binance API Documentation}\n */\n public async getFlexibleLoanBorrowHistory(\n requestParameters: GetFlexibleLoanBorrowHistoryRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanBorrowHistoryResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getFlexibleLoanBorrowHistory(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.startTime,\n requestParameters?.endTime,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetFlexibleLoanBorrowHistoryResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get LTV information and collateral limit of flexible loan's collateral assets. The collateral limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Collateral Assets Data(USER_DATA)\n * @param {GetFlexibleLoanCollateralAssetsDataRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanCollateralAssetsDataResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/market-data/Get-Flexible-Loan-Collateral-Assets-Data Binance API Documentation}\n */\n public async getFlexibleLoanCollateralAssetsData(\n requestParameters: GetFlexibleLoanCollateralAssetsDataRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanCollateralAssetsDataResponse>> {\n const localVarAxiosArgs =\n await this.localVarAxiosParamCreator.getFlexibleLoanCollateralAssetsData(\n requestParameters?.collateralCoin,\n requestParameters?.recvWindow\n );\n return sendRequest<GetFlexibleLoanCollateralAssetsDataResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Liquidation History (USER_DATA)\n * @param {GetFlexibleLoanLiquidationHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanLiquidationHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Liquidation-History Binance API Documentation}\n */\n public async getFlexibleLoanLiquidationHistory(\n requestParameters: GetFlexibleLoanLiquidationHistoryRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanLiquidationHistoryResponse>> {\n const localVarAxiosArgs =\n await this.localVarAxiosParamCreator.getFlexibleLoanLiquidationHistory(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.startTime,\n requestParameters?.endTime,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetFlexibleLoanLiquidationHistoryResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Flexible Loan LTV Adjustment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan LTV Adjustment History(USER_DATA)\n * @param {GetFlexibleLoanLtvAdjustmentHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanLtvAdjustmentHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-LTV-Adjustment-History Binance API Documentation}\n */\n public async getFlexibleLoanLtvAdjustmentHistory(\n requestParameters: GetFlexibleLoanLtvAdjustmentHistoryRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanLtvAdjustmentHistoryResponse>> {\n const localVarAxiosArgs =\n await this.localVarAxiosParamCreator.getFlexibleLoanLtvAdjustmentHistory(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.startTime,\n requestParameters?.endTime,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetFlexibleLoanLtvAdjustmentHistoryResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Flexible Loan Ongoing Orders\n *\n * Weight: 300\n *\n * @summary Get Flexible Loan Ongoing Orders(USER_DATA)\n * @param {GetFlexibleLoanOngoingOrdersRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanOngoingOrdersResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Ongoing-Orders Binance API Documentation}\n */\n public async getFlexibleLoanOngoingOrders(\n requestParameters: GetFlexibleLoanOngoingOrdersRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanOngoingOrdersResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getFlexibleLoanOngoingOrders(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetFlexibleLoanOngoingOrdersResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Flexible Loan Repayment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Repayment History(USER_DATA)\n * @param {GetFlexibleLoanRepaymentHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanRepaymentHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof FlexibleRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Repayment-History Binance API Documentation}\n */\n public async getFlexibleLoanRepaymentHistory(\n requestParameters: GetFlexibleLoanRepaymentHistoryRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanRepaymentHistoryResponse>> {\n const localVarAxiosArgs =\n await this.localVarAxiosParamCreator.getFlexibleLoanRepaymentHistory(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.startTime,\n requestParameters?.endTime,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetFlexibleLoanRepaymentHistoryResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n}\n","/**\n * Binance Crypto Loan REST API\n *\n * OpenAPI Specification for the Binance Crypto Loan REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n ConfigurationRestAPI,\n TimeUnit,\n RestApiResponse,\n assertParamExists,\n sendRequest,\n type RequestArgs,\n} from '@binance/common';\nimport type {\n CheckCollateralRepayRateStableRateResponse,\n CryptoLoanAdjustLtvResponse,\n CryptoLoanBorrowResponse,\n CryptoLoanCustomizeMarginCallResponse,\n CryptoLoanRepayResponse,\n GetCollateralAssetsDataResponse,\n GetCryptoLoansIncomeHistoryResponse,\n GetLoanBorrowHistoryResponse,\n GetLoanLtvAdjustmentHistoryResponse,\n GetLoanOngoingOrdersResponse,\n GetLoanRepaymentHistoryResponse,\n GetLoanableAssetsDataResponse,\n} from '../types';\n\n/**\n * StableRateApi - axios parameter creator\n */\nconst StableRateApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n return {\n /**\n * Get the the rate of collateral coin / loan coin when using collateral repay, the rate will be valid within 8 second.\n *\n * Weight: 6000\n *\n * @summary Check Collateral Repay Rate(USER_DATA)\n * @param {string} loanCoin\n * @param {string} collateralCoin\n * @param {number} repayAmount repay amount of loanCoin\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n checkCollateralRepayRateStableRate: async (\n loanCoin: string,\n collateralCoin: string,\n repayAmount: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'loanCoin' is not null or undefined\n assertParamExists('checkCollateralRepayRateStableRate', 'loanCoin', loanCoin);\n // verify required parameter 'collateralCoin' is not null or undefined\n assertParamExists(\n 'checkCollateralRepayRateStableRate',\n 'collateralCoin',\n collateralCoin\n );\n // verify required parameter 'repayAmount' is not null or undefined\n assertParamExists('checkCollateralRepayRateStableRate', 'repayAmount', repayAmount);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (repayAmount !== undefined && repayAmount !== null) {\n localVarQueryParameter['repayAmount'] = repayAmount;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/repay/collateral/rate',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Crypto Loan Adjust LTV\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Adjust LTV(TRADE)\n * @param {number} orderId\n * @param {number} amount\n * @param {string} direction \"ADDITIONAL\", \"REDUCED\"\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n cryptoLoanAdjustLtv: async (\n orderId: number,\n amount: number,\n direction: string,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'orderId' is not null or undefined\n assertParamExists('cryptoLoanAdjustLtv', 'orderId', orderId);\n // verify required parameter 'amount' is not null or undefined\n assertParamExists('cryptoLoanAdjustLtv', 'amount', amount);\n // verify required parameter 'direction' is not null or undefined\n assertParamExists('cryptoLoanAdjustLtv', 'direction', direction);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (orderId !== undefined && orderId !== null) {\n localVarQueryParameter['orderId'] = orderId;\n }\n\n if (amount !== undefined && amount !== null) {\n localVarQueryParameter['amount'] = amount;\n }\n\n if (direction !== undefined && direction !== null) {\n localVarQueryParameter['direction'] = direction;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/adjust/ltv',\n method: 'POST',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Crypto Loan Borrow\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Borrow(TRADE)\n * @param {string} loanCoin\n * @param {string} collateralCoin\n * @param {number} loanTerm 7/30 days\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n cryptoLoanBorrow: async (\n loanCoin: string,\n collateralCoin: string,\n loanTerm: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'loanCoin' is not null or undefined\n assertParamExists('cryptoLoanBorrow', 'loanCoin', loanCoin);\n // verify required parameter 'collateralCoin' is not null or undefined\n assertParamExists('cryptoLoanBorrow', 'collateralCoin', collateralCoin);\n // verify required parameter 'loanTerm' is not null or undefined\n assertParamExists('cryptoLoanBorrow', 'loanTerm', loanTerm);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (loanTerm !== undefined && loanTerm !== null) {\n localVarQueryParameter['loanTerm'] = loanTerm;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/borrow',\n method: 'POST',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Customize Margin Call\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Customize Margin Call(TRADE)\n * @param {number} marginCall\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n cryptoLoanCustomizeMarginCall: async (\n marginCall: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'marginCall' is not null or undefined\n assertParamExists('cryptoLoanCustomizeMarginCall', 'marginCall', marginCall);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (marginCall !== undefined && marginCall !== null) {\n localVarQueryParameter['marginCall'] = marginCall;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/customize/margin_call',\n method: 'POST',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Crypto Loan Repay\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Repay(TRADE)\n * @param {number} orderId\n * @param {number} amount\n * @param {number} [type] Default: 1. 1 for \"repay with borrowed coin\"; 2 for \"repay with collateral\".\n * @param {boolean} [collateralReturn] Default: TRUE. TRUE: Return extra collateral to spot account; FALSE: Keep extra collateral in the order, and lower LTV.\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n cryptoLoanRepay: async (\n orderId: number,\n amount: number,\n type?: number,\n collateralReturn?: boolean,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n // verify required parameter 'orderId' is not null or undefined\n assertParamExists('cryptoLoanRepay', 'orderId', orderId);\n // verify required parameter 'amount' is not null or undefined\n assertParamExists('cryptoLoanRepay', 'amount', amount);\n\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (orderId !== undefined && orderId !== null) {\n localVarQueryParameter['orderId'] = orderId;\n }\n\n if (amount !== undefined && amount !== null) {\n localVarQueryParameter['amount'] = amount;\n }\n\n if (type !== undefined && type !== null) {\n localVarQueryParameter['type'] = type;\n }\n\n if (collateralReturn !== undefined && collateralReturn !== null) {\n localVarQueryParameter['collateralReturn'] = collateralReturn;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/repay',\n method: 'POST',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get LTV information and collateral limit of collateral assets. The collateral limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Collateral Assets Data(USER_DATA)\n * @param {string} [collateralCoin]\n * @param {number} [vipLevel] Default: user's vip level. Send \"-1\" to check specified configuration\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getCollateralAssetsData: async (\n collateralCoin?: string,\n vipLevel?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (vipLevel !== undefined && vipLevel !== null) {\n localVarQueryParameter['vipLevel'] = vipLevel;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/collateral/data',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Crypto Loans Income History\n *\n * If startTime and endTime are not sent, the recent 7-day data will be returned.\n * The max interval between startTime and endTime is 30 days.\n *\n * Weight: 6000\n *\n * @summary Get Crypto Loans Income History(USER_DATA)\n * @param {string} [asset]\n * @param {string} [type] All types will be returned by default. Enum:`borrowIn` ,`collateralSpent`, `repayAmount`, `collateralReturn`(Collateral return after repayment), `addCollateral`, `removeCollateral`, `collateralReturnAfterLiquidation`\n * @param {number} [startTime]\n * @param {number} [endTime]\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getCryptoLoansIncomeHistory: async (\n asset?: string,\n type?: string,\n startTime?: number,\n endTime?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (asset !== undefined && asset !== null) {\n localVarQueryParameter['asset'] = asset;\n }\n\n if (type !== undefined && type !== null) {\n localVarQueryParameter['type'] = type;\n }\n\n if (startTime !== undefined && startTime !== null) {\n localVarQueryParameter['startTime'] = startTime;\n }\n\n if (endTime !== undefined && endTime !== null) {\n localVarQueryParameter['endTime'] = endTime;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/income',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Loan Borrow History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan Borrow History(USER_DATA)\n * @param {number} [orderId]\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [startTime]\n * @param {number} [endTime]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getLoanBorrowHistory: async (\n orderId?: number,\n loanCoin?: string,\n collateralCoin?: string,\n startTime?: number,\n endTime?: number,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (orderId !== undefined && orderId !== null) {\n localVarQueryParameter['orderId'] = orderId;\n }\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (startTime !== undefined && startTime !== null) {\n localVarQueryParameter['startTime'] = startTime;\n }\n\n if (endTime !== undefined && endTime !== null) {\n localVarQueryParameter['endTime'] = endTime;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/borrow/history',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Loan LTV Adjustment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan LTV Adjustment History(USER_DATA)\n * @param {number} [orderId]\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [startTime]\n * @param {number} [endTime]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getLoanLtvAdjustmentHistory: async (\n orderId?: number,\n loanCoin?: string,\n collateralCoin?: string,\n startTime?: number,\n endTime?: number,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (orderId !== undefined && orderId !== null) {\n localVarQueryParameter['orderId'] = orderId;\n }\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (startTime !== undefined && startTime !== null) {\n localVarQueryParameter['startTime'] = startTime;\n }\n\n if (endTime !== undefined && endTime !== null) {\n localVarQueryParameter['endTime'] = endTime;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/ltv/adjustment/history',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Loan Ongoing Orders\n *\n * Weight: 300\n *\n * @summary Get Loan Ongoing Orders(USER_DATA)\n * @param {number} [orderId]\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getLoanOngoingOrders: async (\n orderId?: number,\n loanCoin?: string,\n collateralCoin?: string,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (orderId !== undefined && orderId !== null) {\n localVarQueryParameter['orderId'] = orderId;\n }\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/ongoing/orders',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get Loan Repayment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan Repayment History(USER_DATA)\n * @param {number} [orderId]\n * @param {string} [loanCoin]\n * @param {string} [collateralCoin]\n * @param {number} [startTime]\n * @param {number} [endTime]\n * @param {number} [current] Current querying page. Start from 1; default: 1; max: 1000\n * @param {number} [limit] Default: 10; max: 100\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getLoanRepaymentHistory: async (\n orderId?: number,\n loanCoin?: string,\n collateralCoin?: string,\n startTime?: number,\n endTime?: number,\n current?: number,\n limit?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (orderId !== undefined && orderId !== null) {\n localVarQueryParameter['orderId'] = orderId;\n }\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (collateralCoin !== undefined && collateralCoin !== null) {\n localVarQueryParameter['collateralCoin'] = collateralCoin;\n }\n\n if (startTime !== undefined && startTime !== null) {\n localVarQueryParameter['startTime'] = startTime;\n }\n\n if (endTime !== undefined && endTime !== null) {\n localVarQueryParameter['endTime'] = endTime;\n }\n\n if (current !== undefined && current !== null) {\n localVarQueryParameter['current'] = current;\n }\n\n if (limit !== undefined && limit !== null) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/repay/history',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n /**\n * Get interest rate and borrow limit of loanable assets. The borrow limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Loanable Assets Data(USER_DATA)\n * @param {string} [loanCoin]\n * @param {number} [vipLevel] Default: user's vip level. Send \"-1\" to check specified configuration\n * @param {number} [recvWindow]\n *\n * @throws {RequiredError}\n */\n getLoanableAssetsData: async (\n loanCoin?: string,\n vipLevel?: number,\n recvWindow?: number\n ): Promise<RequestArgs> => {\n const localVarQueryParameter: Record<string, unknown> = {};\n\n if (loanCoin !== undefined && loanCoin !== null) {\n localVarQueryParameter['loanCoin'] = loanCoin;\n }\n\n if (vipLevel !== undefined && vipLevel !== null) {\n localVarQueryParameter['vipLevel'] = vipLevel;\n }\n\n if (recvWindow !== undefined && recvWindow !== null) {\n localVarQueryParameter['recvWindow'] = recvWindow;\n }\n\n let _timeUnit: TimeUnit | undefined;\n if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n return {\n endpoint: '/sapi/v1/loan/loanable/data',\n method: 'GET',\n params: localVarQueryParameter,\n timeUnit: _timeUnit,\n };\n },\n };\n};\n\n/**\n * StableRateApi - interface\n * @interface StableRateApi\n */\nexport interface StableRateApiInterface {\n /**\n * Get the the rate of collateral coin / loan coin when using collateral repay, the rate will be valid within 8 second.\n *\n * Weight: 6000\n *\n * @summary Check Collateral Repay Rate(USER_DATA)\n * @param {CheckCollateralRepayRateStableRateRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n checkCollateralRepayRateStableRate(\n requestParameters: CheckCollateralRepayRateStableRateRequest\n ): Promise<RestApiResponse<CheckCollateralRepayRateStableRateResponse>>;\n /**\n * Crypto Loan Adjust LTV\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Adjust LTV(TRADE)\n * @param {CryptoLoanAdjustLtvRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n cryptoLoanAdjustLtv(\n requestParameters: CryptoLoanAdjustLtvRequest\n ): Promise<RestApiResponse<CryptoLoanAdjustLtvResponse>>;\n /**\n * Crypto Loan Borrow\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Borrow(TRADE)\n * @param {CryptoLoanBorrowRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n cryptoLoanBorrow(\n requestParameters: CryptoLoanBorrowRequest\n ): Promise<RestApiResponse<CryptoLoanBorrowResponse>>;\n /**\n * Customize Margin Call\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Customize Margin Call(TRADE)\n * @param {CryptoLoanCustomizeMarginCallRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n cryptoLoanCustomizeMarginCall(\n requestParameters: CryptoLoanCustomizeMarginCallRequest\n ): Promise<RestApiResponse<CryptoLoanCustomizeMarginCallResponse>>;\n /**\n * Crypto Loan Repay\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Repay(TRADE)\n * @param {CryptoLoanRepayRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n cryptoLoanRepay(\n requestParameters: CryptoLoanRepayRequest\n ): Promise<RestApiResponse<CryptoLoanRepayResponse>>;\n /**\n * Get LTV information and collateral limit of collateral assets. The collateral limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Collateral Assets Data(USER_DATA)\n * @param {GetCollateralAssetsDataRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n getCollateralAssetsData(\n requestParameters?: GetCollateralAssetsDataRequest\n ): Promise<RestApiResponse<GetCollateralAssetsDataResponse>>;\n /**\n * Get Crypto Loans Income History\n *\n * If startTime and endTime are not sent, the recent 7-day data will be returned.\n * The max interval between startTime and endTime is 30 days.\n *\n * Weight: 6000\n *\n * @summary Get Crypto Loans Income History(USER_DATA)\n * @param {GetCryptoLoansIncomeHistoryRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n getCryptoLoansIncomeHistory(\n requestParameters?: GetCryptoLoansIncomeHistoryRequest\n ): Promise<RestApiResponse<GetCryptoLoansIncomeHistoryResponse>>;\n /**\n * Get Loan Borrow History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan Borrow History(USER_DATA)\n * @param {GetLoanBorrowHistoryRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n getLoanBorrowHistory(\n requestParameters?: GetLoanBorrowHistoryRequest\n ): Promise<RestApiResponse<GetLoanBorrowHistoryResponse>>;\n /**\n * Get Loan LTV Adjustment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan LTV Adjustment History(USER_DATA)\n * @param {GetLoanLtvAdjustmentHistoryRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n getLoanLtvAdjustmentHistory(\n requestParameters?: GetLoanLtvAdjustmentHistoryRequest\n ): Promise<RestApiResponse<GetLoanLtvAdjustmentHistoryResponse>>;\n /**\n * Get Loan Ongoing Orders\n *\n * Weight: 300\n *\n * @summary Get Loan Ongoing Orders(USER_DATA)\n * @param {GetLoanOngoingOrdersRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n getLoanOngoingOrders(\n requestParameters?: GetLoanOngoingOrdersRequest\n ): Promise<RestApiResponse<GetLoanOngoingOrdersResponse>>;\n /**\n * Get Loan Repayment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan Repayment History(USER_DATA)\n * @param {GetLoanRepaymentHistoryRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n getLoanRepaymentHistory(\n requestParameters?: GetLoanRepaymentHistoryRequest\n ): Promise<RestApiResponse<GetLoanRepaymentHistoryResponse>>;\n /**\n * Get interest rate and borrow limit of loanable assets. The borrow limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Loanable Assets Data(USER_DATA)\n * @param {GetLoanableAssetsDataRequest} requestParameters Request parameters.\n *\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApiInterface\n */\n getLoanableAssetsData(\n requestParameters?: GetLoanableAssetsDataRequest\n ): Promise<RestApiResponse<GetLoanableAssetsDataResponse>>;\n}\n\n/**\n * Request parameters for checkCollateralRepayRateStableRate operation in StableRateApi.\n * @interface CheckCollateralRepayRateStableRateRequest\n */\nexport interface CheckCollateralRepayRateStableRateRequest {\n /**\n *\n * @type {string}\n * @memberof StableRateApiCheckCollateralRepayRateStableRate\n */\n readonly loanCoin: string;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiCheckCollateralRepayRateStableRate\n */\n readonly collateralCoin: string;\n\n /**\n * repay amount of loanCoin\n * @type {number}\n * @memberof StableRateApiCheckCollateralRepayRateStableRate\n */\n readonly repayAmount: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiCheckCollateralRepayRateStableRate\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cryptoLoanAdjustLtv operation in StableRateApi.\n * @interface CryptoLoanAdjustLtvRequest\n */\nexport interface CryptoLoanAdjustLtvRequest {\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanAdjustLtv\n */\n readonly orderId: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanAdjustLtv\n */\n readonly amount: number;\n\n /**\n * \"ADDITIONAL\", \"REDUCED\"\n * @type {string}\n * @memberof StableRateApiCryptoLoanAdjustLtv\n */\n readonly direction: string;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanAdjustLtv\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cryptoLoanBorrow operation in StableRateApi.\n * @interface CryptoLoanBorrowRequest\n */\nexport interface CryptoLoanBorrowRequest {\n /**\n *\n * @type {string}\n * @memberof StableRateApiCryptoLoanBorrow\n */\n readonly loanCoin: string;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiCryptoLoanBorrow\n */\n readonly collateralCoin: string;\n\n /**\n * 7/30 days\n * @type {number}\n * @memberof StableRateApiCryptoLoanBorrow\n */\n readonly loanTerm: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanBorrow\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cryptoLoanCustomizeMarginCall operation in StableRateApi.\n * @interface CryptoLoanCustomizeMarginCallRequest\n */\nexport interface CryptoLoanCustomizeMarginCallRequest {\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanCustomizeMarginCall\n */\n readonly marginCall: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanCustomizeMarginCall\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cryptoLoanRepay operation in StableRateApi.\n * @interface CryptoLoanRepayRequest\n */\nexport interface CryptoLoanRepayRequest {\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanRepay\n */\n readonly orderId: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanRepay\n */\n readonly amount: number;\n\n /**\n * Default: 1. 1 for \"repay with borrowed coin\"; 2 for \"repay with collateral\".\n * @type {number}\n * @memberof StableRateApiCryptoLoanRepay\n */\n readonly type?: number;\n\n /**\n * Default: TRUE. TRUE: Return extra collateral to spot account; FALSE: Keep extra collateral in the order, and lower LTV.\n * @type {boolean}\n * @memberof StableRateApiCryptoLoanRepay\n */\n readonly collateralReturn?: boolean;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiCryptoLoanRepay\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getCollateralAssetsData operation in StableRateApi.\n * @interface GetCollateralAssetsDataRequest\n */\nexport interface GetCollateralAssetsDataRequest {\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetCollateralAssetsData\n */\n readonly collateralCoin?: string;\n\n /**\n * Default: user's vip level. Send \"-1\" to check specified configuration\n * @type {number}\n * @memberof StableRateApiGetCollateralAssetsData\n */\n readonly vipLevel?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetCollateralAssetsData\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getCryptoLoansIncomeHistory operation in StableRateApi.\n * @interface GetCryptoLoansIncomeHistoryRequest\n */\nexport interface GetCryptoLoansIncomeHistoryRequest {\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetCryptoLoansIncomeHistory\n */\n readonly asset?: string;\n\n /**\n * All types will be returned by default. Enum:`borrowIn` ,`collateralSpent`, `repayAmount`, `collateralReturn`(Collateral return after repayment), `addCollateral`, `removeCollateral`, `collateralReturnAfterLiquidation`\n * @type {string}\n * @memberof StableRateApiGetCryptoLoansIncomeHistory\n */\n readonly type?: string;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetCryptoLoansIncomeHistory\n */\n readonly startTime?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetCryptoLoansIncomeHistory\n */\n readonly endTime?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof StableRateApiGetCryptoLoansIncomeHistory\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetCryptoLoansIncomeHistory\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getLoanBorrowHistory operation in StableRateApi.\n * @interface GetLoanBorrowHistoryRequest\n */\nexport interface GetLoanBorrowHistoryRequest {\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanBorrowHistory\n */\n readonly orderId?: number;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanBorrowHistory\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanBorrowHistory\n */\n readonly collateralCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanBorrowHistory\n */\n readonly startTime?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanBorrowHistory\n */\n readonly endTime?: number;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof StableRateApiGetLoanBorrowHistory\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof StableRateApiGetLoanBorrowHistory\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanBorrowHistory\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getLoanLtvAdjustmentHistory operation in StableRateApi.\n * @interface GetLoanLtvAdjustmentHistoryRequest\n */\nexport interface GetLoanLtvAdjustmentHistoryRequest {\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanLtvAdjustmentHistory\n */\n readonly orderId?: number;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanLtvAdjustmentHistory\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanLtvAdjustmentHistory\n */\n readonly collateralCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanLtvAdjustmentHistory\n */\n readonly startTime?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanLtvAdjustmentHistory\n */\n readonly endTime?: number;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof StableRateApiGetLoanLtvAdjustmentHistory\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof StableRateApiGetLoanLtvAdjustmentHistory\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanLtvAdjustmentHistory\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getLoanOngoingOrders operation in StableRateApi.\n * @interface GetLoanOngoingOrdersRequest\n */\nexport interface GetLoanOngoingOrdersRequest {\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanOngoingOrders\n */\n readonly orderId?: number;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanOngoingOrders\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanOngoingOrders\n */\n readonly collateralCoin?: string;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof StableRateApiGetLoanOngoingOrders\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof StableRateApiGetLoanOngoingOrders\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanOngoingOrders\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getLoanRepaymentHistory operation in StableRateApi.\n * @interface GetLoanRepaymentHistoryRequest\n */\nexport interface GetLoanRepaymentHistoryRequest {\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanRepaymentHistory\n */\n readonly orderId?: number;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanRepaymentHistory\n */\n readonly loanCoin?: string;\n\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanRepaymentHistory\n */\n readonly collateralCoin?: string;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanRepaymentHistory\n */\n readonly startTime?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanRepaymentHistory\n */\n readonly endTime?: number;\n\n /**\n * Current querying page. Start from 1; default: 1; max: 1000\n * @type {number}\n * @memberof StableRateApiGetLoanRepaymentHistory\n */\n readonly current?: number;\n\n /**\n * Default: 10; max: 100\n * @type {number}\n * @memberof StableRateApiGetLoanRepaymentHistory\n */\n readonly limit?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanRepaymentHistory\n */\n readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getLoanableAssetsData operation in StableRateApi.\n * @interface GetLoanableAssetsDataRequest\n */\nexport interface GetLoanableAssetsDataRequest {\n /**\n *\n * @type {string}\n * @memberof StableRateApiGetLoanableAssetsData\n */\n readonly loanCoin?: string;\n\n /**\n * Default: user's vip level. Send \"-1\" to check specified configuration\n * @type {number}\n * @memberof StableRateApiGetLoanableAssetsData\n */\n readonly vipLevel?: number;\n\n /**\n *\n * @type {number}\n * @memberof StableRateApiGetLoanableAssetsData\n */\n readonly recvWindow?: number;\n}\n\n/**\n * StableRateApi - object-oriented interface\n * @class StableRateApi\n */\nexport class StableRateApi implements StableRateApiInterface {\n private readonly configuration: ConfigurationRestAPI;\n private localVarAxiosParamCreator;\n\n constructor(configuration: ConfigurationRestAPI) {\n this.configuration = configuration;\n this.localVarAxiosParamCreator = StableRateApiAxiosParamCreator(configuration);\n }\n\n /**\n * Get the the rate of collateral coin / loan coin when using collateral repay, the rate will be valid within 8 second.\n *\n * Weight: 6000\n *\n * @summary Check Collateral Repay Rate(USER_DATA)\n * @param {CheckCollateralRepayRateStableRateRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CheckCollateralRepayRateStableRateResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/market-data/Check-Collateral-Repay-Rate Binance API Documentation}\n */\n public async checkCollateralRepayRateStableRate(\n requestParameters: CheckCollateralRepayRateStableRateRequest\n ): Promise<RestApiResponse<CheckCollateralRepayRateStableRateResponse>> {\n const localVarAxiosArgs =\n await this.localVarAxiosParamCreator.checkCollateralRepayRateStableRate(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.repayAmount,\n requestParameters?.recvWindow\n );\n return sendRequest<CheckCollateralRepayRateStableRateResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Crypto Loan Adjust LTV\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Adjust LTV(TRADE)\n * @param {CryptoLoanAdjustLtvRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CryptoLoanAdjustLtvResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/trade/Crypto-Loan-Adjust-LTV Binance API Documentation}\n */\n public async cryptoLoanAdjustLtv(\n requestParameters: CryptoLoanAdjustLtvRequest\n ): Promise<RestApiResponse<CryptoLoanAdjustLtvResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.cryptoLoanAdjustLtv(\n requestParameters?.orderId,\n requestParameters?.amount,\n requestParameters?.direction,\n requestParameters?.recvWindow\n );\n return sendRequest<CryptoLoanAdjustLtvResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Crypto Loan Borrow\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Borrow(TRADE)\n * @param {CryptoLoanBorrowRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CryptoLoanBorrowResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/trade/Crypto-Loan-Borrow Binance API Documentation}\n */\n public async cryptoLoanBorrow(\n requestParameters: CryptoLoanBorrowRequest\n ): Promise<RestApiResponse<CryptoLoanBorrowResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.cryptoLoanBorrow(\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.loanTerm,\n requestParameters?.recvWindow\n );\n return sendRequest<CryptoLoanBorrowResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Customize Margin Call\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Customize Margin Call(TRADE)\n * @param {CryptoLoanCustomizeMarginCallRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CryptoLoanCustomizeMarginCallResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/trade/Crypto-Loan-Customize-Margin-Call Binance API Documentation}\n */\n public async cryptoLoanCustomizeMarginCall(\n requestParameters: CryptoLoanCustomizeMarginCallRequest\n ): Promise<RestApiResponse<CryptoLoanCustomizeMarginCallResponse>> {\n const localVarAxiosArgs =\n await this.localVarAxiosParamCreator.cryptoLoanCustomizeMarginCall(\n requestParameters?.marginCall,\n requestParameters?.recvWindow\n );\n return sendRequest<CryptoLoanCustomizeMarginCallResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Crypto Loan Repay\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Repay(TRADE)\n * @param {CryptoLoanRepayRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CryptoLoanRepayResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/trade/Crypto-Loan-Repay Binance API Documentation}\n */\n public async cryptoLoanRepay(\n requestParameters: CryptoLoanRepayRequest\n ): Promise<RestApiResponse<CryptoLoanRepayResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.cryptoLoanRepay(\n requestParameters?.orderId,\n requestParameters?.amount,\n requestParameters?.type,\n requestParameters?.collateralReturn,\n requestParameters?.recvWindow\n );\n return sendRequest<CryptoLoanRepayResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get LTV information and collateral limit of collateral assets. The collateral limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Collateral Assets Data(USER_DATA)\n * @param {GetCollateralAssetsDataRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetCollateralAssetsDataResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/market-data/Get-Collateral-Assets-Data Binance API Documentation}\n */\n public async getCollateralAssetsData(\n requestParameters: GetCollateralAssetsDataRequest = {}\n ): Promise<RestApiResponse<GetCollateralAssetsDataResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getCollateralAssetsData(\n requestParameters?.collateralCoin,\n requestParameters?.vipLevel,\n requestParameters?.recvWindow\n );\n return sendRequest<GetCollateralAssetsDataResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Crypto Loans Income History\n *\n * If startTime and endTime are not sent, the recent 7-day data will be returned.\n * The max interval between startTime and endTime is 30 days.\n *\n * Weight: 6000\n *\n * @summary Get Crypto Loans Income History(USER_DATA)\n * @param {GetCryptoLoansIncomeHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetCryptoLoansIncomeHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/market-data/Get-Crypto-Loans-Income-History Binance API Documentation}\n */\n public async getCryptoLoansIncomeHistory(\n requestParameters: GetCryptoLoansIncomeHistoryRequest = {}\n ): Promise<RestApiResponse<GetCryptoLoansIncomeHistoryResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getCryptoLoansIncomeHistory(\n requestParameters?.asset,\n requestParameters?.type,\n requestParameters?.startTime,\n requestParameters?.endTime,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetCryptoLoansIncomeHistoryResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Loan Borrow History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan Borrow History(USER_DATA)\n * @param {GetLoanBorrowHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanBorrowHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-Borrow-History Binance API Documentation}\n */\n public async getLoanBorrowHistory(\n requestParameters: GetLoanBorrowHistoryRequest = {}\n ): Promise<RestApiResponse<GetLoanBorrowHistoryResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getLoanBorrowHistory(\n requestParameters?.orderId,\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.startTime,\n requestParameters?.endTime,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetLoanBorrowHistoryResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Loan LTV Adjustment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan LTV Adjustment History(USER_DATA)\n * @param {GetLoanLtvAdjustmentHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanLtvAdjustmentHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-LTV-Adjustment-History Binance API Documentation}\n */\n public async getLoanLtvAdjustmentHistory(\n requestParameters: GetLoanLtvAdjustmentHistoryRequest = {}\n ): Promise<RestApiResponse<GetLoanLtvAdjustmentHistoryResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getLoanLtvAdjustmentHistory(\n requestParameters?.orderId,\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.startTime,\n requestParameters?.endTime,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetLoanLtvAdjustmentHistoryResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Loan Ongoing Orders\n *\n * Weight: 300\n *\n * @summary Get Loan Ongoing Orders(USER_DATA)\n * @param {GetLoanOngoingOrdersRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanOngoingOrdersResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-Ongoing-Orders Binance API Documentation}\n */\n public async getLoanOngoingOrders(\n requestParameters: GetLoanOngoingOrdersRequest = {}\n ): Promise<RestApiResponse<GetLoanOngoingOrdersResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getLoanOngoingOrders(\n requestParameters?.orderId,\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetLoanOngoingOrdersResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get Loan Repayment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan Repayment History(USER_DATA)\n * @param {GetLoanRepaymentHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanRepaymentHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-Repayment-History Binance API Documentation}\n */\n public async getLoanRepaymentHistory(\n requestParameters: GetLoanRepaymentHistoryRequest = {}\n ): Promise<RestApiResponse<GetLoanRepaymentHistoryResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getLoanRepaymentHistory(\n requestParameters?.orderId,\n requestParameters?.loanCoin,\n requestParameters?.collateralCoin,\n requestParameters?.startTime,\n requestParameters?.endTime,\n requestParameters?.current,\n requestParameters?.limit,\n requestParameters?.recvWindow\n );\n return sendRequest<GetLoanRepaymentHistoryResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n\n /**\n * Get interest rate and borrow limit of loanable assets. The borrow limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Loanable Assets Data(USER_DATA)\n * @param {GetLoanableAssetsDataRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanableAssetsDataResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @memberof StableRateApi\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/market-data/Get-Loanable-Assets-Data Binance API Documentation}\n */\n public async getLoanableAssetsData(\n requestParameters: GetLoanableAssetsDataRequest = {}\n ): Promise<RestApiResponse<GetLoanableAssetsDataResponse>> {\n const localVarAxiosArgs = await this.localVarAxiosParamCreator.getLoanableAssetsData(\n requestParameters?.loanCoin,\n requestParameters?.vipLevel,\n requestParameters?.recvWindow\n );\n return sendRequest<GetLoanableAssetsDataResponse>(\n this.configuration,\n localVarAxiosArgs.endpoint,\n localVarAxiosArgs.method,\n localVarAxiosArgs.params,\n localVarAxiosArgs?.timeUnit,\n { isSigned: true }\n );\n }\n}\n","/**\n * Binance Crypto Loan REST API\n *\n * OpenAPI Specification for the Binance Crypto Loan REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { ConfigurationRestAPI, RestApiResponse, sendRequest } from '@binance/common';\nimport { FlexibleRateApi } from './modules/flexible-rate-api';\nimport { StableRateApi } from './modules/stable-rate-api';\n\nimport type {\n CheckCollateralRepayRateRequest,\n FlexibleLoanAdjustLtvRequest,\n FlexibleLoanBorrowRequest,\n FlexibleLoanRepayRequest,\n GetFlexibleLoanAssetsDataRequest,\n GetFlexibleLoanBorrowHistoryRequest,\n GetFlexibleLoanCollateralAssetsDataRequest,\n GetFlexibleLoanLiquidationHistoryRequest,\n GetFlexibleLoanLtvAdjustmentHistoryRequest,\n GetFlexibleLoanOngoingOrdersRequest,\n GetFlexibleLoanRepaymentHistoryRequest,\n} from './modules/flexible-rate-api';\nimport type {\n CheckCollateralRepayRateStableRateRequest,\n CryptoLoanAdjustLtvRequest,\n CryptoLoanBorrowRequest,\n CryptoLoanCustomizeMarginCallRequest,\n CryptoLoanRepayRequest,\n GetCollateralAssetsDataRequest,\n GetCryptoLoansIncomeHistoryRequest,\n GetLoanBorrowHistoryRequest,\n GetLoanLtvAdjustmentHistoryRequest,\n GetLoanOngoingOrdersRequest,\n GetLoanRepaymentHistoryRequest,\n GetLoanableAssetsDataRequest,\n} from './modules/stable-rate-api';\n\nimport type {\n CheckCollateralRepayRateResponse,\n FlexibleLoanAdjustLtvResponse,\n FlexibleLoanBorrowResponse,\n FlexibleLoanRepayResponse,\n GetFlexibleLoanAssetsDataResponse,\n GetFlexibleLoanBorrowHistoryResponse,\n GetFlexibleLoanCollateralAssetsDataResponse,\n GetFlexibleLoanLiquidationHistoryResponse,\n GetFlexibleLoanLtvAdjustmentHistoryResponse,\n GetFlexibleLoanOngoingOrdersResponse,\n GetFlexibleLoanRepaymentHistoryResponse,\n} from './types';\nimport type {\n CheckCollateralRepayRateStableRateResponse,\n CryptoLoanAdjustLtvResponse,\n CryptoLoanBorrowResponse,\n CryptoLoanCustomizeMarginCallResponse,\n CryptoLoanRepayResponse,\n GetCollateralAssetsDataResponse,\n GetCryptoLoansIncomeHistoryResponse,\n GetLoanBorrowHistoryResponse,\n GetLoanLtvAdjustmentHistoryResponse,\n GetLoanOngoingOrdersResponse,\n GetLoanRepaymentHistoryResponse,\n GetLoanableAssetsDataResponse,\n} from './types';\n\nexport class RestAPI {\n private configuration: ConfigurationRestAPI;\n private flexibleRateApi: FlexibleRateApi;\n private stableRateApi: StableRateApi;\n\n constructor(configuration: ConfigurationRestAPI) {\n this.configuration = configuration;\n this.flexibleRateApi = new FlexibleRateApi(configuration);\n this.stableRateApi = new StableRateApi(configuration);\n }\n\n /**\n * Generic function to send a request.\n * @param endpoint - The API endpoint to call.\n * @param method - HTTP method to use (GET, POST, DELETE, etc.).\n * @param params - Query parameters for the request.\n *\n * @returns A promise resolving to the response data object.\n */\n sendRequest<T>(\n endpoint: string,\n method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH',\n params: Record<string, unknown> = {}\n ): Promise<RestApiResponse<T>> {\n return sendRequest<T>(this.configuration, endpoint, method, params, undefined);\n }\n\n /**\n * Generic function to send a signed request.\n * @param endpoint - The API endpoint to call.\n * @param method - HTTP method to use (GET, POST, DELETE, etc.).\n * @param params - Query parameters for the request.\n *\n * @returns A promise resolving to the response data object.\n */\n sendSignedRequest<T>(\n endpoint: string,\n method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH',\n params: Record<string, unknown> = {}\n ): Promise<RestApiResponse<T>> {\n return sendRequest<T>(this.configuration, endpoint, method, params, undefined, {\n isSigned: true,\n });\n }\n\n /**\n *\n * Weight: 6000\n *\n * @summary Check Collateral Repay Rate (USER_DATA)\n * @param {CheckCollateralRepayRateRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CheckCollateralRepayRateResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Check-Collateral-Repay-Rate Binance API Documentation}\n */\n checkCollateralRepayRate(\n requestParameters: CheckCollateralRepayRateRequest\n ): Promise<RestApiResponse<CheckCollateralRepayRateResponse>> {\n return this.flexibleRateApi.checkCollateralRepayRate(requestParameters);\n }\n\n /**\n * Flexible Loan Adjust LTV\n *\n * API Key needs Spot & Margin Trading permission for this endpoint\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Adjust LTV(TRADE)\n * @param {FlexibleLoanAdjustLtvRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<FlexibleLoanAdjustLtvResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Adjust-LTV Binance API Documentation}\n */\n flexibleLoanAdjustLtv(\n requestParameters: FlexibleLoanAdjustLtvRequest\n ): Promise<RestApiResponse<FlexibleLoanAdjustLtvResponse>> {\n return this.flexibleRateApi.flexibleLoanAdjustLtv(requestParameters);\n }\n\n /**\n * Borrow Flexible Loan\n *\n *\n * Only available for master account\n * You can customize LTV by entering loanAmount and collateralAmount.\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Borrow(TRADE)\n * @param {FlexibleLoanBorrowRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<FlexibleLoanBorrowResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Borrow Binance API Documentation}\n */\n flexibleLoanBorrow(\n requestParameters: FlexibleLoanBorrowRequest\n ): Promise<RestApiResponse<FlexibleLoanBorrowResponse>> {\n return this.flexibleRateApi.flexibleLoanBorrow(requestParameters);\n }\n\n /**\n * Flexible Loan Repay\n *\n *\n * repayAmount is mandatory even fullRepayment = FALSE\n *\n * Weight: 6000\n *\n * @summary Flexible Loan Repay(TRADE)\n * @param {FlexibleLoanRepayRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<FlexibleLoanRepayResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Repay Binance API Documentation}\n */\n flexibleLoanRepay(\n requestParameters: FlexibleLoanRepayRequest\n ): Promise<RestApiResponse<FlexibleLoanRepayResponse>> {\n return this.flexibleRateApi.flexibleLoanRepay(requestParameters);\n }\n\n /**\n * Get interest rate and borrow limit of flexible loanable assets. The borrow limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Assets Data(USER_DATA)\n * @param {GetFlexibleLoanAssetsDataRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanAssetsDataResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/market-data/Get-Flexible-Loan-Assets-Data Binance API Documentation}\n */\n getFlexibleLoanAssetsData(\n requestParameters: GetFlexibleLoanAssetsDataRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanAssetsDataResponse>> {\n return this.flexibleRateApi.getFlexibleLoanAssetsData(requestParameters);\n }\n\n /**\n * Get Flexible Loan Borrow History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Borrow History(USER_DATA)\n * @param {GetFlexibleLoanBorrowHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanBorrowHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Borrow-History Binance API Documentation}\n */\n getFlexibleLoanBorrowHistory(\n requestParameters: GetFlexibleLoanBorrowHistoryRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanBorrowHistoryResponse>> {\n return this.flexibleRateApi.getFlexibleLoanBorrowHistory(requestParameters);\n }\n\n /**\n * Get LTV information and collateral limit of flexible loan's collateral assets. The collateral limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Collateral Assets Data(USER_DATA)\n * @param {GetFlexibleLoanCollateralAssetsDataRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanCollateralAssetsDataResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/market-data/Get-Flexible-Loan-Collateral-Assets-Data Binance API Documentation}\n */\n getFlexibleLoanCollateralAssetsData(\n requestParameters: GetFlexibleLoanCollateralAssetsDataRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanCollateralAssetsDataResponse>> {\n return this.flexibleRateApi.getFlexibleLoanCollateralAssetsData(requestParameters);\n }\n\n /**\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Liquidation History (USER_DATA)\n * @param {GetFlexibleLoanLiquidationHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanLiquidationHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Liquidation-History Binance API Documentation}\n */\n getFlexibleLoanLiquidationHistory(\n requestParameters: GetFlexibleLoanLiquidationHistoryRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanLiquidationHistoryResponse>> {\n return this.flexibleRateApi.getFlexibleLoanLiquidationHistory(requestParameters);\n }\n\n /**\n * Get Flexible Loan LTV Adjustment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan LTV Adjustment History(USER_DATA)\n * @param {GetFlexibleLoanLtvAdjustmentHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanLtvAdjustmentHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-LTV-Adjustment-History Binance API Documentation}\n */\n getFlexibleLoanLtvAdjustmentHistory(\n requestParameters: GetFlexibleLoanLtvAdjustmentHistoryRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanLtvAdjustmentHistoryResponse>> {\n return this.flexibleRateApi.getFlexibleLoanLtvAdjustmentHistory(requestParameters);\n }\n\n /**\n * Get Flexible Loan Ongoing Orders\n *\n * Weight: 300\n *\n * @summary Get Flexible Loan Ongoing Orders(USER_DATA)\n * @param {GetFlexibleLoanOngoingOrdersRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanOngoingOrdersResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Ongoing-Orders Binance API Documentation}\n */\n getFlexibleLoanOngoingOrders(\n requestParameters: GetFlexibleLoanOngoingOrdersRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanOngoingOrdersResponse>> {\n return this.flexibleRateApi.getFlexibleLoanOngoingOrders(requestParameters);\n }\n\n /**\n * Get Flexible Loan Repayment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Flexible Loan Repayment History(USER_DATA)\n * @param {GetFlexibleLoanRepaymentHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetFlexibleLoanRepaymentHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Repayment-History Binance API Documentation}\n */\n getFlexibleLoanRepaymentHistory(\n requestParameters: GetFlexibleLoanRepaymentHistoryRequest = {}\n ): Promise<RestApiResponse<GetFlexibleLoanRepaymentHistoryResponse>> {\n return this.flexibleRateApi.getFlexibleLoanRepaymentHistory(requestParameters);\n }\n\n /**\n * Get the the rate of collateral coin / loan coin when using collateral repay, the rate will be valid within 8 second.\n *\n * Weight: 6000\n *\n * @summary Check Collateral Repay Rate(USER_DATA)\n * @param {CheckCollateralRepayRateStableRateRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CheckCollateralRepayRateStableRateResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/market-data/Check-Collateral-Repay-Rate Binance API Documentation}\n */\n checkCollateralRepayRateStableRate(\n requestParameters: CheckCollateralRepayRateStableRateRequest\n ): Promise<RestApiResponse<CheckCollateralRepayRateStableRateResponse>> {\n return this.stableRateApi.checkCollateralRepayRateStableRate(requestParameters);\n }\n\n /**\n * Crypto Loan Adjust LTV\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Adjust LTV(TRADE)\n * @param {CryptoLoanAdjustLtvRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CryptoLoanAdjustLtvResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/trade/Crypto-Loan-Adjust-LTV Binance API Documentation}\n */\n cryptoLoanAdjustLtv(\n requestParameters: CryptoLoanAdjustLtvRequest\n ): Promise<RestApiResponse<CryptoLoanAdjustLtvResponse>> {\n return this.stableRateApi.cryptoLoanAdjustLtv(requestParameters);\n }\n\n /**\n * Crypto Loan Borrow\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Borrow(TRADE)\n * @param {CryptoLoanBorrowRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CryptoLoanBorrowResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/trade/Crypto-Loan-Borrow Binance API Documentation}\n */\n cryptoLoanBorrow(\n requestParameters: CryptoLoanBorrowRequest\n ): Promise<RestApiResponse<CryptoLoanBorrowResponse>> {\n return this.stableRateApi.cryptoLoanBorrow(requestParameters);\n }\n\n /**\n * Customize Margin Call\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Customize Margin Call(TRADE)\n * @param {CryptoLoanCustomizeMarginCallRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CryptoLoanCustomizeMarginCallResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/trade/Crypto-Loan-Customize-Margin-Call Binance API Documentation}\n */\n cryptoLoanCustomizeMarginCall(\n requestParameters: CryptoLoanCustomizeMarginCallRequest\n ): Promise<RestApiResponse<CryptoLoanCustomizeMarginCallResponse>> {\n return this.stableRateApi.cryptoLoanCustomizeMarginCall(requestParameters);\n }\n\n /**\n * Crypto Loan Repay\n *\n * Weight: 6000\n *\n * @summary Crypto Loan Repay(TRADE)\n * @param {CryptoLoanRepayRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<CryptoLoanRepayResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/trade/Crypto-Loan-Repay Binance API Documentation}\n */\n cryptoLoanRepay(\n requestParameters: CryptoLoanRepayRequest\n ): Promise<RestApiResponse<CryptoLoanRepayResponse>> {\n return this.stableRateApi.cryptoLoanRepay(requestParameters);\n }\n\n /**\n * Get LTV information and collateral limit of collateral assets. The collateral limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Collateral Assets Data(USER_DATA)\n * @param {GetCollateralAssetsDataRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetCollateralAssetsDataResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/market-data/Get-Collateral-Assets-Data Binance API Documentation}\n */\n getCollateralAssetsData(\n requestParameters: GetCollateralAssetsDataRequest = {}\n ): Promise<RestApiResponse<GetCollateralAssetsDataResponse>> {\n return this.stableRateApi.getCollateralAssetsData(requestParameters);\n }\n\n /**\n * Get Crypto Loans Income History\n *\n * If startTime and endTime are not sent, the recent 7-day data will be returned.\n * The max interval between startTime and endTime is 30 days.\n *\n * Weight: 6000\n *\n * @summary Get Crypto Loans Income History(USER_DATA)\n * @param {GetCryptoLoansIncomeHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetCryptoLoansIncomeHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/market-data/Get-Crypto-Loans-Income-History Binance API Documentation}\n */\n getCryptoLoansIncomeHistory(\n requestParameters: GetCryptoLoansIncomeHistoryRequest = {}\n ): Promise<RestApiResponse<GetCryptoLoansIncomeHistoryResponse>> {\n return this.stableRateApi.getCryptoLoansIncomeHistory(requestParameters);\n }\n\n /**\n * Get Loan Borrow History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan Borrow History(USER_DATA)\n * @param {GetLoanBorrowHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanBorrowHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-Borrow-History Binance API Documentation}\n */\n getLoanBorrowHistory(\n requestParameters: GetLoanBorrowHistoryRequest = {}\n ): Promise<RestApiResponse<GetLoanBorrowHistoryResponse>> {\n return this.stableRateApi.getLoanBorrowHistory(requestParameters);\n }\n\n /**\n * Get Loan LTV Adjustment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan LTV Adjustment History(USER_DATA)\n * @param {GetLoanLtvAdjustmentHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanLtvAdjustmentHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-LTV-Adjustment-History Binance API Documentation}\n */\n getLoanLtvAdjustmentHistory(\n requestParameters: GetLoanLtvAdjustmentHistoryRequest = {}\n ): Promise<RestApiResponse<GetLoanLtvAdjustmentHistoryResponse>> {\n return this.stableRateApi.getLoanLtvAdjustmentHistory(requestParameters);\n }\n\n /**\n * Get Loan Ongoing Orders\n *\n * Weight: 300\n *\n * @summary Get Loan Ongoing Orders(USER_DATA)\n * @param {GetLoanOngoingOrdersRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanOngoingOrdersResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-Ongoing-Orders Binance API Documentation}\n */\n getLoanOngoingOrders(\n requestParameters: GetLoanOngoingOrdersRequest = {}\n ): Promise<RestApiResponse<GetLoanOngoingOrdersResponse>> {\n return this.stableRateApi.getLoanOngoingOrders(requestParameters);\n }\n\n /**\n * Get Loan Repayment History\n *\n * If startTime and endTime are not sent, the recent 90-day data will be returned.\n * The max interval between startTime and endTime is 180 days.\n *\n * Weight: 400\n *\n * @summary Get Loan Repayment History(USER_DATA)\n * @param {GetLoanRepaymentHistoryRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanRepaymentHistoryResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-Repayment-History Binance API Documentation}\n */\n getLoanRepaymentHistory(\n requestParameters: GetLoanRepaymentHistoryRequest = {}\n ): Promise<RestApiResponse<GetLoanRepaymentHistoryResponse>> {\n return this.stableRateApi.getLoanRepaymentHistory(requestParameters);\n }\n\n /**\n * Get interest rate and borrow limit of loanable assets. The borrow limit is shown in USD value.\n *\n * Weight: 400\n *\n * @summary Get Loanable Assets Data(USER_DATA)\n * @param {GetLoanableAssetsDataRequest} requestParameters Request parameters.\n * @returns {Promise<RestApiResponse<GetLoanableAssetsDataResponse>>}\n * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n * @see {@link https://developers.binance.com/docs/crypto_loan/stable-rate/market-data/Get-Loanable-Assets-Data Binance API Documentation}\n */\n getLoanableAssetsData(\n requestParameters: GetLoanableAssetsDataRequest = {}\n ): Promise<RestApiResponse<GetLoanableAssetsDataResponse>> {\n return this.stableRateApi.getLoanableAssetsData(requestParameters);\n }\n}\n"],"mappings":"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","names":["import_common","import_common","import_common","import_common"]}