kucoin-api 0.0.2 → 1.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.
Files changed (199) hide show
  1. package/README.md +256 -40
  2. package/dist/cjs/FuturesClient.d.ts +246 -0
  3. package/dist/cjs/FuturesClient.js +261 -0
  4. package/dist/cjs/FuturesClient.js.map +1 -0
  5. package/dist/cjs/SpotClient.d.ts +692 -0
  6. package/dist/cjs/SpotClient.js +745 -0
  7. package/dist/cjs/SpotClient.js.map +1 -0
  8. package/dist/cjs/WebsocketClient.d.ts +77 -0
  9. package/dist/cjs/WebsocketClient.js +337 -0
  10. package/dist/cjs/WebsocketClient.js.map +1 -0
  11. package/dist/cjs/index.d.ts +22 -0
  12. package/dist/cjs/index.js +39 -0
  13. package/dist/cjs/index.js.map +1 -0
  14. package/dist/cjs/lib/BaseRestClient.d.ts +42 -0
  15. package/dist/cjs/lib/BaseRestClient.js +268 -0
  16. package/dist/cjs/lib/BaseRestClient.js.map +1 -0
  17. package/dist/cjs/lib/BaseWSClient.d.ts +168 -0
  18. package/dist/cjs/lib/BaseWSClient.js +622 -0
  19. package/dist/cjs/lib/BaseWSClient.js.map +1 -0
  20. package/dist/cjs/lib/misc-util.d.ts +1 -0
  21. package/dist/cjs/lib/misc-util.js +8 -0
  22. package/dist/cjs/lib/misc-util.js.map +1 -0
  23. package/dist/cjs/lib/requestUtils.d.ts +35 -0
  24. package/dist/cjs/lib/requestUtils.js +54 -0
  25. package/dist/cjs/lib/requestUtils.js.map +1 -0
  26. package/dist/cjs/lib/webCryptoAPI.d.ts +10 -0
  27. package/dist/cjs/lib/webCryptoAPI.js +57 -0
  28. package/dist/cjs/lib/webCryptoAPI.js.map +1 -0
  29. package/dist/cjs/lib/websocket/WsStore.d.ts +63 -0
  30. package/dist/cjs/lib/websocket/WsStore.js +254 -0
  31. package/dist/cjs/lib/websocket/WsStore.js.map +1 -0
  32. package/dist/cjs/lib/websocket/WsStore.types.d.ts +50 -0
  33. package/dist/cjs/lib/websocket/WsStore.types.js +14 -0
  34. package/dist/cjs/lib/websocket/WsStore.types.js.map +1 -0
  35. package/dist/cjs/lib/websocket/logger.d.ts +6 -0
  36. package/dist/cjs/lib/websocket/logger.js +16 -0
  37. package/dist/cjs/lib/websocket/logger.js.map +1 -0
  38. package/dist/cjs/lib/websocket/websocket-util.d.ts +30 -0
  39. package/dist/cjs/lib/websocket/websocket-util.js +19 -0
  40. package/dist/cjs/lib/websocket/websocket-util.js.map +1 -0
  41. package/dist/cjs/package.json +3 -0
  42. package/dist/cjs/types/request/futures.types.d.ts +183 -0
  43. package/dist/cjs/types/request/futures.types.js +7 -0
  44. package/dist/cjs/types/request/futures.types.js.map +1 -0
  45. package/dist/cjs/types/request/spot-account.d.ts +56 -0
  46. package/dist/cjs/types/request/spot-account.js +3 -0
  47. package/dist/cjs/types/request/spot-account.js.map +1 -0
  48. package/dist/cjs/types/request/spot-earn.d.ts +27 -0
  49. package/dist/cjs/types/request/spot-earn.js +8 -0
  50. package/dist/cjs/types/request/spot-earn.js.map +1 -0
  51. package/dist/cjs/types/request/spot-funding.d.ts +88 -0
  52. package/dist/cjs/types/request/spot-funding.js +10 -0
  53. package/dist/cjs/types/request/spot-funding.js.map +1 -0
  54. package/dist/cjs/types/request/spot-margin-trading.d.ts +169 -0
  55. package/dist/cjs/types/request/spot-margin-trading.js +10 -0
  56. package/dist/cjs/types/request/spot-margin-trading.js.map +1 -0
  57. package/dist/cjs/types/request/spot-trading.d.ts +214 -0
  58. package/dist/cjs/types/request/spot-trading.js +10 -0
  59. package/dist/cjs/types/request/spot-trading.js.map +1 -0
  60. package/dist/cjs/types/response/futures.types.d.ts +501 -0
  61. package/dist/cjs/types/response/futures.types.js +7 -0
  62. package/dist/cjs/types/response/futures.types.js.map +1 -0
  63. package/dist/cjs/types/response/shared.types.d.ts +9 -0
  64. package/dist/cjs/types/response/shared.types.js +3 -0
  65. package/dist/cjs/types/response/shared.types.js.map +1 -0
  66. package/dist/cjs/types/response/spot-account.d.ts +140 -0
  67. package/dist/cjs/types/response/spot-account.js +3 -0
  68. package/dist/cjs/types/response/spot-account.js.map +1 -0
  69. package/dist/cjs/types/response/spot-earn.d.ts +74 -0
  70. package/dist/cjs/types/response/spot-earn.js +8 -0
  71. package/dist/cjs/types/response/spot-earn.js.map +1 -0
  72. package/dist/cjs/types/response/spot-funding.d.ts +176 -0
  73. package/dist/cjs/types/response/spot-funding.js +10 -0
  74. package/dist/cjs/types/response/spot-funding.js.map +1 -0
  75. package/dist/cjs/types/response/spot-margin-trading.d.ts +257 -0
  76. package/dist/cjs/types/response/spot-margin-trading.js +10 -0
  77. package/dist/cjs/types/response/spot-margin-trading.js.map +1 -0
  78. package/dist/cjs/types/response/spot-trading.d.ts +388 -0
  79. package/dist/cjs/types/response/spot-trading.js +10 -0
  80. package/dist/cjs/types/response/spot-trading.js.map +1 -0
  81. package/dist/cjs/types/response/spot-vip.d.ts +38 -0
  82. package/dist/cjs/types/response/spot-vip.js +10 -0
  83. package/dist/cjs/types/response/spot-vip.js.map +1 -0
  84. package/dist/cjs/types/response/ws.d.ts +11 -0
  85. package/dist/cjs/types/response/ws.js +3 -0
  86. package/dist/cjs/types/response/ws.js.map +1 -0
  87. package/dist/cjs/types/websockets/client.d.ts +46 -0
  88. package/dist/cjs/types/websockets/client.js +3 -0
  89. package/dist/cjs/types/websockets/client.js.map +1 -0
  90. package/dist/cjs/types/websockets/events.d.ts +5 -0
  91. package/dist/cjs/types/websockets/events.js +3 -0
  92. package/dist/cjs/types/websockets/events.js.map +1 -0
  93. package/dist/cjs/types/websockets/requests.d.ts +8 -0
  94. package/dist/cjs/types/websockets/requests.js +3 -0
  95. package/dist/cjs/types/websockets/requests.js.map +1 -0
  96. package/dist/cjs/types/websockets/wsAPI.d.ts +9 -0
  97. package/dist/cjs/types/websockets/wsAPI.js +3 -0
  98. package/dist/cjs/types/websockets/wsAPI.js.map +1 -0
  99. package/dist/mjs/FuturesClient.d.ts +246 -0
  100. package/dist/mjs/FuturesClient.js +257 -0
  101. package/dist/mjs/FuturesClient.js.map +1 -0
  102. package/dist/mjs/SpotClient.d.ts +692 -0
  103. package/dist/mjs/SpotClient.js +741 -0
  104. package/dist/mjs/SpotClient.js.map +1 -0
  105. package/dist/mjs/WebsocketClient.d.ts +77 -0
  106. package/dist/mjs/WebsocketClient.js +333 -0
  107. package/dist/mjs/WebsocketClient.js.map +1 -0
  108. package/dist/mjs/index.d.ts +22 -0
  109. package/dist/mjs/index.js +23 -0
  110. package/dist/mjs/index.js.map +1 -0
  111. package/dist/mjs/lib/BaseRestClient.d.ts +42 -0
  112. package/dist/mjs/lib/BaseRestClient.js +261 -0
  113. package/dist/mjs/lib/BaseRestClient.js.map +1 -0
  114. package/dist/mjs/lib/BaseWSClient.d.ts +168 -0
  115. package/dist/mjs/lib/BaseWSClient.js +615 -0
  116. package/dist/mjs/lib/BaseWSClient.js.map +1 -0
  117. package/dist/mjs/lib/misc-util.d.ts +1 -0
  118. package/dist/mjs/lib/misc-util.js +4 -0
  119. package/dist/mjs/lib/misc-util.js.map +1 -0
  120. package/dist/mjs/lib/requestUtils.d.ts +35 -0
  121. package/dist/mjs/lib/requestUtils.js +49 -0
  122. package/dist/mjs/lib/requestUtils.js.map +1 -0
  123. package/dist/mjs/lib/webCryptoAPI.d.ts +10 -0
  124. package/dist/mjs/lib/webCryptoAPI.js +52 -0
  125. package/dist/mjs/lib/webCryptoAPI.js.map +1 -0
  126. package/dist/mjs/lib/websocket/WsStore.d.ts +63 -0
  127. package/dist/mjs/lib/websocket/WsStore.js +249 -0
  128. package/dist/mjs/lib/websocket/WsStore.js.map +1 -0
  129. package/dist/mjs/lib/websocket/WsStore.types.d.ts +50 -0
  130. package/dist/mjs/lib/websocket/WsStore.types.js +11 -0
  131. package/dist/mjs/lib/websocket/WsStore.types.js.map +1 -0
  132. package/dist/mjs/lib/websocket/logger.d.ts +6 -0
  133. package/dist/mjs/lib/websocket/logger.js +13 -0
  134. package/dist/mjs/lib/websocket/logger.js.map +1 -0
  135. package/dist/mjs/lib/websocket/websocket-util.d.ts +30 -0
  136. package/dist/mjs/lib/websocket/websocket-util.js +15 -0
  137. package/dist/mjs/lib/websocket/websocket-util.js.map +1 -0
  138. package/dist/mjs/package.json +3 -0
  139. package/dist/mjs/types/request/futures.types.d.ts +183 -0
  140. package/dist/mjs/types/request/futures.types.js +6 -0
  141. package/dist/mjs/types/request/futures.types.js.map +1 -0
  142. package/dist/mjs/types/request/spot-account.d.ts +56 -0
  143. package/dist/mjs/types/request/spot-account.js +2 -0
  144. package/dist/mjs/types/request/spot-account.js.map +1 -0
  145. package/dist/mjs/types/request/spot-earn.d.ts +27 -0
  146. package/dist/mjs/types/request/spot-earn.js +7 -0
  147. package/dist/mjs/types/request/spot-earn.js.map +1 -0
  148. package/dist/mjs/types/request/spot-funding.d.ts +88 -0
  149. package/dist/mjs/types/request/spot-funding.js +9 -0
  150. package/dist/mjs/types/request/spot-funding.js.map +1 -0
  151. package/dist/mjs/types/request/spot-margin-trading.d.ts +169 -0
  152. package/dist/mjs/types/request/spot-margin-trading.js +9 -0
  153. package/dist/mjs/types/request/spot-margin-trading.js.map +1 -0
  154. package/dist/mjs/types/request/spot-trading.d.ts +214 -0
  155. package/dist/mjs/types/request/spot-trading.js +9 -0
  156. package/dist/mjs/types/request/spot-trading.js.map +1 -0
  157. package/dist/mjs/types/response/futures.types.d.ts +501 -0
  158. package/dist/mjs/types/response/futures.types.js +6 -0
  159. package/dist/mjs/types/response/futures.types.js.map +1 -0
  160. package/dist/mjs/types/response/shared.types.d.ts +9 -0
  161. package/dist/mjs/types/response/shared.types.js +2 -0
  162. package/dist/mjs/types/response/shared.types.js.map +1 -0
  163. package/dist/mjs/types/response/spot-account.d.ts +140 -0
  164. package/dist/mjs/types/response/spot-account.js +2 -0
  165. package/dist/mjs/types/response/spot-account.js.map +1 -0
  166. package/dist/mjs/types/response/spot-earn.d.ts +74 -0
  167. package/dist/mjs/types/response/spot-earn.js +7 -0
  168. package/dist/mjs/types/response/spot-earn.js.map +1 -0
  169. package/dist/mjs/types/response/spot-funding.d.ts +176 -0
  170. package/dist/mjs/types/response/spot-funding.js +9 -0
  171. package/dist/mjs/types/response/spot-funding.js.map +1 -0
  172. package/dist/mjs/types/response/spot-margin-trading.d.ts +257 -0
  173. package/dist/mjs/types/response/spot-margin-trading.js +9 -0
  174. package/dist/mjs/types/response/spot-margin-trading.js.map +1 -0
  175. package/dist/mjs/types/response/spot-trading.d.ts +388 -0
  176. package/dist/mjs/types/response/spot-trading.js +9 -0
  177. package/dist/mjs/types/response/spot-trading.js.map +1 -0
  178. package/dist/mjs/types/response/spot-vip.d.ts +38 -0
  179. package/dist/mjs/types/response/spot-vip.js +9 -0
  180. package/dist/mjs/types/response/spot-vip.js.map +1 -0
  181. package/dist/mjs/types/response/ws.d.ts +11 -0
  182. package/dist/mjs/types/response/ws.js +2 -0
  183. package/dist/mjs/types/response/ws.js.map +1 -0
  184. package/dist/mjs/types/websockets/client.d.ts +46 -0
  185. package/dist/mjs/types/websockets/client.js +2 -0
  186. package/dist/mjs/types/websockets/client.js.map +1 -0
  187. package/dist/mjs/types/websockets/events.d.ts +5 -0
  188. package/dist/mjs/types/websockets/events.js +2 -0
  189. package/dist/mjs/types/websockets/events.js.map +1 -0
  190. package/dist/mjs/types/websockets/requests.d.ts +8 -0
  191. package/dist/mjs/types/websockets/requests.js +2 -0
  192. package/dist/mjs/types/websockets/requests.js.map +1 -0
  193. package/dist/mjs/types/websockets/wsAPI.d.ts +9 -0
  194. package/dist/mjs/types/websockets/wsAPI.js +2 -0
  195. package/dist/mjs/types/websockets/wsAPI.js.map +1 -0
  196. package/package.json +70 -14
  197. package/LICENSE +0 -21
  198. package/index.js +0 -192
  199. package/test.js +0 -122
