gateio-api 1.1.10 → 1.1.12

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 (62) hide show
  1. package/README.md +93 -86
  2. package/dist/cjs/RestClient.d.ts +1 -0
  3. package/dist/cjs/RestClient.js +1 -0
  4. package/dist/cjs/RestClient.js.map +1 -1
  5. package/dist/cjs/WebsocketAPIClient.d.ts +136 -0
  6. package/dist/cjs/WebsocketAPIClient.js +197 -0
  7. package/dist/cjs/WebsocketAPIClient.js.map +1 -0
  8. package/dist/cjs/WebsocketClient.d.ts +14 -2
  9. package/dist/cjs/WebsocketClient.js +102 -20
  10. package/dist/cjs/WebsocketClient.js.map +1 -1
  11. package/dist/cjs/index.d.ts +1 -0
  12. package/dist/cjs/index.js +1 -0
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/lib/BaseRestClient.js +17 -0
  15. package/dist/cjs/lib/BaseRestClient.js.map +1 -1
  16. package/dist/cjs/lib/BaseWSClient.d.ts +14 -3
  17. package/dist/cjs/lib/BaseWSClient.js +95 -24
  18. package/dist/cjs/lib/BaseWSClient.js.map +1 -1
  19. package/dist/cjs/lib/logger.d.ts +1 -0
  20. package/dist/cjs/lib/requestUtils.d.ts +11 -0
  21. package/dist/cjs/lib/requestUtils.js.map +1 -1
  22. package/dist/cjs/lib/websocket/WsStore.d.ts +13 -2
  23. package/dist/cjs/lib/websocket/WsStore.js +44 -19
  24. package/dist/cjs/lib/websocket/WsStore.js.map +1 -1
  25. package/dist/cjs/lib/websocket/WsStore.types.d.ts +10 -3
  26. package/dist/cjs/lib/websocket/WsStore.types.js +1 -1
  27. package/dist/cjs/lib/websocket/WsStore.types.js.map +1 -1
  28. package/dist/cjs/types/response/spot.d.ts +1 -0
  29. package/dist/cjs/types/websockets/wsAPI.d.ts +193 -38
  30. package/dist/cjs/types/websockets/wsAPI.js +0 -5
  31. package/dist/cjs/types/websockets/wsAPI.js.map +1 -1
  32. package/dist/mjs/RestClient.d.ts +1 -0
  33. package/dist/mjs/RestClient.js +1 -0
  34. package/dist/mjs/RestClient.js.map +1 -1
  35. package/dist/mjs/WebsocketAPIClient.d.ts +136 -0
  36. package/dist/mjs/WebsocketAPIClient.js +193 -0
  37. package/dist/mjs/WebsocketAPIClient.js.map +1 -0
  38. package/dist/mjs/WebsocketClient.d.ts +14 -2
  39. package/dist/mjs/WebsocketClient.js +102 -20
  40. package/dist/mjs/WebsocketClient.js.map +1 -1
  41. package/dist/mjs/index.d.ts +1 -0
  42. package/dist/mjs/index.js +1 -0
  43. package/dist/mjs/index.js.map +1 -1
  44. package/dist/mjs/lib/BaseRestClient.js +17 -0
  45. package/dist/mjs/lib/BaseRestClient.js.map +1 -1
  46. package/dist/mjs/lib/BaseWSClient.d.ts +14 -3
  47. package/dist/mjs/lib/BaseWSClient.js +95 -24
  48. package/dist/mjs/lib/BaseWSClient.js.map +1 -1
  49. package/dist/mjs/lib/logger.d.ts +1 -0
  50. package/dist/mjs/lib/requestUtils.d.ts +11 -0
  51. package/dist/mjs/lib/requestUtils.js.map +1 -1
  52. package/dist/mjs/lib/websocket/WsStore.d.ts +13 -2
  53. package/dist/mjs/lib/websocket/WsStore.js +39 -14
  54. package/dist/mjs/lib/websocket/WsStore.js.map +1 -1
  55. package/dist/mjs/lib/websocket/WsStore.types.d.ts +10 -3
  56. package/dist/mjs/lib/websocket/WsStore.types.js +1 -1
  57. package/dist/mjs/lib/websocket/WsStore.types.js.map +1 -1
  58. package/dist/mjs/types/response/spot.d.ts +1 -0
  59. package/dist/mjs/types/websockets/wsAPI.d.ts +193 -38
  60. package/dist/mjs/types/websockets/wsAPI.js +0 -5
  61. package/dist/mjs/types/websockets/wsAPI.js.map +1 -1
  62. package/package.json +6 -2
