@yuants/vendor-huobi 0.11.41 → 0.12.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.
Files changed (80) hide show
  1. package/dist/account-info.js +235 -0
  2. package/dist/account-info.js.map +1 -0
  3. package/dist/api/private-api.js +251 -0
  4. package/dist/api/private-api.js.map +1 -0
  5. package/dist/api/public-api.js +145 -0
  6. package/dist/api/public-api.js.map +1 -0
  7. package/dist/api.js +0 -279
  8. package/dist/api.js.map +1 -1
  9. package/dist/index.js +28 -524
  10. package/dist/index.js.map +1 -1
  11. package/dist/interest_rate.js +2 -2
  12. package/dist/interest_rate.js.map +1 -1
  13. package/dist/order-actions-with-credentials.js +31 -0
  14. package/dist/order-actions-with-credentials.js.map +1 -0
  15. package/dist/order-actions.js +29 -0
  16. package/dist/order-actions.js.map +1 -0
  17. package/dist/orders/submitOrder.js +82 -0
  18. package/dist/orders/submitOrder.js.map +1 -0
  19. package/dist/product.js +4 -4
  20. package/dist/product.js.map +1 -1
  21. package/dist/quote.js +5 -5
  22. package/dist/quote.js.map +1 -1
  23. package/dist/transfer.js +248 -0
  24. package/dist/transfer.js.map +1 -0
  25. package/dist/uid.js +22 -0
  26. package/dist/uid.js.map +1 -0
  27. package/lib/account-info.d.ts +35 -0
  28. package/lib/account-info.d.ts.map +1 -0
  29. package/lib/account-info.js +243 -0
  30. package/lib/account-info.js.map +1 -0
  31. package/lib/api/private-api.d.ts +471 -0
  32. package/lib/api/private-api.d.ts.map +1 -0
  33. package/lib/api/private-api.js +280 -0
  34. package/lib/api/private-api.js.map +1 -0
  35. package/lib/api/public-api.d.ts +308 -0
  36. package/lib/api/public-api.d.ts.map +1 -0
  37. package/lib/api/public-api.js +158 -0
  38. package/lib/api/public-api.js.map +1 -0
  39. package/lib/api.d.ts +2 -621
  40. package/lib/api.d.ts.map +1 -1
  41. package/lib/api.js +0 -279
  42. package/lib/api.js.map +1 -1
  43. package/lib/index.d.ts +1 -0
  44. package/lib/index.d.ts.map +1 -1
  45. package/lib/index.js +26 -522
  46. package/lib/index.js.map +1 -1
  47. package/lib/interest_rate.js +2 -2
  48. package/lib/interest_rate.js.map +1 -1
  49. package/lib/order-actions-with-credentials.d.ts +2 -0
  50. package/lib/order-actions-with-credentials.d.ts.map +1 -0
  51. package/lib/order-actions-with-credentials.js +33 -0
  52. package/lib/order-actions-with-credentials.js.map +1 -0
  53. package/lib/order-actions.d.ts +7 -0
  54. package/lib/order-actions.d.ts.map +1 -0
  55. package/lib/order-actions.js +33 -0
  56. package/lib/order-actions.js.map +1 -0
  57. package/lib/orders/submitOrder.d.ts +11 -0
  58. package/lib/orders/submitOrder.d.ts.map +1 -0
  59. package/lib/orders/submitOrder.js +87 -0
  60. package/lib/orders/submitOrder.js.map +1 -0
  61. package/lib/product.js +4 -4
  62. package/lib/product.js.map +1 -1
  63. package/lib/quote.js +5 -5
  64. package/lib/quote.js.map +1 -1
  65. package/lib/transfer.d.ts +19 -0
  66. package/lib/transfer.d.ts.map +1 -0
  67. package/lib/transfer.js +255 -0
  68. package/lib/transfer.js.map +1 -0
  69. package/lib/uid.d.ts +13 -0
  70. package/lib/uid.d.ts.map +1 -0
  71. package/lib/uid.js +26 -0
  72. package/lib/uid.js.map +1 -0
  73. package/package.json +1 -1
  74. package/temp/package-deps.json +16 -9
  75. package/dist/logger.js +0 -91
  76. package/dist/logger.js.map +0 -1
  77. package/lib/logger.d.ts +0 -21
  78. package/lib/logger.d.ts.map +0 -1
  79. package/lib/logger.js +0 -98
  80. package/lib/logger.js.map +0 -1
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getV2ReferenceCurrencies = exports.getSwapCrossLadderMargin = exports.getSwapHistoricalFundingRate = exports.getSwapMarketBbo = exports.getSwapOpenInterest = exports.getSwapMarketTrade = exports.getSwapBatchFundingRate = exports.getSpotTick = exports.getSpotSymbols = exports.getPerpetualContractSymbols = void 0;
4
+ const utils_1 = require("@yuants/utils");
5
+ // Huobi API 根域名
6
+ const SWAP_API_ROOT = 'api.hbdm.com';
7
+ const SPOT_API_ROOT = 'api.huobi.pro';
8
+ /**
9
+ * 公共 API 请求方法
10
+ */
11
+ async function publicRequest(method, path, api_root, params) {
12
+ const url = new URL(`https://${api_root}${path}`);
13
+ if (method === 'GET') {
14
+ for (const [k, v] of Object.entries(params || {})) {
15
+ url.searchParams.append(k, String(v));
16
+ }
17
+ }
18
+ const body = method === 'GET' ? '' : JSON.stringify(params);
19
+ console.info((0, utils_1.formatTime)(Date.now()), method, url.href, body);
20
+ const res = await fetch(url.href, {
21
+ method,
22
+ headers: { 'Content-Type': 'application/json' },
23
+ body: body || undefined,
24
+ });
25
+ console.info((0, utils_1.formatTime)(Date.now()), 'PublicResponse', url.toString(), res.status);
26
+ const retStr = await res.text();
27
+ try {
28
+ return JSON.parse(retStr);
29
+ }
30
+ catch (e) {
31
+ console.error((0, utils_1.formatTime)(Date.now()), 'huobiRequestFailed', path, JSON.stringify(params), retStr);
32
+ throw e;
33
+ }
34
+ }
35
+ // ==================== 公共 API 方法 ====================
36
+ /**
37
+ * 获取永续合约产品信息
38
+ *
39
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=8cb72f34-77b5-11ed-9966-0242ac110003
40
+ */
41
+ function getPerpetualContractSymbols(params) {
42
+ return publicRequest('GET', '/linear-swap-api/v1/swap_contract_info', SWAP_API_ROOT, params);
43
+ }
44
+ exports.getPerpetualContractSymbols = getPerpetualContractSymbols;
45
+ /**
46
+ * 获取现货产品信息
47
+ *
48
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=7ec47f16-7773-11ed-9966-0242ac110003
49
+ */
50
+ function getSpotSymbols() {
51
+ return publicRequest('GET', '/v2/settings/common/symbols', SPOT_API_ROOT);
52
+ }
53
+ exports.getSpotSymbols = getSpotSymbols;
54
+ /**
55
+ * 获取现货行情
56
+ *
57
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=7ec3fc25-7773-11ed-9966-0242ac110003
58
+ */
59
+ function getSpotTick(params) {
60
+ return publicRequest('GET', `/market/detail/merged`, SPOT_API_ROOT, params);
61
+ }
62
+ exports.getSpotTick = getSpotTick;
63
+ /**
64
+ * 【通用】批量获取合约资金费率
65
+ *
66
+ * 接口权限: 读取
67
+ *
68
+ * 限频: 其他非行情类的公开接口,比如获取指数信息,限价信息,交割结算、平台持仓信息等,所有用户都是每个IP3秒最多240次请求(所有该IP的非行情类的公开接口请求共享3秒240次的额度)
69
+ *
70
+ * 接口描述: 该接口支持全仓模式和逐仓模式
71
+ *
72
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=8cb71b45-77b5-11ed-9966-0242ac110003
73
+ */
74
+ function getSwapBatchFundingRate(params) {
75
+ return publicRequest('GET', `/linear-swap-api/v1/swap_batch_funding_rate`, SWAP_API_ROOT, params);
76
+ }
77
+ exports.getSwapBatchFundingRate = getSwapBatchFundingRate;
78
+ /**
79
+ * 【通用】获取市场最近成交记录
80
+ *
81
+ * 接口权限: 读取
82
+ *
83
+ * 限频: 行情类的公开接口,比如:获取K线数据、获取聚合行情、市场行情、获取行情深度数据、获取溢价指数K线、获取实时预测资金费率k线,获取基差数据、获取市场最近成交记录:
84
+ *
85
+ * (1) restful接口:同一个IP, 所有业务(交割合约、币本位永续合约和U本位合约)总共1秒最多800个请求
86
+ *
87
+ * 接口描述: 该接口支持全仓模式和逐仓模式
88
+ *
89
+ * 请求参数contract_code支持交割合约代码,格式为BTC-USDT-210625;同时支持合约标识,格式为 BTC-USDT(永续)、BTC-USDT-CW(当周)、BTC-USDT-NW(次周)、BTC-USDT-CQ(当季)、BTC-USDT-NQ(次季)。
90
+ *
91
+ * business_type 在查询交割合约数据时为必填参数。且参数值要传:futures 或 all 。
92
+ *
93
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=8cb73c34-77b5-11ed-9966-0242ac110003
94
+ */
95
+ function getSwapMarketTrade(params) {
96
+ return publicRequest('GET', `/linear-swap-ex/market/trade`, SWAP_API_ROOT, params);
97
+ }
98
+ exports.getSwapMarketTrade = getSwapMarketTrade;
99
+ /**
100
+ * 获得当前合约的总持仓量
101
+ *
102
+ * https://huobiapi.github.io/docs/usdt_swap/v1/cn/#3218e7531a
103
+ */
104
+ function getSwapOpenInterest(params) {
105
+ return publicRequest('GET', '/linear-swap-api/v1/swap_open_interest', SWAP_API_ROOT, params);
106
+ }
107
+ exports.getSwapOpenInterest = getSwapOpenInterest;
108
+ /**
109
+ * 【通用】获取市场最优挂单
110
+ *
111
+ * 接口权限: 读取
112
+ *
113
+ * 限频: 行情类的公开接口,比如:获取K线数据、获取聚合行情、市场行情、获取行情深度数据、获取溢价指数K线、获取实时预测资金费率k线,获取基差数据、获取市场最近成交记录:
114
+ *
115
+ * (1) restful接口:同一个IP, 所有业务(交割合约、币本位永续合约和U本位合约)总共1秒最多800个请求
116
+ *
117
+ * 接口描述: 该接口支持全仓模式和逐仓模式
118
+ *
119
+ * 请求参数contract_code支持交割合约代码,格式为BTC-USDT-210625;同时支持合约标识,格式为 BTC-USDT(永续)、BTC-USDT-CW(当周)、BTC-USDT-NW(次周)、BTC-USDT-CQ(当季)、BTC-USDT-NQ(次季)。
120
+ *
121
+ * business_type 在查询交割合约数据时为必填参数。且参数值要传:futures 或 all 。
122
+ *
123
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=8cb735e0-77b5-11ed-9966-0242ac110003
124
+ */
125
+ function getSwapMarketBbo(params) {
126
+ return publicRequest('GET', `/linear-swap-ex/market/bbo`, SWAP_API_ROOT, params);
127
+ }
128
+ exports.getSwapMarketBbo = getSwapMarketBbo;
129
+ /**
130
+ * 获取合约的历史资金费率
131
+ *
132
+ * 接口权限: 读取
133
+ *
134
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=5d51f1f9-77b6-11ed-9966-0242ac110003
135
+ */
136
+ function getSwapHistoricalFundingRate(params) {
137
+ return publicRequest('GET', `/linear-swap-api/v1/swap_historical_funding_rate`, SWAP_API_ROOT, params);
138
+ }
139
+ exports.getSwapHistoricalFundingRate = getSwapHistoricalFundingRate;
140
+ /**
141
+ * 【全仓】获取平台阶梯保证金
142
+ *
143
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=8cb72290-77b5-11ed-9966-0242ac110003
144
+ */
145
+ function getSwapCrossLadderMargin(params) {
146
+ return publicRequest('GET', '/linear-swap-api/v1/swap_cross_ladder_margin', SWAP_API_ROOT, params);
147
+ }
148
+ exports.getSwapCrossLadderMargin = getSwapCrossLadderMargin;
149
+ /**
150
+ * APIv2币链参考信息
151
+ *
152
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=7ec478f0-7773-11ed-9966-0242ac110003
153
+ */
154
+ function getV2ReferenceCurrencies(params) {
155
+ return publicRequest('GET', '/v2/reference/currencies', SPOT_API_ROOT, params);
156
+ }
157
+ exports.getV2ReferenceCurrencies = getV2ReferenceCurrencies;
158
+ //# sourceMappingURL=public-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../src/api/public-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { formatTime } from '@yuants/utils';\n\n// Huobi API 根域名\nconst SWAP_API_ROOT = 'api.hbdm.com';\nconst SPOT_API_ROOT = 'api.huobi.pro';\n\n/**\n * 公共 API 请求方法\n */\nasync function publicRequest(method: string, path: string, api_root: string, params?: any) {\n const url = new URL(`https://${api_root}${path}`);\n\n if (method === 'GET') {\n for (const [k, v] of Object.entries(params || {})) {\n url.searchParams.append(k, String(v));\n }\n }\n\n const body = method === 'GET' ? '' : JSON.stringify(params);\n\n console.info(formatTime(Date.now()), method, url.href, body);\n\n const res = await fetch(url.href, {\n method,\n headers: { 'Content-Type': 'application/json' },\n body: body || undefined,\n });\n\n console.info(formatTime(Date.now()), 'PublicResponse', url.toString(), res.status);\n\n const retStr = await res.text();\n try {\n return JSON.parse(retStr);\n } catch (e) {\n console.error(formatTime(Date.now()), 'huobiRequestFailed', path, JSON.stringify(params), retStr);\n throw e;\n }\n}\n\n// ==================== 公共 API 方法 ====================\n\n/**\n * 获取永续合约产品信息\n *\n * https://www.htx.com/zh-cn/opend/newApiPages/?id=8cb72f34-77b5-11ed-9966-0242ac110003\n */\nexport function getPerpetualContractSymbols(params?: {\n contract_code?: string;\n support_margin_mode?: string;\n pair?: string;\n contract_type?: string;\n business_type?: string;\n}): Promise<{\n status: string;\n data: {\n symbol: string;\n contract_code: string;\n contract_size: number;\n price_tick: number;\n settlement_date: string;\n delivery_time: string;\n create_date: string;\n contract_status: number;\n support_margin_mode: string;\n contract_type: string;\n pair: string;\n business_type: string;\n delivery_date: string;\n }[];\n ts: string;\n}> {\n return publicRequest('GET', '/linear-swap-api/v1/swap_contract_info', SWAP_API_ROOT, params);\n}\n\n/**\n * 获取现货产品信息\n *\n * https://www.htx.com/zh-cn/opend/newApiPages/?id=7ec47f16-7773-11ed-9966-0242ac110003\n */\nexport function getSpotSymbols(): Promise<{\n status: string;\n data: {\n si: string;\n scr: string;\n sc: string;\n dn: string;\n bc: string;\n bcdn: string;\n qc: string;\n qcdn: string;\n state: string;\n whe: boolean;\n cd: boolean;\n te: boolean;\n toa: number;\n sp: string;\n w: number;\n ttp: number;\n tap: number;\n tpp: number;\n fp: number;\n suspend_desc: string;\n transfer_board_desc: string;\n tags: string;\n lr: number;\n smlr: number;\n flr: string;\n wr: string;\n d: number;\n elr: number;\n p: any;\n castate: string;\n ca1oa: number;\n ca2oa: number;\n }[];\n ts: string;\n full: number;\n err_code: string;\n err_msg: string;\n}> {\n return publicRequest('GET', '/v2/settings/common/symbols', SPOT_API_ROOT);\n}\n\n/**\n * 获取现货行情\n *\n * https://www.htx.com/zh-cn/opend/newApiPages/?id=7ec3fc25-7773-11ed-9966-0242ac110003\n */\nexport function getSpotTick(params: { symbol: string }): Promise<{\n status: string;\n tick: {\n close: number;\n };\n}> {\n return publicRequest('GET', `/market/detail/merged`, SPOT_API_ROOT, params);\n}\n\n/**\n * 【通用】批量获取合约资金费率\n *\n * 接口权限: 读取\n *\n * 限频: 其他非行情类的公开接口,比如获取指数信息,限价信息,交割结算、平台持仓信息等,所有用户都是每个IP3秒最多240次请求(所有该IP的非行情类的公开接口请求共享3秒240次的额度)\n *\n * 接口描述: 该接口支持全仓模式和逐仓模式\n *\n * https://www.htx.com/zh-cn/opend/newApiPages/?id=8cb71b45-77b5-11ed-9966-0242ac110003\n */\nexport function getSwapBatchFundingRate(params: { contract_code?: string }): Promise<{\n status: string;\n ts: number;\n data: {\n estimated_rate: null;\n funding_rate: string;\n contract_code: string;\n symbol: string;\n fee_asset: string;\n funding_time: string;\n next_funding_time: null;\n trade_partition: string;\n }[];\n}> {\n return publicRequest('GET', `/linear-swap-api/v1/swap_batch_funding_rate`, SWAP_API_ROOT, params);\n}\n\n/**\n * 【通用】获取市场最近成交记录\n *\n * 接口权限: 读取\n *\n * 限频: 行情类的公开接口,比如:获取K线数据、获取聚合行情、市场行情、获取行情深度数据、获取溢价指数K线、获取实时预测资金费率k线,获取基差数据、获取市场最近成交记录:\n *\n * (1) restful接口:同一个IP, 所有业务(交割合约、币本位永续合约和U本位合约)总共1秒最多800个请求\n *\n * 接口描述: 该接口支持全仓模式和逐仓模式\n *\n * 请求参数contract_code支持交割合约代码,格式为BTC-USDT-210625;同时支持合约标识,格式为 BTC-USDT(永续)、BTC-USDT-CW(当周)、BTC-USDT-NW(次周)、BTC-USDT-CQ(当季)、BTC-USDT-NQ(次季)。\n *\n * business_type 在查询交割合约数据时为必填参数。且参数值要传:futures 或 all 。\n *\n * https://www.htx.com/zh-cn/opend/newApiPages/?id=8cb73c34-77b5-11ed-9966-0242ac110003\n */\nexport function getSwapMarketTrade(params: { contract_code?: string; business_type?: string }): Promise<{\n ch: string;\n status: string;\n tick: {\n data: {\n amount: string;\n quantity: string;\n trade_turnover: string;\n ts: number;\n id: number;\n price: string;\n direction: string;\n contract_code: string;\n business_type: string;\n trade_partition: string;\n }[];\n id: number;\n ts: number;\n };\n ts: number;\n}> {\n return publicRequest('GET', `/linear-swap-ex/market/trade`, SWAP_API_ROOT, params);\n}\n\n/**\n * 获得当前合约的总持仓量\n *\n * https://huobiapi.github.io/docs/usdt_swap/v1/cn/#3218e7531a\n */\nexport function getSwapOpenInterest(params: {\n contract_code?: string;\n pair?: string;\n contract_type?: string;\n business_type?: string;\n}): Promise<{\n status: string;\n data: {\n volume: number;\n amount: number;\n symbol: string;\n value: number;\n contract_code: string;\n trade_amount: number;\n trade_volume: number;\n trade_turnover: number;\n business_type: string;\n pair: string;\n contract_type: string;\n }[];\n ts: number;\n}> {\n return publicRequest('GET', '/linear-swap-api/v1/swap_open_interest', SWAP_API_ROOT, params);\n}\n\n/**\n * 【通用】获取市场最优挂单\n *\n * 接口权限: 读取\n *\n * 限频: 行情类的公开接口,比如:获取K线数据、获取聚合行情、市场行情、获取行情深度数据、获取溢价指数K线、获取实时预测资金费率k线,获取基差数据、获取市场最近成交记录:\n *\n * (1) restful接口:同一个IP, 所有业务(交割合约、币本位永续合约和U本位合约)总共1秒最多800个请求\n *\n * 接口描述: 该接口支持全仓模式和逐仓模式\n *\n * 请求参数contract_code支持交割合约代码,格式为BTC-USDT-210625;同时支持合约标识,格式为 BTC-USDT(永续)、BTC-USDT-CW(当周)、BTC-USDT-NW(次周)、BTC-USDT-CQ(当季)、BTC-USDT-NQ(次季)。\n *\n * business_type 在查询交割合约数据时为必填参数。且参数值要传:futures 或 all 。\n *\n * https://www.htx.com/zh-cn/opend/newApiPages/?id=8cb735e0-77b5-11ed-9966-0242ac110003\n */\nexport function getSwapMarketBbo(params: { contract_code?: string }): Promise<{\n status: string;\n ticks: {\n trade_partition: string;\n business_type: string;\n contract_code: string;\n ask: number[] | null;\n bid: number[] | null;\n mrid: number;\n ts: number;\n }[];\n ts: number;\n}> {\n return publicRequest('GET', `/linear-swap-ex/market/bbo`, SWAP_API_ROOT, params);\n}\n\n/**\n * 获取合约的历史资金费率\n *\n * 接口权限: 读取\n *\n * https://www.htx.com/zh-cn/opend/newApiPages/?id=5d51f1f9-77b6-11ed-9966-0242ac110003\n */\nexport function getSwapHistoricalFundingRate(params: {\n contract_code: string;\n page_index?: number;\n page_size?: number;\n}): Promise<{\n status: string;\n ts: number;\n data: {\n data: {\n symbol: string;\n contract_code: string;\n fee_asset: string;\n funding_time: string;\n funding_rate: string;\n realized_rate: string;\n avg_premium_index: string;\n }[];\n total_page: number;\n current_page: number;\n total_size: number;\n };\n}> {\n return publicRequest('GET', `/linear-swap-api/v1/swap_historical_funding_rate`, SWAP_API_ROOT, params);\n}\n\n/**\n * 【全仓】获取平台阶梯保证金\n *\n * https://www.htx.com/zh-cn/opend/newApiPages/?id=8cb72290-77b5-11ed-9966-0242ac110003\n */\nexport function getSwapCrossLadderMargin(params?: {\n contract_code?: string;\n pair?: string;\n contract_type?: string;\n business_type?: string;\n}): Promise<{\n status: string;\n data: Array<{ contract_code: string; pair: string; list: Array<{ lever_rate: number }> }>;\n}> {\n return publicRequest('GET', '/linear-swap-api/v1/swap_cross_ladder_margin', SWAP_API_ROOT, params);\n}\n\n/**\n * APIv2币链参考信息\n *\n * https://www.htx.com/zh-cn/opend/newApiPages/?id=7ec478f0-7773-11ed-9966-0242ac110003\n */\nexport function getV2ReferenceCurrencies(params: { currency?: string; authorizedUser?: string }): Promise<{\n code: number;\n data: {\n currency: string;\n assetType: number;\n chains: {\n chain: string;\n displayName: string;\n fullName: string;\n baseChain?: string;\n baseChainProtocol?: string;\n isDynamic?: boolean;\n numOfConfirmations: number;\n numOfFastConfirmations: number;\n depositStatus: string;\n minDepositAmt: string;\n withdrawStatus: string;\n minWithdrawAmt: string;\n withdrawPrecision: number;\n maxWithdrawAmt: string;\n withdrawQuotaPerDay: string;\n withdrawQuotaPerYear: null;\n withdrawQuotaTotal: null;\n withdrawFeeType: string;\n transactFeeWithdraw?: string;\n addrWithTag: boolean;\n addrDepositTag: boolean;\n minTransactFeeWithdraw?: string;\n transactFeeRateWithdraw?: string;\n maxTransactFeeWithdraw?: string;\n }[];\n instStatus: string;\n }[];\n}> {\n return publicRequest('GET', '/v2/reference/currencies', SPOT_API_ROOT, params);\n}\n"]}