@@ -0,0 +1,9 @@
1
+ /**
2
+ *
3
+ ***********
4
+ * Margin Trading
5
+ ***********
6
+ *
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=spot-margin-trading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spot-margin-trading.js","sourceRoot":"","sources":["../../../../src/types/response/spot-margin-trading.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,388 @@
1
+ /**
2
+ *
3
+ ***********
4
+ * Spot Trading
5
+ ***********
6
+ *
7
+ */
8
+ /**
9
+ *
10
+ * Market data
11
+ *
12
+ */
13
+ interface Chain {
14
+ chainName: string;
15
+ withdrawalMinSize: string;
16
+ withdrawalMinFee: string;
17
+ isWithdrawEnabled: boolean;
18
+ isDepositEnabled: boolean;
19
+ confirms: number;
20
+ preConfirms: number;
21
+ contractAddress: string;
22
+ chainId: string;
23
+ }
24
+ export interface CurrencyInfo {
25
+ currency: string;
26
+ name: string;
27
+ fullName: string;
28
+ precision: number;
29
+ confirms: number | null;
30
+ contractAddress: string | null;
31
+ isMarginEnabled: boolean;
32
+ isDebitEnabled: boolean;
33
+ chains: Chain[];
34
+ }
35
+ export interface SymbolInfo {
36
+ symbol: string;
37
+ name: string;
38
+ baseCurrency: string;
39
+ quoteCurrency: string;
40
+ feeCurrency: string;
41
+ market: string;
42
+ baseMinSize: string;
43
+ quoteMinSize: string;
44
+ baseMaxSize: string;
45
+ quoteMaxSize: string;
46
+ baseIncrement: string;
47
+ quoteIncrement: string;
48
+ priceIncrement: string;
49
+ priceLimitRate: string;
50
+ minFunds: string;
51
+ isMarginEnabled: boolean;
52
+ enableTrading: boolean;
53
+ }
54
+ export interface Ticker {
55
+ sequence: string;
56
+ price: string;
57
+ size: string;
58
+ bestAsk: string;
59
+ bestAskSize: string;
60
+ bestBid: string;
61
+ bestBidSize: string;
62
+ time: number;
63
+ }
64
+ export interface Symbol24hrStats {
65
+ time: number;
66
+ symbol: string;
67
+ buy: string;
68
+ sell: string;
69
+ changeRate: string;
70
+ changePrice: string;
71
+ high: string;
72
+ low: string;
73
+ vol: string;
74
+ volValue: string;
75
+ last: string;
76
+ averagePrice: string;
77
+ takerFeeRate: string;
78
+ makerFeeRate: string;
79
+ takerCoefficient: string;
80
+ makerCoefficient: string;
81
+ }
82
+ export interface OrderBookLevel {
83
+ sequence: string;
84
+ time: number;
85
+ bids: [string, string][];
86
+ asks: [string, string][];
87
+ }
88
+ export interface TradeHistory {
89
+ sequence: string;
90
+ time: number;
91
+ price: string;
92
+ size: string;
93
+ side: string;
94
+ }
95
+ export interface Kline {
96
+ startAt: string;
97
+ open: string;
98
+ close: string;
99
+ high: string;
100
+ low: string;
101
+ volume: string;
102
+ amount: string;
103
+ }
104
+ /**
105
+ *
106
+ * Spot HF trade
107
+ *
108
+ */
109
+ export interface SubmitHFOrderSyncResponse {
110
+ orderId: string;
111
+ orderTime: number;
112
+ originSize: string;
113
+ dealSize: string;
114
+ remainSize: string;
115
+ canceledSize: string;
116
+ status: string;
117
+ matchTime: number;
118
+ }
119
+ export interface SubmitMultipleHFOrdersResponse {
120
+ orderId: string;
121
+ success?: boolean;
122
+ failMsg?: string;
123
+ }
124
+ export interface SubmitMultipleHFOrdersSyncResponse {
125
+ orderId: string;
126
+ orderTime: number;
127
+ originSize: string;
128
+ dealSize: string;
129
+ remainSize: string;
130
+ canceledSize: string;
131
+ status: string;
132
+ matchTime: number;
133
+ success: boolean;
134
+ }
135
+ export interface SyncCancelHFOrderResponse {
136
+ orderId: string;
137
+ originSize: string;
138
+ dealSize: string;
139
+ remainSize: string;
140
+ canceledSize: string;
141
+ status: string;
142
+ }
143
+ export interface CancelAllHFOrdersResponse {
144
+ succeedSymbols?: string[];
145
+ failedSymbols?: {
146
+ symbol: string;
147
+ error: string;
148
+ }[];
149
+ }
150
+ export interface AutoCancelHFOrderSettingQueryResponse {
151
+ timeout: number;
152
+ symbols: string;
153
+ currentTime: number;
154
+ triggerTime: number;
155
+ }
156
+ export interface HFFilledOrder {
157
+ id: number;
158
+ symbol: string;
159
+ tradeId: number;
160
+ orderId: string;
161
+ counterOrderId: string;
162
+ side: string;
163
+ liquidity: string;
164
+ forceTaker: boolean;
165
+ price: string;
166
+ size: string;
167
+ funds: string;
168
+ fee: string;
169
+ feeRate: string;
170
+ feeCurrency: string;
171
+ stop: string;
172
+ tradeType: string;
173
+ type: string;
174
+ createdAt: number;
175
+ }
176
+ export interface HFOrder {
177
+ id: string;
178
+ symbol: string;
179
+ opType: string;
180
+ type: string;
181
+ side: string;
182
+ price: string;
183
+ size: string;
184
+ dealSize: string;
185
+ cancelledSize: string;
186
+ remainSize: string;
187
+ funds: string;
188
+ dealFunds: string;
189
+ cancelledFunds: string;
190
+ remainFunds: string;
191
+ fee: string;
192
+ feeCurrency: string;
193
+ stp: string;
194
+ timeInForce: string;
195
+ postOnly: boolean;
196
+ hidden: boolean;
197
+ iceberg: boolean;
198
+ visibleSize: string;
199
+ cancelAfter: number;
200
+ channel: string;
201
+ clientOid: string;
202
+ remark: string;
203
+ tags: string;
204
+ active: boolean;
205
+ inOrderBook: boolean;
206
+ cancelExist: boolean;
207
+ createdAt: number;
208
+ lastUpdatedAt: number;
209
+ tradeType: string;
210
+ }
211
+ /**
212
+ *
213
+ * Orders
214
+ *
215
+ */
216
+ export interface MultipleOrdersResponse {
217
+ symbol: string;
218
+ type?: string;
219
+ side: string;
220
+ price: string;
221
+ size: string;
222
+ funds?: any;
223
+ stp?: string;
224
+ stop?: string;
225
+ stopPrice?: any;
226
+ timeInForce?: string;
227
+ cancelAfter?: number;
228
+ postOnly?: boolean;
229
+ hidden?: boolean;
230
+ iceberg?: boolean;
231
+ visibleSize?: any;
232
+ channel: string;
233
+ id: string;
234
+ status: string;
235
+ failMsg?: any;
236
+ clientOid: string;
237
+ }
238
+ export interface SpotOrderList {
239
+ currentPage: number;
240
+ pageSize: number;
241
+ totalNum: number;
242
+ totalPage: number;
243
+ items: SpotOrder[];
244
+ }
245
+ export interface SpotOrder {
246
+ id: string;
247
+ symbol: string;
248
+ opType: string;
249
+ type: string;
250
+ side: string;
251
+ price: string;
252
+ size: string;
253
+ funds: string;
254
+ dealFunds: string;
255
+ dealSize: string;
256
+ fee: string;
257
+ feeCurrency: string;
258
+ stp: string;
259
+ stop: string;
260
+ stopTriggered: boolean;
261
+ stopPrice: string;
262
+ timeInForce: string;
263
+ postOnly: boolean;
264
+ hidden: boolean;
265
+ iceberg: boolean;
266
+ visibleSize: string;
267
+ cancelAfter: number;
268
+ channel: string;
269
+ clientOid: string;
270
+ remark: string;
271
+ tags: string;
272
+ isActive: boolean;
273
+ cancelExist: boolean;
274
+ createdAt: number;
275
+ tradeType: string;
276
+ }
277
+ /**
278
+ *
279
+ * Fills
280
+ *
281
+ */
282
+ export interface SpotOrderFill {
283
+ symbol: string;
284
+ tradeId: string;
285
+ orderId: string;
286
+ counterOrderId: string;
287
+ side: 'buy' | 'sell';
288
+ price: string;
289
+ size: string;
290
+ funds: string;
291
+ type: 'limit' | 'market' | 'limit_stop' | 'market_stop';
292
+ fee: string;
293
+ feeCurrency: string;
294
+ stop: string;
295
+ liquidity: 'taker' | 'maker';
296
+ forceTaker: boolean;
297
+ createdAt: number;
298
+ tradeType: 'TRADE' | 'MARGIN_TRADE' | 'MARGIN_ISOLATED_TRADE';
299
+ }
300
+ export interface SpotOrderFills {
301
+ currentPage: number;
302
+ pageSize: number;
303
+ totalNum: number;
304
+ totalPage: number;
305
+ items: SpotOrderFill[];
306
+ }
307
+ /**
308
+ *
309
+ * Stop order
310
+ *
311
+ */
312
+ export interface StopOrders {
313
+ currentPage: number;
314
+ pageSize: number;
315
+ totalNum: number;
316
+ totalPage: number;
317
+ items: StopOrderItem[];
318
+ }
319
+ export interface StopOrderItem {
320
+ id: string;
321
+ symbol: string;
322
+ userId: string;
323
+ status: 'NEW' | 'TRIGGERED';
324
+ type: 'limit' | 'market';
325
+ side: 'buy' | 'sell';
326
+ price: string;
327
+ size: string;
328
+ funds: string | null;
329
+ stp: string | null;
330
+ timeInForce: 'GTC' | 'GTT' | 'IOC' | 'FOK';
331
+ cancelAfter: number;
332
+ postOnly: boolean;
333
+ hidden: boolean;
334
+ iceberg: boolean;
335
+ visibleSize: string | null;
336
+ channel: string;
337
+ clientOid: string;
338
+ remark: string | null;
339
+ tags: string | null;
340
+ orderTime: number;
341
+ domainId: string;
342
+ tradeSource: 'USER' | 'MARGIN_SYSTEM';
343
+ tradeType: 'TRADE' | 'MARGIN_TRADE' | 'MARGIN_ISOLATED_TRADE';
344
+ feeCurrency: string;
345
+ takerFeeRate: string;
346
+ makerFeeRate: string;
347
+ createdAt: number;
348
+ stop: 'loss' | 'entry';
349
+ stopTriggerTime: number | null;
350
+ stopPrice: string;
351
+ }
352
+ /**
353
+ *
354
+ * OCO order
355
+ *
356
+ */
357
+ export interface OCOOrderDetails {
358
+ orderId: string;
359
+ symbol: string;
360
+ clientOid: string;
361
+ orderTime: number;
362
+ status: 'NEW' | 'DONE' | 'TRIGGERED' | 'CANCELLED';
363
+ orders: OCOOrderSubOrder[];
364
+ }
365
+ export interface OCOOrderSubOrder {
366
+ id: string;
367
+ symbol: string;
368
+ side: 'buy' | 'sell';
369
+ price: string;
370
+ stopPrice: string;
371
+ size: string;
372
+ status: 'NEW' | 'DONE' | 'TRIGGERED' | 'CANCELLED';
373
+ }
374
+ export interface OCOOrders {
375
+ currentPage: number;
376
+ pageSize: number;
377
+ totalNum: number;
378
+ totalPage: number;
379
+ items: OCOOrderListItem[];
380
+ }
381
+ export interface OCOOrderListItem {
382
+ orderId: string;
383
+ symbol: string;
384
+ clientOid: string;
385
+ orderTime: number;
386
+ status: 'NEW' | 'DONE' | 'TRIGGERED' | 'CANCELLED';
387
+ }
388
+ export {};
@@ -0,0 +1,9 @@
1
+ /**
2
+ *
3
+ ***********
4
+ * Spot Trading
5
+ ***********
6
+ *
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=spot-trading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spot-trading.js","sourceRoot":"","sources":["../../../../src/types/response/spot-trading.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ *
3
+ ***********
4
+ * VIP LENDING
5
+ ***********
6
+ *
7
+ */
8
+ export interface OtcLoan {
9
+ parentUid: string;
10
+ orders: {
11
+ orderId: string;
12
+ currency: string;
13
+ principal: string;
14
+ interest: string;
15
+ }[];
16
+ ltv: {
17
+ transferLtv: string;
18
+ onlyClosePosLtv: string;
19
+ delayedLiquidationLtv: string;
20
+ instantLiquidationLtv: string;
21
+ currentLtv: string;
22
+ };
23
+ totalMarginAmount: string;
24
+ transferMarginAmount: string;
25
+ margins: {
26
+ marginCcy: string;
27
+ marginQty: string;
28
+ marginFactor: string;
29
+ }[];
30
+ }
31
+ export interface OtcLoanAccount {
32
+ uid: string;
33
+ marginCcy: string;
34
+ marginQty: string;
35
+ marginFactor: string;
36
+ accountType: 'TRADE' | 'TRADE_HF' | 'CONTRACT';
37
+ isParent: boolean;
38
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ *
3
+ ***********
4
+ * VIP LENDING
5
+ ***********
6
+ *
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=spot-vip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spot-vip.js","sourceRoot":"","sources":["../../../../src/types/response/spot-vip.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,11 @@
1
+ export interface WsServerInfo {
2
+ endpoint: string;
3
+ encrypt: boolean;
4
+ protocol: string;
5
+ pingInterval: number;
6
+ pingTimeout: number;
7
+ }
8
+ export interface WsConnectionInfo {
9
+ token: string;
10
+ instanceServers: WsServerInfo[];
11
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ws.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws.js","sourceRoot":"","sources":["../../../../src/types/response/ws.ts"],"names":[],"mappings":""}
@@ -0,0 +1,46 @@
1
+ /** General configuration for the WebsocketClient */
2
+ export interface WSClientConfigurableOptions {
3
+ /** Your API key */
4
+ apiKey?: string;
5
+ /** Your API secret */
6
+ apiSecret?: string;
7
+ /** Your API passphrase (can be anything) that you included when creating this API key */
8
+ apiPassphrase?: string;
9
+ /** Define a recv window when preparing a private websocket signature. This is in milliseconds, so 5000 == 5 seconds */
10
+ recvWindow?: number;
11
+ /** How often to check if the connection is alive */
12
+ pingInterval?: number;
13
+ /** How long to wait for a pong (heartbeat reply) before assuming the connection is dead */
14
+ pongTimeout?: number;
15
+ /** Delay in milliseconds before respawning the connection */
16
+ reconnectTimeout?: number;
17
+ wsUrl?: string;
18
+ /**
19
+ * Allows you to provide a custom "signMessage" function, e.g. to use node's much faster createHmac method
20
+ *
21
+ * Look in the examples folder for a demonstration on using node's createHmac instead.
22
+ */
23
+ customSignMessageFn?: (message: string, secret: string) => Promise<string>;
24
+ /**
25
+ * If you authenticated the WS API before, automatically try to re-authenticate the WS API if you're disconnected/reconnected for any reason.
26
+ */
27
+ reauthWSAPIOnReconnect?: boolean;
28
+ }
29
+ /**
30
+ * WS configuration that's always defined, regardless of user configuration
31
+ * (usually comes from defaults if there's no user-provided values)
32
+ */
33
+ export interface WebsocketClientOptions extends WSClientConfigurableOptions {
34
+ pingInterval: number;
35
+ pongTimeout: number;
36
+ reconnectTimeout: number;
37
+ recvWindow: number;
38
+ /**
39
+ * If true, require a "receipt" that the connection is ready for use (e.g. a specific event type)
40
+ */
41
+ requireConnectionReadyConfirmation: boolean;
42
+ authPrivateConnectionsOnConnect: boolean;
43
+ authPrivateRequests: boolean;
44
+ reauthWSAPIOnReconnect: boolean;
45
+ }
46
+ export type WsMarket = 'spot' | 'futures';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/types/websockets/client.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface WsDataEvent<TData = any, TWSKey = string> {
2
+ data: TData;
3
+ table: string;
4
+ wsKey: TWSKey;
5
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/types/websockets/events.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export type WsOperation = 'subscribe' | 'unsubscribe' | 'login' | 'access' | 'request';
2
+ export interface WsRequestOperation<TWSTopic extends string> {
3
+ id: number;
4
+ type: WsOperation;
5
+ topic: TWSTopic;
6
+ privateChannel: boolean;
7
+ response: boolean;
8
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=requests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests.js","sourceRoot":"","sources":["../../../../src/types/websockets/requests.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export interface WsAPIWsKeyTopicMap {
2
+ [k: string]: never;
3
+ }
4
+ export interface WsAPITopicRequestParamMap {
5
+ [k: string]: never;
6
+ }
7
+ export interface WsAPITopicResponseMap {
8
+ [k: string]: never;
9
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wsAPI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wsAPI.js","sourceRoot":"","sources":["../../../../src/types/websockets/wsAPI.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,28 +1,84 @@
1
1
  {
2
2
  "name": "kucoin-api",
3
- "version": "0.0.2",
4
- "description": "Node.js client for the KuCoin API",
5
- "main": "index.js",
3
+ "version": "1.0.0",
4
+ "description": "Complete & robust Node.js SDK for Kucoin's REST APIs and WebSockets, with TypeScript & strong end to end tests.",
6
5
  "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
6
+ "clean": "rm -rf dist",
7
+ "build": "npm run clean && tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json && bash ./postBuild.sh",
8
+ "test": "jest --passWithNoTests"
9
+ },
10
+ "main": "dist/cjs/index.js",
11
+ "module": "dist/mjs/index.js",
12
+ "types": "dist/mjs/index.d.ts",
13
+ "exports": {
14
+ ".": {
15
+ "import": "./dist/mjs/index.js",
16
+ "require": "./dist/cjs/index.js",
17
+ "types": "./dist/mjs/index.d.ts"
18
+ }
19
+ },
20
+ "type": "module",
21
+ "files": [
22
+ "dist/*"
23
+ ],
24
+ "author": "Tiago Siebler (https://github.com/tiagosiebler)",
25
+ "contributors": [
26
+ "Jerko J (https://github.com/JJ-Cro)"
27
+ ],
28
+ "dependencies": {
29
+ "axios": "^1.7.4",
30
+ "isomorphic-ws": "^4.0.1",
31
+ "nanoid": "^5.0.6",
32
+ "ws": "^7.4.0"
33
+ },
34
+ "devDependencies": {
35
+ "@types/jest": "^29.5.12",
36
+ "@types/node": "^20.11.6",
37
+ "@types/ws": "^8.5.10",
38
+ "@typescript-eslint/eslint-plugin": "^7.1.0",
39
+ "@typescript-eslint/parser": "^7.1.0",
40
+ "eslint": "^8.29.0",
41
+ "eslint-config-prettier": "^9.1.0",
42
+ "eslint-plugin-prettier": "^5.1.3",
43
+ "eslint-plugin-require-extensions": "^0.1.3",
44
+ "eslint-plugin-simple-import-sort": "^12.0.0",
45
+ "jest": "^29.7.0",
46
+ "prettier": "^3.3.3",
47
+ "ts-jest": "^29.2.4",
48
+ "ts-node": "^10.9.2",
49
+ "typescript": "^5.3.3"
8
50
  },
9
51
  "keywords": [
10
52
  "kucoin",
53
+ "kucoin api",
54
+ "kucoin nodejs",
55
+ "kucoin javascript",
56
+ "kucoin typescript",
57
+ "algo trading",
11
58
  "api",
12
- "exchange"
59
+ "websocket",
60
+ "rest",
61
+ "rest api",
62
+ "usdt",
63
+ "trading bots",
64
+ "nodejs",
65
+ "node",
66
+ "trading",
67
+ "cryptocurrency",
68
+ "bitcoin",
69
+ "best"
13
70
  ],
71
+ "funding": {
72
+ "type": "individual",
73
+ "url": "https://github.com/sponsors/tiagosiebler"
74
+ },
75
+ "license": "MIT",
14
76
  "repository": {
15
77
  "type": "git",
16
- "url": "git@github.com:Satoshinaire/kucoin-api.git"
78
+ "url": "https://github.com/tiagosiebler/kucoin-api"
17
79
  },
18
80
  "bugs": {
19
- "url": "https://github.com/Satoshinaire/kucoin-api/issues"
81
+ "url": "https://github.com/tiagosiebler/kucoin-api/issues"
20
82
  },
21
- "homepage": "https://github.com/Satoshinaire/kucoin-api",
22
- "author": "Satoshinaire",
23
- "license": "MIT",
24
- "dependencies": {
25
- "q": "^1.5.1",
26
- "restify-clients": "^1.5.2"
27
- }
83
+ "homepage": "https://github.com/tiagosiebler/kucoin-api#readme"
28
84
  }