@@ -0,0 +1,136 @@
1
+ import { DefaultLogger } from './lib/logger.js';
2
+ import { WSClientConfigurableOptions } from './types/websockets/client.js';
3
+ import { WSAPIFuturesOrder, WSAPIFuturesOrderAmendReq, WSAPIFuturesOrderBatchPlaceRespItem, WSAPIFuturesOrderCancelCPReq, WSAPIFuturesOrderCancelIdsRespItem, WSAPIFuturesOrderCancelReq, WSAPIFuturesOrderListReq, WSAPIFuturesOrderPlaceReq, WSAPIFuturesOrderStatusReq, WSAPIResponse, WSAPISpotOrder, WSAPISpotOrderAmendReq, WSAPISpotOrderCancelCPReq, WSAPISpotOrderCancelIdsReq, WSAPISpotOrderCancelIdsRespItem, WSAPISpotOrderCancelReq, WSAPISpotOrderListReq, WSAPISpotOrderPlaceReq, WSAPISpotOrderStatusReq, WSAPIWsKey } from './types/websockets/wsAPI.js';
4
+ import { WebsocketClient } from './WebsocketClient.js';
5
+ /**
6
+ * Configurable options specific to only the REST-like WebsocketAPIClient
7
+ */
8
+ export interface WSAPIClientConfigurableOptions {
9
+ /**
10
+ * Default: true
11
+ *
12
+ * Attach default event listeners, which will console log any high level
13
+ * events (opened/reconnecting/reconnected/etc).
14
+ *
15
+ * If you disable this, you should set your own event listeners
16
+ * on the embedded WS Client `wsApiClient.getWSClient().on(....)`.
17
+ */
18
+ attachEventListeners: boolean;
19
+ }
20
+ /**
21
+ * This is a minimal Websocket API wrapper around the WebsocketClient.
22
+ *
23
+ * Some methods support passing in a custom "wsKey". This is a reference to which WS connection should
24
+ * be used to transmit that message. This is only useful if you wish to use an alternative wss
25
+ * domain that is supported by the SDK.
26
+ *
27
+ * Note: To use testnet, don't set the wsKey - use `testnet: true` in
28
+ * the constructor instead.
29
+ *
30
+ * Note: You can also directly use the sendWSAPIRequest() method to make WS API calls, but some
31
+ * may find the below methods slightly more intuitive.
32
+ *
33
+ * Refer to the WS API promises example for a more detailed example on using sendWSAPIRequest() directly:
34
+ * https://github.com/tiagosiebler/gateio-api/blob/master/examples/ws-private-spot-wsapi.ts#L119
35
+ */
36
+ export declare class WebsocketAPIClient {
37
+ private wsClient;
38
+ private options;
39
+ constructor(options?: WSClientConfigurableOptions & Partial<WSAPIClientConfigurableOptions>, logger?: DefaultLogger);
40
+ getWSClient(): WebsocketClient;
41
+ setTimeOffsetMs(newOffset: number): void;
42
+ /**
43
+ * Submit a spot order
44
+ */
45
+ submitNewSpotOrder(params: WSAPISpotOrderPlaceReq, wsKey?: WSAPIWsKey): Promise<WSAPIResponse<WSAPISpotOrder>>;
46
+ /**
47
+ * Cancel a spot order
48
+ */
49
+ cancelSpotOrder(params: WSAPISpotOrderCancelReq, wsKey?: WSAPIWsKey): Promise<WSAPIResponse<WSAPISpotOrder>>;
50
+ /**
51
+ * Cancel all spot orders with the given id list
52
+ */
53
+ cancelSpotOrderById(params: WSAPISpotOrderCancelIdsReq[], wsKey?: WSAPIWsKey): Promise<WSAPIResponse<WSAPISpotOrderCancelIdsRespItem[]>>;
54
+ /**
55
+ * Cancel a spot order for a given symbol
56
+ */
57
+ cancelSpotOrderForSymbol(params: WSAPISpotOrderCancelCPReq, wsKey?: WSAPIWsKey): Promise<WSAPIResponse<WSAPISpotOrder[]>>;
58
+ /**
59
+ * Update a spot order
60
+ */
61
+ updateSpotOrder(params: WSAPISpotOrderAmendReq, wsKey?: WSAPIWsKey): Promise<WSAPIResponse<WSAPISpotOrder>>;
62
+ /**
63
+ * Get the status of a spot order
64
+ */
65
+ getSpotOrderStatus(params: WSAPISpotOrderStatusReq, wsKey?: WSAPIWsKey): Promise<WSAPIResponse<WSAPISpotOrder>>;
66
+ /**
67
+ * Get all spot orders
68
+ */
69
+ getSpotOrders(params: WSAPISpotOrderListReq, wsKey?: WSAPIWsKey): Promise<WSAPIResponse<WSAPISpotOrder[]>>;
70
+ /**
71
+ * Submit a futures order.
72
+ *
73
+ * Note: without a wsKey, this defaults to the perpFuturesUSDTV4 connection
74
+ */
75
+ submitNewFuturesOrder(params: WSAPIFuturesOrderPlaceReq, wsKey?: WSAPIWsKey): Promise<WSAPIResponse<WSAPIFuturesOrder>>;
76
+ /**
77
+ * Submit a batch of futures orders
78
+ *
79
+ * Note: without a wsKey, this defaults to the perpFuturesUSDTV4 connection
80
+ */
81
+ submitNewFuturesBatchOrder(params: WSAPIFuturesOrderPlaceReq[], wsKey?: WSAPIWsKey): Promise<WSAPIResponse<WSAPIFuturesOrderBatchPlaceRespItem[]>>;
82
+ /**
83
+ * Cancel a futures order
84
+ *
85
+ * Note: without a wsKey, this defaults to the perpFuturesUSDTV4 connection
86
+ */
87
+ cancelFuturesOrder(params: WSAPIFuturesOrderCancelReq, wsKey?: WSAPIWsKey): Promise<WSAPIResponse<WSAPIFuturesOrder>>;
88
+ /**
89
+ * Cancel futures orders by id list
90
+ *
91
+ * Note: without a wsKey, this defaults to the perpFuturesUSDTV4 connection
92
+ */
93
+ cancelFuturesOrderById(params: string[], wsKey?: WSAPIWsKey): Promise<WSAPIResponse<WSAPIFuturesOrderCancelIdsRespItem[]>>;
94
+ /**
95
+ * Cancel all open futures orders
96
+ *
97
+ * Note: without a wsKey, this defaults to the perpFuturesUSDTV4 connection
98
+ */
99
+ cancelFuturesAllOpenOrders(params: WSAPIFuturesOrderCancelCPReq, wsKey?: WSAPIWsKey): Promise<WSAPIResponse<WSAPIFuturesOrder[]>>;
100
+ /**
101
+ * Update a futures order
102
+ *
103
+ * Note: without a wsKey, this defaults to the perpFuturesUSDTV4 connection
104
+ */
105
+ updateFuturesOrder(params: WSAPIFuturesOrderAmendReq, wsKey?: WSAPIWsKey): Promise<WSAPIResponse<WSAPIFuturesOrder>>;
106
+ /**
107
+ * Get all futures orders
108
+ *
109
+ * Note: without a wsKey, this defaults to the perpFuturesUSDTV4 connection
110
+ */
111
+ getFuturesOrders(params: WSAPIFuturesOrderListReq, wsKey?: WSAPIWsKey): Promise<WSAPIResponse<WSAPIFuturesOrder[]>>;
112
+ /**
113
+ * Get futures order status
114
+ *
115
+ * Note: without a wsKey, this defaults to the perpFuturesUSDTV4 connection
116
+ */
117
+ getFuturesOrderStatus(params: WSAPIFuturesOrderStatusReq, wsKey?: WSAPIWsKey): Promise<WSAPIResponse<WSAPIFuturesOrder>>;
118
+ /**
119
+ *
120
+ *
121
+ *
122
+ *
123
+ *
124
+ *
125
+ *
126
+ * Private methods for handling some of the convenience/automation provided by the WS API Client
127
+ *
128
+ *
129
+ *
130
+ *
131
+ *
132
+ *
133
+ *
134
+ */
135
+ private setupDefaultEventListeners;
136
+ }
@@ -0,0 +1,193 @@
1
+ import { WS_KEY_MAP } from './lib/websocket/websocket-util.js';
2
+ import { WebsocketClient } from './WebsocketClient.js';
3
+ /**
4
+ * This is a minimal Websocket API wrapper around the WebsocketClient.
5
+ *
6
+ * Some methods support passing in a custom "wsKey". This is a reference to which WS connection should
7
+ * be used to transmit that message. This is only useful if you wish to use an alternative wss
8
+ * domain that is supported by the SDK.
9
+ *
10
+ * Note: To use testnet, don't set the wsKey - use `testnet: true` in
11
+ * the constructor instead.
12
+ *
13
+ * Note: You can also directly use the sendWSAPIRequest() method to make WS API calls, but some
14
+ * may find the below methods slightly more intuitive.
15
+ *
16
+ * Refer to the WS API promises example for a more detailed example on using sendWSAPIRequest() directly:
17
+ * https://github.com/tiagosiebler/gateio-api/blob/master/examples/ws-private-spot-wsapi.ts#L119
18
+ */
19
+ export class WebsocketAPIClient {
20
+ wsClient;
21
+ options;
22
+ constructor(options, logger) {
23
+ this.wsClient = new WebsocketClient(options, logger);
24
+ this.options = {
25
+ attachEventListeners: true,
26
+ ...options,
27
+ };
28
+ this.setupDefaultEventListeners();
29
+ }
30
+ getWSClient() {
31
+ return this.wsClient;
32
+ }
33
+ setTimeOffsetMs(newOffset) {
34
+ return this.getWSClient().setTimeOffsetMs(newOffset);
35
+ }
36
+ /*
37
+ *
38
+ * SPOT - Trading requests
39
+ *
40
+ */
41
+ /**
42
+ * Submit a spot order
43
+ */
44
+ submitNewSpotOrder(params, wsKey) {
45
+ return this.wsClient.sendWSAPIRequest(wsKey || WS_KEY_MAP.spotV4, 'spot.order_place', params);
46
+ }
47
+ /**
48
+ * Cancel a spot order
49
+ */
50
+ cancelSpotOrder(params, wsKey) {
51
+ return this.wsClient.sendWSAPIRequest(wsKey || WS_KEY_MAP.spotV4, 'spot.order_cancel', params);
52
+ }
53
+ /**
54
+ * Cancel all spot orders with the given id list
55
+ */
56
+ cancelSpotOrderById(params, wsKey) {
57
+ return this.wsClient.sendWSAPIRequest(wsKey || WS_KEY_MAP.spotV4, 'spot.order_cancel_ids', params);
58
+ }
59
+ /**
60
+ * Cancel a spot order for a given symbol
61
+ */
62
+ cancelSpotOrderForSymbol(params, wsKey) {
63
+ return this.wsClient.sendWSAPIRequest(wsKey || WS_KEY_MAP.spotV4, 'spot.order_cancel_cp', params);
64
+ }
65
+ /**
66
+ * Update a spot order
67
+ */
68
+ updateSpotOrder(params, wsKey) {
69
+ return this.wsClient.sendWSAPIRequest(wsKey || WS_KEY_MAP.spotV4, 'spot.order_amend', params);
70
+ }
71
+ /**
72
+ * Get the status of a spot order
73
+ */
74
+ getSpotOrderStatus(params, wsKey) {
75
+ return this.wsClient.sendWSAPIRequest(wsKey || WS_KEY_MAP.spotV4, 'spot.order_status', params);
76
+ }
77
+ /**
78
+ * Get all spot orders
79
+ */
80
+ getSpotOrders(params, wsKey) {
81
+ return this.wsClient.sendWSAPIRequest(wsKey || WS_KEY_MAP.spotV4, 'spot.order_list', params);
82
+ }
83
+ /*
84
+ *
85
+ * Futures - Trading requests
86
+ *
87
+ */
88
+ /**
89
+ * Submit a futures order.
90
+ *
91
+ * Note: without a wsKey, this defaults to the perpFuturesUSDTV4 connection
92
+ */
93
+ submitNewFuturesOrder(params, wsKey) {
94
+ return this.wsClient.sendWSAPIRequest(wsKey || WS_KEY_MAP.perpFuturesUSDTV4, 'futures.order_place', params);
95
+ }
96
+ /**
97
+ * Submit a batch of futures orders
98
+ *
99
+ * Note: without a wsKey, this defaults to the perpFuturesUSDTV4 connection
100
+ */
101
+ submitNewFuturesBatchOrder(params, wsKey) {
102
+ return this.wsClient.sendWSAPIRequest(wsKey || WS_KEY_MAP.perpFuturesUSDTV4, 'futures.order_batch_place', params);
103
+ }
104
+ /**
105
+ * Cancel a futures order
106
+ *
107
+ * Note: without a wsKey, this defaults to the perpFuturesUSDTV4 connection
108
+ */
109
+ cancelFuturesOrder(params, wsKey) {
110
+ return this.wsClient.sendWSAPIRequest(wsKey || WS_KEY_MAP.perpFuturesUSDTV4, 'futures.order_cancel', params);
111
+ }
112
+ /**
113
+ * Cancel futures orders by id list
114
+ *
115
+ * Note: without a wsKey, this defaults to the perpFuturesUSDTV4 connection
116
+ */
117
+ cancelFuturesOrderById(params, wsKey) {
118
+ return this.wsClient.sendWSAPIRequest(wsKey || WS_KEY_MAP.perpFuturesUSDTV4, 'futures.order_cancel_ids', params);
119
+ }
120
+ /**
121
+ * Cancel all open futures orders
122
+ *
123
+ * Note: without a wsKey, this defaults to the perpFuturesUSDTV4 connection
124
+ */
125
+ cancelFuturesAllOpenOrders(params, wsKey) {
126
+ return this.wsClient.sendWSAPIRequest(wsKey || WS_KEY_MAP.perpFuturesUSDTV4, 'futures.order_cancel_cp', params);
127
+ }
128
+ /**
129
+ * Update a futures order
130
+ *
131
+ * Note: without a wsKey, this defaults to the perpFuturesUSDTV4 connection
132
+ */
133
+ updateFuturesOrder(params, wsKey) {
134
+ return this.wsClient.sendWSAPIRequest(wsKey || WS_KEY_MAP.perpFuturesUSDTV4, 'futures.order_amend', params);
135
+ }
136
+ /**
137
+ * Get all futures orders
138
+ *
139
+ * Note: without a wsKey, this defaults to the perpFuturesUSDTV4 connection
140
+ */
141
+ getFuturesOrders(params, wsKey) {
142
+ return this.wsClient.sendWSAPIRequest(wsKey || WS_KEY_MAP.perpFuturesUSDTV4, 'futures.order_list', params);
143
+ }
144
+ /**
145
+ * Get futures order status
146
+ *
147
+ * Note: without a wsKey, this defaults to the perpFuturesUSDTV4 connection
148
+ */
149
+ getFuturesOrderStatus(params, wsKey) {
150
+ return this.wsClient.sendWSAPIRequest(wsKey || WS_KEY_MAP.perpFuturesUSDTV4, 'futures.order_status', params);
151
+ }
152
+ /**
153
+ *
154
+ *
155
+ *
156
+ *
157
+ *
158
+ *
159
+ *
160
+ * Private methods for handling some of the convenience/automation provided by the WS API Client
161
+ *
162
+ *
163
+ *
164
+ *
165
+ *
166
+ *
167
+ *
168
+ */
169
+ setupDefaultEventListeners() {
170
+ if (this.options.attachEventListeners) {
171
+ /**
172
+ * General event handlers for monitoring the WebsocketClient
173
+ */
174
+ this.wsClient
175
+ .on('open', (data) => {
176
+ console.log(new Date(), 'ws connected', data.wsKey);
177
+ })
178
+ .on('reconnect', ({ wsKey }) => {
179
+ console.log(new Date(), 'ws automatically reconnecting.... ', wsKey);
180
+ })
181
+ .on('reconnected', (data) => {
182
+ console.log(new Date(), 'ws has reconnected ', data?.wsKey);
183
+ })
184
+ .on('authenticated', (data) => {
185
+ console.info(new Date(), 'ws has authenticated ', data?.wsKey);
186
+ })
187
+ .on('exception', (data) => {
188
+ console.error(new Date(), 'ws exception: ', JSON.stringify(data));
189
+ });
190
+ }
191
+ }
192
+ }
193
+ //# sourceMappingURL=WebsocketAPIClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebsocketAPIClient.js","sourceRoot":"","sources":["../../src/WebsocketAPIClient.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,14 @@ import { MessageEventLike } from './lib/requestUtils.js';
3
3
  import { WsKey, WsMarket, WsTopicRequest } from './lib/websocket/websocket-util.js';
