@yuants/vendor-huobi 0.9.7 → 0.10.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 (60) hide show
  1. package/dist/api.js +313 -0
  2. package/dist/api.js.map +1 -0
  3. package/dist/cli.js +3 -0
  4. package/dist/cli.js.map +1 -0
  5. package/dist/cluster.js +72 -0
  6. package/dist/cluster.js.map +1 -0
  7. package/dist/extension.js +87 -0
  8. package/dist/extension.js.map +1 -0
  9. package/dist/index.js +582 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/interest_rate.js +59 -0
  12. package/dist/interest_rate.js.map +1 -0
  13. package/dist/logger.js +91 -0
  14. package/dist/logger.js.map +1 -0
  15. package/dist/product.js +85 -0
  16. package/dist/product.js.map +1 -0
  17. package/dist/quote.js +93 -0
  18. package/dist/quote.js.map +1 -0
  19. package/dist/vendor-huobi.d.ts +1 -0
  20. package/lib/api.d.ts +634 -0
  21. package/lib/api.d.ts.map +1 -0
  22. package/lib/api.js +320 -0
  23. package/lib/api.js.map +1 -0
  24. package/lib/cli.d.ts +3 -0
  25. package/lib/cli.d.ts.map +1 -0
  26. package/lib/cli.js +5 -0
  27. package/lib/cli.js.map +1 -0
  28. package/lib/cluster.d.ts +2 -0
  29. package/lib/cluster.d.ts.map +1 -0
  30. package/lib/cluster.js +100 -0
  31. package/lib/cluster.js.map +1 -0
  32. package/lib/extension.d.ts +4 -0
  33. package/lib/extension.d.ts.map +1 -0
  34. package/lib/extension.js +89 -0
  35. package/lib/extension.js.map +1 -0
  36. package/lib/index.d.ts +3 -0
  37. package/lib/index.d.ts.map +1 -0
  38. package/lib/index.js +584 -0
  39. package/lib/index.js.map +1 -0
  40. package/lib/interest_rate.d.ts +2 -0
  41. package/lib/interest_rate.d.ts.map +1 -0
  42. package/lib/interest_rate.js +61 -0
  43. package/lib/interest_rate.js.map +1 -0
  44. package/lib/logger.d.ts +21 -0
  45. package/lib/logger.d.ts.map +1 -0
  46. package/lib/logger.js +98 -0
  47. package/lib/logger.js.map +1 -0
  48. package/lib/product.d.ts +4 -0
  49. package/lib/product.d.ts.map +1 -0
  50. package/lib/product.js +88 -0
  51. package/lib/product.js.map +1 -0
  52. package/lib/quote.d.ts +2 -0
  53. package/lib/quote.d.ts.map +1 -0
  54. package/lib/quote.js +95 -0
  55. package/lib/quote.js.map +1 -0
  56. package/package.json +14 -11
  57. package/temp/image-tag +1 -0
  58. package/temp/package-deps.json +37 -0
  59. package/temp/vendor-huobi.api.json +177 -0
  60. package/temp/vendor-huobi.api.md +9 -0
