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 @@
1
+ {"version":3,"file":"SpotClient.js","sourceRoot":"","sources":["../../src/SpotClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { BaseWebsocketClient, EmittableEvent } from './lib/BaseWSClient.js';
2
+ import { MessageEventLike, WsKey, WsTopicRequest } from './lib/websocket/websocket-util.js';
3
+ import { WSConnectedResult } from './lib/websocket/WsStore.types.js';
4
+ import { WsMarket } from './types/websockets/client.js';
5
+ import { WsOperation } from './types/websockets/requests.js';
6
+ import { WsAPITopicRequestParamMap, WsAPITopicResponseMap, WsAPIWsKeyTopicMap } from './types/websockets/wsAPI.js';
7
+ export declare const WS_LOGGER_CATEGORY: {
8
+ category: string;
9
+ };
10
+ /** Any WS keys in this list will ALWAYS skip the authentication process, even if credentials are available */
11
+ export declare const PUBLIC_WS_KEYS: WsKey[];
12
+ /**
13
+ * WS topics are always a string for this exchange. Some exchanges use complex objects.
14
+ */
15
+ type WsTopic = string;
16
+ export declare class WebsocketClient extends BaseWebsocketClient<WsKey> {
17
+ private RESTClientCache;
18
+ private getRESTClient;
19
+ private getWSConnectionInfo;
20
+ /**
21
+ * Request connection of all dependent (public & private) websockets, instead of waiting for automatic connection by library
22
+ */
23
+ connectAll(): Promise<(WSConnectedResult | undefined)[]>;
24
+ /**
25
+ * Request subscription to one or more topics. Pass topics as either an array of strings, or array of objects (if the topic has parameters).
26
+ * Objects should be formatted as {topic: string, params: object}.
27
+ *
28
+ * - Subscriptions are automatically routed to the correct websocket connection.
29
+ * - Authentication/connection is automatic.
30
+ * - Resubscribe after network issues is automatic.
31
+ *
32
+ * Call `unsubscribe(topics)` to remove topics
33
+ */
34
+ subscribe(requests: (WsTopicRequest<WsTopic> | WsTopic) | (WsTopicRequest<WsTopic> | WsTopic)[], wsKey: WsKey): void;
35
+ /**
36
+ * Unsubscribe from one or more topics. Similar to subscribe() but in reverse.
37
+ *
38
+ * - Requests are automatically routed to the correct websocket connection.
39
+ * - These topics will be removed from the topic cache, so they won't be subscribed to again.
40
+ */
41
+ unsubscribe(requests: (WsTopicRequest<WsTopic> | WsTopic) | (WsTopicRequest<WsTopic> | WsTopic)[], wsKey: WsKey): void;
42
+ /**
43
+ * Not supported by Kucoin, do not use
44
+ */
45
+ sendWSAPIRequest<TWSKey extends keyof WsAPIWsKeyTopicMap, TWSChannel extends WsAPIWsKeyTopicMap[TWSKey] = WsAPIWsKeyTopicMap[TWSKey], TWSParams extends WsAPITopicRequestParamMap[TWSChannel] = WsAPITopicRequestParamMap[TWSChannel], TWSAPIResponse extends WsAPITopicResponseMap[TWSChannel] | object = WsAPITopicResponseMap[TWSChannel]>(wsKey: TWSKey, channel: TWSChannel, ...params: TWSParams extends undefined ? [] : [TWSParams]): Promise<TWSAPIResponse>;
46
+ /**
47
+ *
48
+ * Internal methods
49
+ *
50
+ */
51
+ /**
52
+ * Whatever url this method returns, it's connected to as-is!
53
+ *
54
+ * If a token or anything else is needed in the URL, this is a good place to add it.
55
+ */
56
+ protected getWsUrl(wsKey: WsKey): Promise<string>;
57
+ protected sendPingEvent(wsKey: WsKey): void;
58
+ protected sendPongEvent(wsKey: WsKey): void;
59
+ protected isWsPing(msg: any): boolean;
60
+ protected isWsPong(msg: any): boolean;
61
+ protected resolveEmittableEvents(wsKey: WsKey, event: MessageEventLike): EmittableEvent[];
62
+ /**
63
+ * Determines if a topic is for a private channel, using a hardcoded list of strings
64
+ */
65
+ protected isPrivateTopicRequest(request: WsTopicRequest<string>, wsKey: WsKey): boolean;
66
+ protected getWsKeyForMarket(market: WsMarket, isPrivate: boolean): WsKey;
67
+ protected getWsMarketForWsKey(key: WsKey): WsMarket;
68
+ protected getPrivateWSKeys(): WsKey[];
69
+ /** Force subscription requests to be sent in smaller batches, if a number is returned */
70
+ protected getMaxTopicsPerSubscribeEvent(wsKey: WsKey): number | null;
71
+ /**
72
+ * Map one or more topics into fully prepared "subscribe request" events (already stringified and ready to send)
73
+ */
74
+ protected getWsOperationEventsForTopics(topicRequests: WsTopicRequest<string>[], wsKey: WsKey, operation: WsOperation): Promise<string[]>;
75
+ protected getWsAuthRequestEvent(wsKey: WsKey): Promise<object>;
76
+ }
77
+ export {};
@@ -0,0 +1,333 @@
1
+ import { FuturesClient } from './FuturesClient.js';
2
+ import { BaseWebsocketClient } from './lib/BaseWSClient.js';
3
+ import { neverGuard } from './lib/misc-util.js';
4
+ import { WS_KEY_MAP, } from './lib/websocket/websocket-util.js';
5
+ import { SpotClient } from './SpotClient.js';
6
+ function getRandomInt(max) {
7
+ return Math.floor(Math.random() * max);
8
+ }
9
+ export const WS_LOGGER_CATEGORY = { category: 'kucoin-ws' };
10
+ /** Any WS keys in this list will trigger auth on connect, if credentials are available */
11
+ const PRIVATE_WS_KEYS = [
12
+ WS_KEY_MAP.spotPrivateV1,
13
+ WS_KEY_MAP.futuresPrivateV1,
14
+ ];
15
+ /** Any WS keys in this list will ALWAYS skip the authentication process, even if credentials are available */
16
+ export const PUBLIC_WS_KEYS = [
17
+ WS_KEY_MAP.spotPublicV1,
18
+ WS_KEY_MAP.futuresPublicV1,
19
+ ];
20
+ export class WebsocketClient extends BaseWebsocketClient {
21
+ RESTClientCache = {
22
+ spot: undefined,
23
+ futures: undefined,
24
+ };
25
+ getRESTClient(wsKey) {
26
+ if (wsKey === 'spotPublicV1' || wsKey === 'spotPrivateV1') {
27
+ const clientType = 'spot';
28
+ if (this.RESTClientCache[clientType]) {
29
+ return this.RESTClientCache[clientType];
30
+ }
31
+ this.RESTClientCache[clientType] = new SpotClient({
32
+ apiKey: this.options.apiKey,
33
+ apiSecret: this.options.apiSecret,
34
+ apiPassphrase: this.options.apiPassphrase,
35
+ });
36
+ return this.RESTClientCache[clientType];
37
+ }
38
+ if (wsKey === 'futuresPublicV1' || wsKey === 'futuresPrivateV1') {
39
+ const clientType = 'futures';
40
+ if (this.RESTClientCache[clientType]) {
41
+ return this.RESTClientCache[clientType];
42
+ }
43
+ this.RESTClientCache[clientType] = new FuturesClient({
44
+ apiKey: this.options.apiKey,
45
+ apiSecret: this.options.apiSecret,
46
+ apiPassphrase: this.options.apiPassphrase,
47
+ });
48
+ return this.RESTClientCache[clientType];
49
+ }
50
+ throw new Error(`Unhandled WsKey: "${wsKey}"`);
51
+ }
52
+ async getWSConnectionInfo(wsKey) {
53
+ const restClient = this.getRESTClient(wsKey);
54
+ if (wsKey === 'spotPrivateV1' || wsKey === 'futuresPrivateV1') {
55
+ return restClient.getPrivateWSConnectionToken();
56
+ }
57
+ return restClient.getPublicWSConnectionToken();
58
+ }
59
+ /**
60
+ * Request connection of all dependent (public & private) websockets, instead of waiting for automatic connection by library
61
+ */
62
+ connectAll() {
63
+ return Promise.all([
64
+ this.connect(WS_KEY_MAP.spotPublicV1),
65
+ this.connect(WS_KEY_MAP.spotPrivateV1),
66
+ this.connect(WS_KEY_MAP.futuresPublicV1),
67
+ this.connect(WS_KEY_MAP.futuresPrivateV1),
68
+ ]);
69
+ }
70
+ /**
71
+ * Request subscription to one or more topics. Pass topics as either an array of strings, or array of objects (if the topic has parameters).
72
+ * Objects should be formatted as {topic: string, params: object}.
73
+ *
74
+ * - Subscriptions are automatically routed to the correct websocket connection.
75
+ * - Authentication/connection is automatic.
76
+ * - Resubscribe after network issues is automatic.
77
+ *
78
+ * Call `unsubscribe(topics)` to remove topics
79
+ */
80
+ subscribe(requests, wsKey) {
81
+ if (!Array.isArray(requests)) {
82
+ this.subscribeTopicsForWsKey([requests], wsKey);
83
+ return;
84
+ }
85
+ if (requests.length) {
86
+ this.subscribeTopicsForWsKey(requests, wsKey);
87
+ }
88
+ }
89
+ /**
90
+ * Unsubscribe from one or more topics. Similar to subscribe() but in reverse.
91
+ *
92
+ * - Requests are automatically routed to the correct websocket connection.
93
+ * - These topics will be removed from the topic cache, so they won't be subscribed to again.
94
+ */
95
+ unsubscribe(requests, wsKey) {
96
+ if (!Array.isArray(requests)) {
97
+ this.unsubscribeTopicsForWsKey([requests], wsKey);
98
+ return;
99
+ }
100
+ if (requests.length) {
101
+ this.unsubscribeTopicsForWsKey(requests, wsKey);
102
+ }
103
+ }
104
+ async sendWSAPIRequest(wsKey, channel, params) {
105
+ this.logger.trace(`sendWSAPIRequest(): assert "${wsKey}" is connected`, {
106
+ channel,
107
+ params,
108
+ });
109
+ return;
110
+ }
111
+ /**
112
+ *
113
+ * Internal methods
114
+ *
115
+ */
116
+ /**
117
+ * Whatever url this method returns, it's connected to as-is!
118
+ *
119
+ * If a token or anything else is needed in the URL, this is a good place to add it.
120
+ */
121
+ async getWsUrl(wsKey) {
122
+ if (this.options.wsUrl) {
123
+ return this.options.wsUrl;
124
+ }
125
+ const connectionInfo = await this.getWSConnectionInfo(wsKey);
126
+ this.logger.trace(`getWSConnectionInfo`, {
127
+ wsKey,
128
+ ...connectionInfo,
129
+ });
130
+ const server = connectionInfo.data.instanceServers[0];
131
+ if (!server) {
132
+ this.logger.error(`No servers returned by connection info response?`, JSON.stringify({
133
+ wsKey,
134
+ connectionInfo,
135
+ }, null, 2));
136
+ throw new Error(`No servers returned by connection info response?`);
137
+ }
138
+ const connectionUrl = `${server.endpoint}?token=${connectionInfo.data.token}`;
139
+ return connectionUrl;
140
+ }
141
+ sendPingEvent(wsKey) {
142
+ return this.tryWsSend(wsKey, `{ "id": "${Date.now()}", "type": "ping" }`);
143
+ }
144
+ sendPongEvent(wsKey) {
145
+ try {
146
+ this.logger.trace(`Sending upstream ws PONG: `, {
147
+ ...WS_LOGGER_CATEGORY,
148
+ wsMessage: 'PONG',
149
+ wsKey,
150
+ });
151
+ if (!wsKey) {
152
+ throw new Error('Cannot send PONG, no wsKey provided');
153
+ }
154
+ const wsState = this.getWsStore().get(wsKey);
155
+ if (!wsState || !wsState?.ws) {
156
+ throw new Error(`Cannot send pong, ${wsKey} socket not connected yet`);
157
+ }
158
+ // Send a protocol layer pong
159
+ wsState.ws.pong();
160
+ }
161
+ catch (e) {
162
+ this.logger.error(`Failed to send WS PONG`, {
163
+ ...WS_LOGGER_CATEGORY,
164
+ wsMessage: 'PONG',
165
+ wsKey,
166
+ exception: e,
167
+ });
168
+ }
169
+ }
170
+ // Not really used for kucoin - they don't send pings
171
+ isWsPing(msg) {
172
+ if (msg?.data === 'ping') {
173
+ return true;
174
+ }
175
+ return false;
176
+ }
177
+ isWsPong(msg) {
178
+ if (msg?.data?.includes('pong')) {
179
+ return true;
180
+ }
181
+ // this.logger.info(`Not a pong: `, msg);
182
+ return false;
183
+ }
184
+ resolveEmittableEvents(wsKey, event) {
185
+ const results = [];
186
+ try {
187
+ const parsed = JSON.parse(event.data);
188
+ const responseEvents = ['subscribe', 'unsubscribe', 'ack'];
189
+ const authenticatedEvents = ['login', 'access'];
190
+ const connectionReadyEvents = ['welcome'];
191
+ const eventType = parsed.event || parsed.type;
192
+ if (typeof eventType === 'string') {
193
+ if (parsed.success === false) {
194
+ results.push({
195
+ eventType: 'exception',
196
+ event: parsed,
197
+ });
198
+ return results;
199
+ }
200
+ if (connectionReadyEvents.includes(eventType)) {
201
+ return [
202
+ {
203
+ eventType: 'connectionReady',
204
+ event: parsed,
205
+ },
206
+ ];
207
+ }
208
+ // These are request/reply pattern events (e.g. after subscribing to topics or authenticating)
209
+ if (responseEvents.includes(eventType)) {
210
+ results.push({
211
+ eventType: 'response',
212
+ event: parsed,
213
+ });
214
+ return results;
215
+ }
216
+ // Request/reply pattern for authentication success
217
+ if (authenticatedEvents.includes(eventType)) {
218
+ results.push({
219
+ eventType: 'authenticated',
220
+ event: parsed,
221
+ });
222
+ return results;
223
+ }
224
+ if (eventType === 'message') {
225
+ return [{ eventType: 'update', event: parsed }];
226
+ }
227
+ this.logger.error(`!! (${wsKey}) Unhandled string event type "${eventType}". Defaulting to "update" channel...`, parsed);
228
+ results.push({
229
+ eventType: 'update',
230
+ event: parsed,
231
+ });
232
+ return results;
233
+ }
234
+ this.logger.error(`!! (${wsKey}) Unhandled non-string event type "${eventType}". Defaulting to "update" channel...`, parsed);
235
+ results.push({
236
+ eventType: 'update',
237
+ event: parsed,
238
+ });
239
+ }
240
+ catch (e) {
241
+ results.push({
242
+ event: {
243
+ message: 'Failed to parse event data due to exception',
244
+ exception: e,
245
+ eventData: event.data,
246
+ },
247
+ eventType: 'exception',
248
+ });
249
+ this.logger.error(`Failed to parse event data due to exception: `, {
250
+ exception: e,
251
+ eventData: event.data,
252
+ });
253
+ }
254
+ return results;
255
+ }
256
+ /**
257
+ * Determines if a topic is for a private channel, using a hardcoded list of strings
258
+ */
259
+ isPrivateTopicRequest(request, wsKey) {
260
+ return request && PRIVATE_WS_KEYS.includes(wsKey);
261
+ }
262
+ getWsKeyForMarket(market, isPrivate) {
263
+ return isPrivate
264
+ ? market === 'spot'
265
+ ? WS_KEY_MAP.spotPrivateV1
266
+ : WS_KEY_MAP.futuresPrivateV1
267
+ : market === 'spot'
268
+ ? WS_KEY_MAP.spotPublicV1
269
+ : WS_KEY_MAP.futuresPublicV1;
270
+ }
271
+ getWsMarketForWsKey(key) {
272
+ switch (key) {
273
+ case 'futuresPrivateV1':
274
+ case 'futuresPublicV1': {
275
+ return 'futures';
276
+ }
277
+ case 'spotPrivateV1':
278
+ case 'spotPublicV1': {
279
+ return 'spot';
280
+ }
281
+ default: {
282
+ throw neverGuard(key, `Unhandled ws key "${key}"`);
283
+ }
284
+ }
285
+ }
286
+ getPrivateWSKeys() {
287
+ return PRIVATE_WS_KEYS;
288
+ }
289
+ /** Force subscription requests to be sent in smaller batches, if a number is returned */
290
+ getMaxTopicsPerSubscribeEvent(wsKey) {
291
+ switch (wsKey) {
292
+ case 'futuresPrivateV1':
293
+ case 'futuresPublicV1':
294
+ case 'spotPrivateV1':
295
+ case 'spotPublicV1': {
296
+ // Return a number if there's a limit on the number of sub topics per rq
297
+ // Always 1 at a time for this exchange
298
+ return 1;
299
+ }
300
+ default: {
301
+ throw neverGuard(wsKey, `getMaxTopicsPerSubscribeEvent(): Unhandled wsKey`);
302
+ }
303
+ }
304
+ }
305
+ /**
306
+ * Map one or more topics into fully prepared "subscribe request" events (already stringified and ready to send)
307
+ */
308
+ async getWsOperationEventsForTopics(topicRequests, wsKey, operation) {
309
+ if (!topicRequests.length) {
310
+ return [];
311
+ }
312
+ // Operations structured in a way that this exchange understands
313
+ const operationEvents = topicRequests.map((topicRequest) => {
314
+ const isPrivateWsTopic = this.isPrivateTopicRequest(topicRequest, wsKey);
315
+ const wsRequestEvent = {
316
+ id: getRandomInt(999999999999),
317
+ type: operation,
318
+ topic: topicRequest.topic,
319
+ privateChannel: isPrivateWsTopic,
320
+ response: true,
321
+ ...topicRequest.payload,
322
+ };
323
+ return wsRequestEvent;
324
+ });
325
+ // Events that are ready to send (usually stringified JSON)
326
+ return operationEvents.map((event) => JSON.stringify(event));
327
+ }
328
+ // Not used for kucoin - auth is part of the WS URL
329
+ async getWsAuthRequestEvent(wsKey) {
330
+ return { wsKey };
331
+ }
332
+ }
333
+ //# sourceMappingURL=WebsocketClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebsocketClient.js","sourceRoot":"","sources":["../../src/WebsocketClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export * from './FuturesClient.js';
2
+ export * from './lib/websocket/logger.js';
3
+ export * from './lib/websocket/websocket-util.js';
4
+ export * from './SpotClient.js';
5
+ export * from './types/request/futures.types.js';
6
+ export * from './types/request/spot-account.js';
7
+ export * from './types/request/spot-earn.js';
8
+ export * from './types/request/spot-funding.js';
9
+ export * from './types/request/spot-margin-trading.js';
10
+ export * from './types/request/spot-trading.js';
11
+ export * from './types/response/futures.types.js';
12
+ export * from './types/response/shared.types.js';
13
+ export * from './types/response/spot-account.js';
14
+ export * from './types/response/spot-earn.js';
15
+ export * from './types/response/spot-funding.js';
16
+ export * from './types/response/spot-margin-trading.js';
17
+ export * from './types/response/spot-trading.js';
18
+ export * from './types/response/spot-vip.js';
19
+ export * from './types/websockets/client.js';
20
+ export * from './types/websockets/events.js';
21
+ export * from './types/websockets/requests.js';
22
+ export * from './WebsocketClient.js';
@@ -0,0 +1,23 @@
1
+ export * from './FuturesClient.js';
2
+ export * from './lib/websocket/logger.js';
3
+ export * from './lib/websocket/websocket-util.js';
4
+ export * from './SpotClient.js';
5
+ export * from './types/request/futures.types.js';
6
+ export * from './types/request/spot-account.js';
7
+ export * from './types/request/spot-earn.js';
8
+ export * from './types/request/spot-funding.js';
9
+ export * from './types/request/spot-margin-trading.js';
10
+ export * from './types/request/spot-trading.js';
11
+ export * from './types/response/futures.types.js';
12
+ export * from './types/response/shared.types.js';
13
+ export * from './types/response/spot-account.js';
14
+ export * from './types/response/spot-earn.js';
15
+ export * from './types/response/spot-funding.js';
16
+ export * from './types/response/spot-margin-trading.js';
17
+ export * from './types/response/spot-trading.js';
18
+ export * from './types/response/spot-vip.js';
19
+ export * from './types/websockets/client.js';
20
+ export * from './types/websockets/events.js';
21
+ export * from './types/websockets/requests.js';
22
+ export * from './WebsocketClient.js';
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iBAAiB,CAAC;AAChC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { AxiosRequestConfig } from 'axios';
2
+ import { RestClientOptions, RestClientType } from './requestUtils.js';
3
+ export declare abstract class BaseRestClient {
4
+ private options;
5
+ private baseUrl;
6
+ private globalRequestOptions;
7
+ private apiKey;
8
+ private apiSecret;
9
+ private apiPassphrase;
10
+ /** Defines the client type (affecting how requests & signatures behave) */
11
+ abstract getClientType(): RestClientType;
12
+ /**
13
+ * Create an instance of the REST client. Pass API credentials in the object in the first parameter.
14
+ * @param {RestClientOptions} [restClientOptions={}] options to configure REST API connectivity
15
+ * @param {AxiosRequestConfig} [networkOptions={}] HTTP networking options for axios
16
+ */
17
+ constructor(restClientOptions?: RestClientOptions, networkOptions?: AxiosRequestConfig);
18
+ /**
19
+ * Timestamp used to sign the request. Override this method to implement your own timestamp/sync mechanism
20
+ */
21
+ getSignTimestampMs(): number;
22
+ get(endpoint: string, params?: any): Promise<any>;
23
+ post(endpoint: string, params?: any): Promise<any>;
24
+ getPrivate(endpoint: string, params?: any): Promise<any>;
25
+ postPrivate(endpoint: string, params?: any): Promise<any>;
26
+ deletePrivate(endpoint: string, params?: any): Promise<any>;
27
+ /**
28
+ * @private Make a HTTP request to a specific endpoint. Private endpoint API calls are automatically signed.
29
+ */
30
+ private _call;
31
+ /**
32
+ * @private generic handler to parse request exceptions
33
+ */
34
+ parseException(e: any, requestParams: any): unknown;
35
+ /**
36
+ * @private sign request and set recv window
37
+ */
38
+ private signRequest;
39
+ private prepareSignParams;
40
+ /** Returns an axios request object. Handles signing process automatically if this is a private API call */
41
+ private buildRequest;
42
+ }