4
4
  import { WSConnectedResult } from './lib/websocket/WsStore.types.js';
5
5
  import { WsOperation } from './types/websockets/requests.js';
6
- import { WsAPITopicRequestParamMap, WsAPITopicResponseMap, WsAPIWsKeyTopicMap } from './types/websockets/wsAPI.js';
6
+ import { WsAPITopicRequestParamMap, WsAPITopicResponseMap, WSAPIWsKey, WsAPIWsKeyTopicMap } from './types/websockets/wsAPI.js';
7
7
  export declare const WS_LOGGER_CATEGORY: {
8
8
  category: string;
9
9
  };
10
+ export interface WSAPIRequestFlags {
11
+ /** If true, will skip auth requirement for WS API connection */
12
+ authIsOptional?: boolean | undefined;
13
+ }
10
14
  /**
11
15
  * WS topics are always a string for gate. Some exchanges use complex objects
12
16
  */
@@ -18,6 +22,13 @@ export declare class WebsocketClient extends BaseWebsocketClient<WsKey> {
18
22
  * Returns array of promises that individually resolve when each connection is successfully opened.
19
23
  */
20
24
  connectAll(): Promise<WSConnectedResult | undefined>[];
25
+ /**
26
+ * Ensures the WS API connection is active and ready.
27
+ *
28
+ * You do not need to call this, but if you call this before making any WS API requests,
29
+ * it can accelerate the first request (by preparing the connection in advance).
30
+ */
31
+ connectWSAPI(wsKey: WSAPIWsKey, skipAuth?: boolean): Promise<unknown>;
21
32
  /**
22
33
  * Request subscription to one or more topics. Pass topics as either an array of strings, or array of objects (if the topic has parameters).
23
34
  * Objects should be formatted as {topic: string, params: object}.
@@ -59,7 +70,7 @@ export declare class WebsocketClient extends BaseWebsocketClient<WsKey> {
59
70
  * @param params - Any request parameters for the payload (contents of req_param in the docs). Signature generation is automatic, only send parameters such as order ID as per the docs.
60
71
  * @returns Promise - tries to resolve with async WS API response. Rejects if disconnected or exception is seen in async WS API response
61
72
  */
62
- 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>;
73
+ 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 void | never ? undefined : TWSParams, requestFlags?: WSAPIRequestFlags): Promise<TWSAPIResponse>;
63
74
  /**
64
75
  *
65
76
  * Internal methods - not intended for public use
@@ -86,6 +97,7 @@ export declare class WebsocketClient extends BaseWebsocketClient<WsKey> {
86
97
  * Not in use for gate.io
87
98
  */