package/lib/api.d.ts ADDED
@@ -0,0 +1,634 @@
1
+ import { IConnection } from '@yuants/protocol';
2
+ interface IHuobiParams {
3
+ auth: {
4
+ access_key: string;
5
+ secret_key: string;
6
+ };
7
+ }
8
+ export declare class HuobiClient {
9
+ params: IHuobiParams;
10
+ swap_api_root: string;
11
+ spot_api_root: string;
12
+ spot_ws: IConnection<any>;
13
+ constructor(params: IHuobiParams);
14
+ request(method: string, path: string, api_root: string, params?: any): Promise<any>;
15
+ getAccount(): Promise<{
16
+ status: string;
17
+ data: {
18
+ id: number;
19
+ type: string;
20
+ state: string;
21
+ subtype: string;
22
+ }[];
23
+ }>;
24
+ getPerpetualContractSymbols(params?: {
25
+ contract_code?: string;
26
+ support_margin_mode?: string;
27
+ pair?: string;
28
+ contract_type?: string;
29
+ business_type?: string;
30
+ }): Promise<{
31
+ status: string;
32
+ data: {
33
+ symbol: string;
34
+ contract_code: string;
35
+ contract_size: number;
36
+ price_tick: number;
37
+ settlement_date: string;
38
+ delivery_time: string;
39
+ create_date: string;
40
+ contract_status: number;
41
+ support_margin_mode: string;
42
+ contract_type: string;
43
+ pair: string;
44
+ business_type: string;
45
+ dilivery_date: string;
46
+ }[];
47
+ ts: string;
48
+ }>;
49
+ getSpotSymbols(): Promise<{
50
+ status: string;
51
+ data: {
52
+ si: string;
53
+ scr: string;
54
+ sc: string;
55
+ dn: string;
56
+ bc: string;
57
+ bcdn: string;
58
+ qc: string;
59
+ qcdn: string;
60
+ state: string;
61
+ whe: boolean;
62
+ cd: boolean;
63
+ te: boolean;
64
+ toa: number;
65
+ sp: string;
66
+ w: number;
67
+ ttp: number;
68
+ tap: number;
69
+ tpp: number;
70
+ fp: number;
71
+ suspend_desc: string;
72
+ transfer_board_desc: string;
73
+ tags: string;
74
+ lr: number;
75
+ smlr: number;
76
+ flr: string;
77
+ wr: string;
78
+ d: number;
79
+ elr: number;
80
+ p: any;
81
+ castate: string;
82
+ ca1oa: number;
83
+ ca2oa: number;
84
+ }[];
85
+ ts: string;
86
+ full: number;
87
+ err_code: string;
88
+ err_msg: string;
89
+ }>;
90
+ getUid(): Promise<{
91
+ data: number;
92
+ code: number;
93
+ }>;
94
+ getUnifiedAccountInfo(): Promise<{
95
+ status: string;
96
+ code: number;
97
+ msg: string;
98
+ data: {
99
+ margin_asset: string;
100
+ margin_balance: number;
101
+ cross_margin_static: number;
102
+ cross_profit_unreal: number;
103
+ withdraw_available: number;
104
+ }[];
105
+ }>;
106
+ getSwapCrossPositionInfo(params?: {
107
+ contract_code?: string;
108
+ pair?: string;
109
+ contract_type: string;
110
+ }): Promise<{
111
+ status: string;
112
+ ts: number;
113
+ data: {
114
+ contract_code: string;
115
+ contract_type: string;
116
+ direction: string;
117
+ margin_mode: string;
118
+ volume: number;
119
+ available: number;
120
+ cost_hold: number;
121
+ last_price: number;
122
+ profit_unreal: number;
123
+ lever_rate: number;
124
+ }[];
125
+ }>;
126
+ /**
127
+ * 【全仓】获取平台阶梯保证金
128
+ *
129
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=8cb72290-77b5-11ed-9966-0242ac110003
130
+ */
131
+ getSwapCrossLadderMargin: (params?: {
132
+ contract_code?: string;
133
+ pair?: string;
134
+ contract_type?: string;
135
+ business_type?: string;
136
+ }) => Promise<{
137
+ status: string;
138
+ data: Array<{
139
+ contract_code: string;
140
+ pair: string;
141
+ list: Array<{
142
+ lever_rate: number;
143
+ }>;
144
+ }>;
145
+ }>;
146
+ getSwapOpenOrders(params?: {
147
+ contract_code?: string;
148
+ pair?: string;
149
+ page_index?: number;
150
+ page_size?: number;
151
+ sort_by?: string;
152
+ trade_type?: string;
153
+ }): Promise<{
154
+ status: string;
155
+ data: {
156
+ orders: {
157
+ order_id_str: string;
158
+ contract_code: string;
159
+ order_price_type: string;
160
+ direction: string;
161
+ offset: string;
162
+ volume: number;
163
+ created_at: number;
164
+ price: number;
165
+ trade_volume: number;
166
+ }[];
167
+ };
168
+ }>;
169
+ getSpotAccountBalance(account_uid: number): Promise<{
170
+ status: string;
171
+ data: {
172
+ list: {
173
+ currency: string;
174
+ balance: string;
175
+ type: string;
176
+ }[];
177
+ };
178
+ }>;
179
+ getCrossMarginLoanInfo(): Promise<{
180
+ status: string;
181
+ code: number;
182
+ data: {
183
+ currency: string;
184
+ 'loanable-amt': string;
185
+ }[];
186
+ }>;
187
+ getSpotTick(params: {
188
+ symbol: string;
189
+ }): Promise<{
190
+ status: string;
191
+ tick: {
192
+ close: number;
193
+ };
194
+ }>;
195
+ /**
196
+ * 【通用】批量获取合约资金费率
197
+ *
198
+ * 接口权限: 读取
199
+ *
200
+ * 限频: 其他非行情类的公开接口,比如获取指数信息,限价信息,交割结算、平台持仓信息等,所有用户都是每个IP3秒最多240次请求(所有该IP的非行情类的公开接口请求共享3秒240次的额度)
201
+ *
202
+ * 接口描述: 该接口支持全仓模式和逐仓模式
203
+ *
204
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=8cb71b45-77b5-11ed-9966-0242ac110003
205
+ */
206
+ getSwapBatchFundingRate: (params: {
207
+ contract_code?: string;
208
+ }) => Promise<{
209
+ status: string;
210
+ ts: number;
211
+ data: {
212
+ estimated_rate: null;
213
+ funding_rate: string;
214
+ contract_code: string;
215
+ symbol: string;
216
+ fee_asset: string;
217
+ funding_time: string;
218
+ next_funding_time: null;
219
+ trade_partition: string;
220
+ }[];
221
+ }>;
222
+ /**
223
+ * 【通用】获取市场最近成交记录
224
+ *
225
+ * 接口权限: 读取
226
+ *
227
+ * 限频: 行情类的公开接口,比如:获取K线数据、获取聚合行情、市场行情、获取行情深度数据、获取溢价指数K线、获取实时预测资金费率k线,获取基差数据、获取市场最近成交记录:
228
+ *
229
+ * (1) restful接口:同一个IP, 所有业务(交割合约、币本位永续合约和U本位合约)总共1秒最多800个请求
230
+ *
231
+ * 接口描述: 该接口支持全仓模式和逐仓模式
232
+ *
233
+ * 请求参数contract_code支持交割合约代码,格式为BTC-USDT-210625;同时支持合约标识,格式为 BTC-USDT(永续)、BTC-USDT-CW(当周)、BTC-USDT-NW(次周)、BTC-USDT-CQ(当季)、BTC-USDT-NQ(次季)。
234
+ *
235
+ * business_type 在查询交割合约数据时为必填参数。且参数值要传:futures 或 all 。
236
+ *
237
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=8cb73c34-77b5-11ed-9966-0242ac110003
238
+ */
239
+ getSwapMarketTrade: (params: {
240
+ contract_code?: string;
241
+ business_type?: string;
242
+ }) => Promise<{
243
+ ch: string;
244
+ status: string;
245
+ tick: {
246
+ data: {
247
+ amount: string;
248
+ quantity: string;
249
+ trade_turnover: string;
250
+ ts: number;
251
+ id: number;
252
+ price: string;
253
+ direction: string;
254
+ contract_code: string;
255
+ business_type: string;
256
+ trade_partition: string;
257
+ }[];
258
+ id: number;
259
+ ts: number;
260
+ };
261
+ ts: number;
262
+ }>;
263
+ /**
264
+ * 获得当前合约的总持仓量
265
+ *
266
+ * https://huobiapi.github.io/docs/usdt_swap/v1/cn/#3218e7531a
267
+ */
268
+ getSwapOpenInterest: (params: {
269
+ contract_code?: string;
270
+ pair?: string;
271
+ contract_type?: string;
272
+ business_type?: string;
273
+ }) => Promise<{
274
+ status: string;
275
+ data: {
276
+ volume: number;
277
+ amount: number;
278
+ symbol: string;
279
+ value: number;
280
+ contract_code: string;
281
+ trade_amount: number;
282
+ trade_volume: number;
283
+ trade_turnover: number;
284
+ business_type: string;
285
+ pair: string;
286
+ contract_type: string;
287
+ }[];
288
+ ts: number;
289
+ }>;
290
+ /**
291
+ * 【通用】获取市场最优挂单
292
+ *
293
+ * 接口权限: 读取
294
+ *
295
+ * 限频: 行情类的公开接口,比如:获取K线数据、获取聚合行情、市场行情、获取行情深度数据、获取溢价指数K线、获取实时预测资金费率k线,获取基差数据、获取市场最近成交记录:
296
+ *
297
+ * (1) restful接口:同一个IP, 所有业务(交割合约、币本位永续合约和U本位合约)总共1秒最多800个请求
298
+ *
299
+ * 接口描述: 该接口支持全仓模式和逐仓模式
300
+ *
301
+ * 请求参数contract_code支持交割合约代码,格式为BTC-USDT-210625;同时支持合约标识,格式为 BTC-USDT(永续)、BTC-USDT-CW(当周)、BTC-USDT-NW(次周)、BTC-USDT-CQ(当季)、BTC-USDT-NQ(次季)。
302
+ *
303
+ * business_type 在查询交割合约数据时为必填参数。且参数值要传:futures 或 all 。
304
+ *
305
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=8cb735e0-77b5-11ed-9966-0242ac110003
306
+ */
307
+ getSwapMarketBbo: (params: {
308
+ contract_code?: string;
309
+ }) => Promise<{
310
+ status: string;
311
+ ticks: {
312
+ trade_partition: string;
313
+ business_type: string;
314
+ contract_code: string;
315
+ ask: number[] | null;
316
+ bid: number[] | null;
317
+ mrid: number;
318
+ ts: number;
319
+ }[];
320
+ ts: number;
321
+ }>;
322
+ postSpotOrder(params: {
323
+ symbol: string;
324
+ 'account-id': string;
325
+ amount: string;
326
+ market_amount?: string;
327
+ 'borrow-amount'?: string;
328
+ type: string;
329
+ 'trade-purpose': string;
330
+ price?: string;
331
+ source: string;
332
+ }): Promise<{
333
+ success: boolean;
334
+ code: number;
335
+ message: string;
336
+ }>;
337
+ postSwapOrder(params: {
338
+ contract_code: string;
339
+ contract_type: string;
340
+ price?: number;
341
+ volume: number;
342
+ offset: string;
343
+ direction: string;
344
+ lever_rate: number;
345
+ order_price_type: string;
346
+ }): Promise<{
347
+ status: string;
348
+ ts: number;
349
+ data: {
350
+ order_id: number;
351
+ order_id_str: string;
352
+ };
353
+ }>;
354
+ getSpotAccountDepositAddresses(params: {
355
+ currency: string;
356
+ }): Promise<{
357
+ code: number;
358
+ message: string;
359
+ data: {
360
+ currency: string;
361
+ chain: string;
362
+ address: string;
363
+ }[];
364
+ }>;
365
+ getAccountLedger(params: {
366
+ accountId: string;
367
+ currency: string;
368
+ }): Promise<{
369
+ status: string;
370
+ data: {
371
+ transactTime: number;
372
+ transactAmt: number;
373
+ }[];
374
+ }>;
375
+ postSuperMarginAccountTransferOut(params: {
376
+ currency: string;
377
+ amount: string;
378
+ }): Promise<{
379
+ status: string;
380
+ data: number;
381
+ }>;
382
+ postSuperMarginAccountTransferIn(params: {
383
+ currency: string;
384
+ amount: string;
385
+ }): Promise<{
386
+ status: string;
387
+ data: number;
388
+ }>;
389
+ postSpotAccountTransfer(params: {
390
+ from: string;
391
+ to: string;
392
+ currency: string;
393
+ amount: number;
394
+ 'margin-account': string;
395
+ }): Promise<{
396
+ success: boolean;
397
+ data: number;
398
+ code: number;
399
+ message: string;
400
+ }>;
401
+ postBorrow(params: {
402
+ currency: string;
403
+ amount: string;
404
+ }): Promise<{
405
+ status: string;
406
+ data: number;
407
+ }>;
408
+ postWithdraw(params: {
409
+ address: string;
410
+ amount: string;
411
+ currency: string;
412
+ fee: string;
413
+ chain: string;
414
+ }): Promise<{
415
+ status: string;
416
+ data: number;
417
+ }>;
418
+ getDepositWithdrawHistory(params: {
419
+ currency: string;
420
+ type: string;
421
+ from?: string;
422
+ size?: string;
423
+ direct?: string;
424
+ }): Promise<{
425
+ status: string;
426
+ 'error-code': string;
427
+ 'error-msg': string;
428
+ data: {
429
+ id: number;
430
+ type: string;
431
+ currency: string;
432
+ 'tx-hash': string;
433
+ chain: string;
434
+ amount: string;
435
+ address: string;
436
+ 'address-tag': string;
437
+ fee: string;
438
+ state: string;
439
+ 'create-at': number;
440
+ 'update-at': number;
441
+ }[];
442
+ }>;
443
+ /**
444
+ * 获取合约的历史资金费率
445
+ *
446
+ * 接口权限: 读取
447
+ *
448
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=5d51f1f9-77b6-11ed-9966-0242ac110003
449
+ */
450
+ getSwapHistoricalFundingRate(params: {
451
+ contract_code: string;
452
+ page_index?: number;
453
+ page_size?: number;
454
+ }): Promise<{
455
+ status: string;
456
+ ts: number;
457
+ data: {
458
+ data: {
459
+ symbol: string;
460
+ contract_code: string;
461
+ fee_asset: string;
462
+ funding_time: string;
463
+ funding_rate: string;
464
+ realized_rate: string;
465
+ avg_premium_index: string;
466
+ }[];
467
+ total_page: number;
468
+ current_page: number;
469
+ total_size: number;
470
+ };
471
+ }>;
472
+ /**
473
+ * 资产划转(母子用户之间)
474
+ *
475
+ * 接口权限: 交易
476
+ *
477
+ * 限频: 2次/2s
478
+ *
479
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=7ec45d8e-7773-11ed-9966-0242ac110003
480
+ */
481
+ postSubUserTransfer(params: {
482
+ 'sub-uid': number;
483
+ currency: string;
484
+ amount: number;
485
+ 'client-order-id'?: string;
486
+ type: string;
487
+ }): Promise<{
488
+ data: number;
489
+ status: string;
490
+ }>;
491
+ /**
492
+ * 获取子用户列表
493
+ *
494
+ * 接口权限: 读取
495
+ *
496
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=7ec48f09-7773-11ed-9966-0242ac110003
497
+ */
498
+ getSubUserList(params?: {
499
+ fromId?: number;
500
+ }): Promise<{
501
+ code: number;
502
+ message?: string;
503
+ data: {
504
+ uid: number;
505
+ userState: string;
506
+ subUserName: string;
507
+ note: string;
508
+ }[];
509
+ nextId?: number;
510
+ ok: boolean;
511
+ }>;
512
+ /**
513
+ * 账户类型查询
514
+ *
515
+ * 是否验签: 是
516
+ *
517
+ * 接口权限: 读取
518
+ *
519
+ * 限频: 每个UID 3秒最多 144 次请求(交易接口3秒最多 72 次请求,查询接口3秒最多 72 次请求) (该UID的所有币种和不同到期日的合约的所有私有接口共享该限制) 。
520
+ *
521
+ * 接口描述: 此接口用于客户查询的账号类型,当前U本位合约有统一账户和非统一账户(全仓逐仓账户)类型。统一账户类型资产放在USDT一个账户上,全仓逐仓账户类型资产放在不同的币对。
522
+ * 统一账户类型为最新升级的,当前不支持API下单。若需要用用API下单请切换账户类型为非统一账户。
523
+ *
524
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=8cb71825-77b5-11ed-9966-0242ac110003
525
+ */
526
+ getSwapUnifiedAccountType(): Promise<{
527
+ code: number;
528
+ msg: string;
529
+ ts: number;
530
+ data: {
531
+ account_type: number;
532
+ };
533
+ }>;
534
+ /**
535
+ * 账户类型更改接口
536
+ *
537
+ * 是否验签: 是
538
+ *
539
+ * 接口权限: 交易
540
+ *
541
+ * 限频: 每个UID 3秒最多 144 次请求(交易接口3秒最多 72 次请求,查询接口3秒最多 72 次请求) (该UID的所有币种和不同到期日的合约的所有私有接口共享该限制) 。
542
+ *
543
+ * 接口描述: 调用该接口前需要保证U本位合约无持仓和挂单,当由非统一账户(全仓逐仓账户)变为统一账户还需将资产从逐仓账户划转到全仓账户。
544
+ *
545
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=8cb7196b-77b5-11ed-9966-0242ac110003
546
+ */
547
+ postSwapSwitchAccountType(params: {
548
+ account_type: number;
549
+ }): Promise<{
550
+ code: number;
551
+ msg: string;
552
+ ts: number;
553
+ data: {
554
+ account_type: number;
555
+ };
556
+ }>;
557
+ /**
558
+ * APIv2币链参考信息
559
+ *
560
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=7ec478f0-7773-11ed-9966-0242ac110003
561
+ */
562
+ getV2ReferenceCurrencies: (params: {
563
+ currency?: string;
564
+ authorizedUser?: string;
565
+ }) => Promise<{
566
+ code: number;
567
+ data: {
568
+ currency: string;
569
+ assetType: number;
570
+ chains: {
571
+ chain: string;
572
+ displayName: string;
573
+ fullName: string;
574
+ baseChain?: string;
575
+ baseChainProtocol?: string;
576
+ isDynamic?: boolean;
577
+ numOfConfirmations: number;
578
+ numOfFastConfirmations: number;
579
+ depositStatus: string;
580
+ minDepositAmt: string;
581
+ withdrawStatus: string;
582
+ minWithdrawAmt: string;
583
+ withdrawPrecision: number;
584
+ maxWithdrawAmt: string;
585
+ withdrawQuotaPerDay: string;
586
+ withdrawQuotaPerYear: null;
587
+ withdrawQuotaTotal: null;
588
+ withdrawFeeType: string;
589
+ transactFeeWithdraw?: string;
590
+ addrWithTag: boolean;
591
+ addrDepositTag: boolean;
592
+ minTransactFeeWithdraw?: string;
593
+ transactFeeRateWithdraw?: string;
594
+ maxTransactFeeWithdraw?: string;
595
+ }[];
596
+ instStatus: string;
597
+ }[];
598
+ }>;
599
+ /**
600
+ * APIv2币链参考信息
601
+ *
602
+ * https://www.htx.com/zh-cn/opend/newApiPages/?id=7ec41049-7773-11ed-9966-0242ac110003
603
+ */
604
+ getAccountHistory: (params: {
605
+ 'account-id': string;
606
+ currency?: string;
607
+ 'transact-types'?: number;
608
+ 'start-time'?: number;
609
+ 'end-time'?: number;
610
+ sort?: 'asc' | 'desc';
611
+ size?: number;
612
+ 'from-id'?: number;
613
+ }) => Promise<{
614
+ 'transact-amt': string;
615
+ 'avail-balance': string;
616
+ 'acct-balance': string;
617
+ 'transact-time': string;
618
+ 'record-id': string;
619
+ status: string;
620
+ data: {
621
+ 'account-id': string;
622
+ currency: string;
623
+ 'record-id': string;
624
+ 'transact-amt': string;
625
+ 'transact-type': string;
626
+ 'avail-balance': string;
627
+ 'acct-balance': string;
628
+ 'transact-time': string;
629
+ }[];
630
+ }>;
631
+ }
632
+ export declare const client: HuobiClient;
633
+ export {};
634
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}