88
99
  protected getPrivateWSKeys(): WsKey[];
100
+ protected isAuthOnConnectWsKey(wsKey: WsKey): boolean;
89
101
  /** Force subscription requests to be sent in smaller batches, if a number is returned */
90
102
  protected getMaxTopicsPerSubscribeEvent(_wsKey: WsKey): number | null;
91
103
  /**
@@ -19,6 +19,19 @@ export class WebsocketClient extends BaseWebsocketClient {
19
19
  this.connect(WS_KEY_MAP.announcementsV4),
20
20
  ];
21
21
  }
22
+ /**
23
+ * Ensures the WS API connection is active and ready.
24
+ *
25
+ * You do not need to call this, but if you call this before making any WS API requests,
26
+ * it can accelerate the first request (by preparing the connection in advance).
27
+ */
28
+ connectWSAPI(wsKey, skipAuth) {
29
+ if (skipAuth) {
30
+ return this.assertIsConnected(wsKey);
31
+ }
32
+ /** This call automatically ensures the connection is active AND authenticated before resolving */
33
+ return this.assertIsAuthenticated(wsKey);
34
+ }
22
35
  /**
23
36
  * Request subscription to one or more topics. Pass topics as either an array of strings, or array of objects (if the topic has parameters).
24
37
  * Objects should be formatted as {topic: string, params: object}.
@@ -53,9 +66,16 @@ export class WebsocketClient extends BaseWebsocketClient {
53
66
  this.unsubscribeTopicsForWsKey(requests, wsKey);
54
67
  }
55
68
  }
56
- async sendWSAPIRequest(wsKey, channel, params) {
69
+ async sendWSAPIRequest(wsKey, channel, params, requestFlags) {
57
70
  this.logger.trace(`sendWSAPIRequest(): assert "${wsKey}" is connected`);
58
71
  await this.assertIsConnected(wsKey);
72
+ // Some commands don't require authentication.
73
+ if (requestFlags?.authIsOptional !== true) {
74
+ // this.logger.trace('sendWSAPIRequest(): assertIsAuthenticated(${wsKey})...');
75
+ await this.assertIsAuthenticated(wsKey);
76
+ // this.logger.trace('sendWSAPIRequest(): assertIsAuthenticated(${wsKey}) ok');
77
+ }
78
+ const timestampBeforeAuth = Date.now();
59
79
  const signTimestamp = Date.now() + this.options.recvWindow;
60
80
  const timeInSeconds = +(signTimestamp / 1000).toFixed(0);
61
81
  const requestEvent = {
@@ -73,14 +93,54 @@ export class WebsocketClient extends BaseWebsocketClient {
73
93
  timestamp: `${timeInSeconds}`,
74
94
  },
75
95
  };
96
+ const timestampAfterAuth = Date.now();
97
+ /**
98
+ * Some WS API requests require a timestamp to be included. assertIsConnected and assertIsAuthenticated
99
+ * can introduce a small delay before the actual request is sent, if not connected before that request is
100
+ * made. This can lead to a curious race condition, where the request timestamp is before
101
+ * the "authorizedSince" timestamp - as such, binance does not recognise the session as already authenticated.
102
+ *
103
+ * The below mechanism measures any delay introduced from the assert calls, and if the request includes a timestamp,
104
+ * it offsets that timestamp by the delay.
105
+ */
106
+ const delayFromAuthAssert = timestampAfterAuth - timestampBeforeAuth;
107
+ if (delayFromAuthAssert && requestEvent.payload?.timestamp) {
108
+ requestEvent.payload.timestamp += delayFromAuthAssert;
109
+ this.logger.trace(`sendWSAPIRequest(): adjust timestamp - delay seen by connect/auth assert and delayed request includes timestamp, adjusting timestamp by ${delayFromAuthAssert}ms`);
110
+ }
76
111
  // Sign request
77
112
  const signedEvent = await this.signWSAPIRequest(requestEvent);
78
113
  // Store deferred promise
79
114
  const promiseRef = getPromiseRefForWSAPIRequest(requestEvent);
80
115
  const deferredPromise = this.getWsStore().createDeferredPromise(wsKey, promiseRef, false);
116
+ // Enrich returned promise with request context for easier debugging
117
+ deferredPromise.promise
118
+ ?.then((res) => {
119
+ if (!Array.isArray(res)) {
120
+ res.request = {
121
+ wsKey: wsKey,
122
+ ...signedEvent,
123
+ };
124
+ }
125
+ return res;
126
+ })
127
+ .catch((e) => {
128
+ if (typeof e === 'string') {
129
+ this.logger.error('unexpcted string', { e });
130
+ return e;
131
+ }
132
+ e.request = {
133
+ wsKey: wsKey,
134
+ channel,
135
+ payload: signedEvent.payload,
136
+ };
137
+ // throw e;
138
+ return e;
139
+ });
81
140
  // Send event
82
- this.tryWsSend(wsKey, JSON.stringify(signedEvent));
83
- this.logger.trace(`sendWSAPIRequest(): sent ${channel} event`);
141
+ const throwExceptions = true;
142
+ this.tryWsSend(wsKey, JSON.stringify(signedEvent), throwExceptions);
143
+ this.logger.trace(`sendWSAPIRequest(): sent "${channel}" event with promiseRef(${promiseRef})`);
84
144
  // Return deferred promise, so caller can await this call
85
145
  return deferredPromise.promise;
86
146
  }
@@ -332,6 +392,9 @@ export class WebsocketClient extends BaseWebsocketClient {
332
392
  getPrivateWSKeys() {
333
393
  return [];
334
394
  }
395
+ isAuthOnConnectWsKey(wsKey) {
396
+ return this.getPrivateWSKeys().includes(wsKey);
397
+ }
335
398
  /** Force subscription requests to be sent in smaller batches, if a number is returned */
336
399
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
337
400
  getMaxTopicsPerSubscribeEvent(_wsKey) {
@@ -447,30 +510,49 @@ export class WebsocketClient extends BaseWebsocketClient {
447
510
  return await signMessage(paramsStr, secret, method, algorithm);
448
511
  }
449
512
  async getWsAuthRequestEvent(wsKey) {
450
- const market = this.getWsMarketForWsKey(wsKey);
451
513
  if (!this.options.apiKey || !this.options.apiSecret) {
452
514
  throw new Error(`Cannot auth - missing api key, secret or memo in config`);
453
515
  }
454
- const signTimestamp = Date.now() + this.options.recvWindow;
455
- const signMessageInput = `|${signTimestamp}`;
456
- const signature = await this.signMessage(signMessageInput, this.options.apiSecret, 'hex', 'SHA-512');
457
- switch (market) {
458
- case 'all': {
459
- const wsRequestEvent = {
460
- id: 'auth' + signTimestamp,
461
- event: 'auth',
462
- params: {
463
- apikey: this.options.apiKey,
464
- sign: signature,
465
- timestamp: signTimestamp,
466
- },
467
- };
468
- return wsRequestEvent;
516
+ let channel;
517
+ switch (wsKey) {
518
+ case 'spotV4': {
519
+ channel = 'spot.login';
520
+ break;
521
+ }
522
+ case 'perpFuturesBTCV4':
523
+ case 'perpFuturesUSDTV4': {
524
+ channel = 'futures.login';
525
+ break;
526
+ }
527
+ case 'announcementsV4':
528
+ case 'deliveryFuturesBTCV4':
529
+ case 'deliveryFuturesUSDTV4':
530
+ case 'optionsV4': {
531
+ return {};
469
532
  }
470
533
  default: {
471
- throw neverGuard(market, `Unhandled market "${market}"`);
534
+ throw neverGuard(wsKey, `Unhandled wsKey "${wsKey}"`);
472
535
  }
473
536
  }
537
+ const signTimestamp = Date.now() + this.options.recvWindow;
538
+ const timeInSeconds = +(signTimestamp / 1000).toFixed(0);
539
+ const requestEvent = {
540
+ time: timeInSeconds,
541
+ // id: timeInSeconds,
542
+ channel,
543
+ event: 'api',
544
+ payload: {
545
+ req_id: this.getNewRequestId(),
546
+ req_header: {
547
+ 'X-Gate-Channel-Id': CHANNEL_ID,
548
+ },
549
+ api_key: this.options.apiKey,
550
+ req_param: '',
551
+ timestamp: `${timeInSeconds}`,
552
+ },
553
+ };
554
+ const signedEvent = await this.signWSAPIRequest(requestEvent);
555
+ return signedEvent;
474
556
  }
475
557
  /**
476
558
  *
@@ -1 +1 @@
1
- {"version":3,"file":"WebsocketClient.js","sourceRoot":"","sources":["../../src/WebsocketClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebsocketClient.js","sourceRoot":"","sources":["../../src/WebsocketClient.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export * from './lib/logger.js';
2
2
  export * from './lib/websocket/websocket-util.js';
3
3
  export * from './RestClient.js';
4
+ export * from './WebsocketAPIClient.js';
4
5
  export * from './WebsocketClient.js';
5
6
  export * from './types/request/account.js';
6
7
  export * from './types/request/collateralLoan.js';
package/dist/mjs/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './lib/logger.js';
2
2
  export * from './lib/websocket/websocket-util.js';
3
3
  export * from './RestClient.js';
4
+ export * from './WebsocketAPIClient.js';
4
5
  export * from './WebsocketClient.js';
5
6
  // Request Types
6
7
  export * from './types/request/account.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mCAAmC,CAAC;AAClD,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AAErC,gBAAgB;AAChB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAE9C,iBAAiB;AACjB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAE3C,mBAAmB;AACnB,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAE5C,eAAe;AACf,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mCAAmC,CAAC;AAClD,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AAErC,gBAAgB;AAChB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAE9C,iBAAiB;AACjB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAE3C,mBAAmB;AACnB,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAE5C,eAAe;AACf,cAAc,mBAAmB,CAAC"}