binance 2.15.14 → 3.0.0-beta.1
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.
- package/README.md +5 -2
- package/lib/coinm-client.js.map +1 -1
- package/lib/index.d.ts +10 -4
- package/lib/index.js +10 -4
- package/lib/index.js.map +1 -1
- package/lib/main-client.d.ts +13 -2
- package/lib/main-client.js +15 -1
- package/lib/main-client.js.map +1 -1
- package/lib/portfolio-client.js.map +1 -1
- package/lib/types/futures.d.ts +1 -0
- package/lib/types/futures.js +3 -3
- package/lib/types/futures.js.map +1 -1
- package/lib/types/spot.js +4 -4
- package/lib/types/spot.js.map +1 -1
- package/lib/types/websockets/ws-api-requests.d.ts +7 -0
- package/lib/types/websockets/ws-api-requests.js +3 -0
- package/lib/types/websockets/ws-api-requests.js.map +1 -0
- package/lib/types/websockets/ws-api-responses.d.ts +8 -0
- package/lib/types/websockets/ws-api-responses.js +3 -0
- package/lib/types/websockets/ws-api-responses.js.map +1 -0
- package/lib/types/websockets/ws-api.d.ts +201 -0
- package/lib/types/websockets/ws-api.js +29 -0
- package/lib/types/websockets/ws-api.js.map +1 -0
- package/lib/types/{websockets.d.ts → websockets/ws-events-formatted.d.ts} +4 -410
- package/lib/types/websockets/ws-events-formatted.js +3 -0
- package/lib/types/websockets/ws-events-formatted.js.map +1 -0
- package/lib/types/websockets/ws-events-raw.d.ts +401 -0
- package/lib/types/{websockets.js → websockets/ws-events-raw.js} +1 -1
- package/lib/types/websockets/ws-events-raw.js.map +1 -0
- package/lib/types/websockets/ws-general.d.ts +98 -0
- package/lib/types/websockets/ws-general.js +11 -0
- package/lib/types/websockets/ws-general.js.map +1 -0
- package/lib/usdm-client.js.map +1 -1
- package/lib/util/BaseRestClient.d.ts +1 -1
- package/lib/util/BaseRestClient.js +1 -1
- package/lib/util/BaseRestClient.js.map +1 -1
- package/lib/util/BaseWSClient.d.ts +225 -0
- package/lib/util/BaseWSClient.js +729 -0
- package/lib/util/BaseWSClient.js.map +1 -0
- package/lib/util/beautifier-maps.d.ts +151 -0
- package/lib/util/beautifier-maps.js +198 -37
- package/lib/util/beautifier-maps.js.map +1 -1
- package/lib/util/beautifier.d.ts +7 -3
- package/lib/util/beautifier.js +40 -11
- package/lib/util/beautifier.js.map +1 -1
- package/lib/util/browser-support.d.ts +2 -1
- package/lib/util/browser-support.js +46 -28
- package/lib/util/browser-support.js.map +1 -1
- package/lib/util/logger.d.ts +8 -0
- package/lib/util/logger.js +17 -0
- package/lib/util/logger.js.map +1 -0
- package/lib/util/node-support.d.ts +2 -1
- package/lib/util/node-support.js +35 -15
- package/lib/util/node-support.js.map +1 -1
- package/lib/util/requestUtils.d.ts +19 -19
- package/lib/util/requestUtils.js +119 -38
- package/lib/util/requestUtils.js.map +1 -1
- package/lib/util/typeGuards.d.ts +9 -1
- package/lib/util/typeGuards.js +59 -34
- package/lib/util/typeGuards.js.map +1 -1
- package/lib/util/usdm/exchangeInfo.js +2 -3
- package/lib/util/usdm/exchangeInfo.js.map +1 -1
- package/lib/util/webCryptoAPI.d.ts +14 -0
- package/lib/util/webCryptoAPI.js +120 -0
- package/lib/util/webCryptoAPI.js.map +1 -0
- package/lib/util/websockets/WsStore.d.ts +74 -0
- package/lib/util/websockets/WsStore.js +279 -0
- package/lib/util/websockets/WsStore.js.map +1 -0
- package/lib/util/websockets/WsStore.types.d.ts +53 -0
- package/lib/util/websockets/WsStore.types.js +14 -0
- package/lib/util/websockets/WsStore.types.js.map +1 -0
- package/lib/util/websockets/listen-key-state-cache.d.ts +21 -0
- package/lib/util/websockets/listen-key-state-cache.js +80 -0
- package/lib/util/websockets/listen-key-state-cache.js.map +1 -0
- package/lib/util/websockets/rest-client-cache.d.ts +13 -0
- package/lib/util/websockets/rest-client-cache.js +56 -0
- package/lib/util/websockets/rest-client-cache.js.map +1 -0
- package/lib/util/websockets/user-data-stream-manager.d.ts +54 -0
- package/lib/util/websockets/user-data-stream-manager.js +256 -0
- package/lib/util/websockets/user-data-stream-manager.js.map +1 -0
- package/lib/util/websockets/websocket-util.d.ts +124 -0
- package/lib/util/websockets/websocket-util.js +481 -0
- package/lib/util/websockets/websocket-util.js.map +1 -0
- package/lib/websocket-client-legacy.d.ts +288 -0
- package/lib/websocket-client-legacy.js +1113 -0
- package/lib/websocket-client-legacy.js.map +1 -0
- package/lib/websocket-client.d.ts +228 -168
- package/lib/websocket-client.js +927 -834
- package/lib/websocket-client.js.map +1 -1
- package/package.json +5 -5
- package/lib/logger.d.ts +0 -9
- package/lib/logger.js +0 -23
- package/lib/logger.js.map +0 -1
- package/lib/types/websockets.js.map +0 -1
- package/lib/util/WsStore.d.ts +0 -57
- package/lib/util/WsStore.js +0 -101
- package/lib/util/WsStore.js.map +0 -1
- package/lib/util/ws-utils.d.ts +0 -7
- package/lib/util/ws-utils.js +0 -16
- package/lib/util/ws-utils.js.map +0 -1
package/lib/util/requestUtils.js
CHANGED
|
@@ -9,9 +9,23 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.getOrderIdPrefix = getOrderIdPrefix;
|
|
13
|
+
exports.generateNewOrderId = generateNewOrderId;
|
|
14
|
+
exports.requiresWSAPINewClientOID = requiresWSAPINewClientOID;
|
|
15
|
+
exports.getBaseURLKeyForWsKey = getBaseURLKeyForWsKey;
|
|
16
|
+
exports.validateWSAPINewClientOID = validateWSAPINewClientOID;
|
|
17
|
+
exports.serialiseParams = serialiseParams;
|
|
18
|
+
exports.getRequestSignature = getRequestSignature;
|
|
19
|
+
exports.getServerTimeEndpoint = getServerTimeEndpoint;
|
|
20
|
+
exports.getRestBaseUrl = getRestBaseUrl;
|
|
21
|
+
exports.isPublicEndpoint = isPublicEndpoint;
|
|
22
|
+
exports.isWsPong = isWsPong;
|
|
23
|
+
exports.logInvalidOrderId = logInvalidOrderId;
|
|
24
|
+
exports.appendEventIfMissing = appendEventIfMissing;
|
|
25
|
+
exports.asArray = asArray;
|
|
13
26
|
const nanoid_1 = require("nanoid");
|
|
14
27
|
const node_support_1 = require("./node-support");
|
|
28
|
+
const websocket_util_1 = require("./websockets/websocket-util");
|
|
15
29
|
// function throwUnhandledSwitch(x: never, msg: string): never {
|
|
16
30
|
// throw new Error(msg);
|
|
17
31
|
// }
|
|
@@ -37,13 +51,89 @@ function getOrderIdPrefix(network) {
|
|
|
37
51
|
return 'U5D79M5B';
|
|
38
52
|
}
|
|
39
53
|
}
|
|
40
|
-
exports.getOrderIdPrefix = getOrderIdPrefix;
|
|
41
54
|
function generateNewOrderId(network) {
|
|
42
|
-
const id = (0, nanoid_1.nanoid)(22);
|
|
55
|
+
const id = (0, nanoid_1.nanoid)(22); // must pass ^[\.A-Z\:/a-z0-9_-]{1,32}$ with prefix
|
|
43
56
|
const prefixedId = 'x-' + getOrderIdPrefix(network) + id;
|
|
44
57
|
return prefixedId;
|
|
45
58
|
}
|
|
46
|
-
|
|
59
|
+
function requiresWSAPINewClientOID(request, wsKey) {
|
|
60
|
+
switch (wsKey) {
|
|
61
|
+
case websocket_util_1.WS_KEY_MAP.mainWSAPI:
|
|
62
|
+
case websocket_util_1.WS_KEY_MAP.mainWSAPI2:
|
|
63
|
+
case websocket_util_1.WS_KEY_MAP.mainWSAPITestnet:
|
|
64
|
+
case websocket_util_1.WS_KEY_MAP.usdmWSAPI:
|
|
65
|
+
case websocket_util_1.WS_KEY_MAP.usdmWSAPITestnet: {
|
|
66
|
+
switch (request.method) {
|
|
67
|
+
case 'order.place': {
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
default: {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
default: {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function getBaseURLKeyForWsKey(wsKey) {
|
|
81
|
+
switch (wsKey) {
|
|
82
|
+
case websocket_util_1.WS_KEY_MAP.mainWSAPI:
|
|
83
|
+
case websocket_util_1.WS_KEY_MAP.mainWSAPI2:
|
|
84
|
+
case websocket_util_1.WS_KEY_MAP.mainWSAPITestnet: {
|
|
85
|
+
return 'spot';
|
|
86
|
+
}
|
|
87
|
+
case websocket_util_1.WS_KEY_MAP.usdmWSAPI:
|
|
88
|
+
case websocket_util_1.WS_KEY_MAP.usdmWSAPITestnet: {
|
|
89
|
+
return 'usdm';
|
|
90
|
+
}
|
|
91
|
+
default: {
|
|
92
|
+
return 'spot';
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
function getWSAPINewOrderIdProperties(operation, wsKey) {
|
|
97
|
+
//
|
|
98
|
+
switch (wsKey) {
|
|
99
|
+
case websocket_util_1.WS_KEY_MAP.mainWSAPI:
|
|
100
|
+
case websocket_util_1.WS_KEY_MAP.mainWSAPI2:
|
|
101
|
+
case websocket_util_1.WS_KEY_MAP.mainWSAPITestnet:
|
|
102
|
+
case websocket_util_1.WS_KEY_MAP.usdmWSAPI:
|
|
103
|
+
case websocket_util_1.WS_KEY_MAP.usdmWSAPITestnet: {
|
|
104
|
+
if (operation === 'order.place' || operation === 'sor.order.place') {
|
|
105
|
+
return ['newClientOrderId'];
|
|
106
|
+
}
|
|
107
|
+
if (operation === 'orderList.place') {
|
|
108
|
+
return ['listClientOrderId', 'limitClientOrderId', 'stopClientOrderId'];
|
|
109
|
+
}
|
|
110
|
+
return [];
|
|
111
|
+
}
|
|
112
|
+
default: {
|
|
113
|
+
return [];
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
function validateWSAPINewClientOID(request, wsKey) {
|
|
118
|
+
if (!requiresWSAPINewClientOID(request, wsKey) || !request.params) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const newClientOIDProperties = getWSAPINewOrderIdProperties(request.method, wsKey);
|
|
122
|
+
if (!newClientOIDProperties.length) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const baseUrlKey = getBaseURLKeyForWsKey(wsKey);
|
|
126
|
+
for (const orderIdProperty of newClientOIDProperties) {
|
|
127
|
+
if (!request.params[orderIdProperty]) {
|
|
128
|
+
request.params[orderIdProperty] = generateNewOrderId(baseUrlKey);
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
const expectedOrderIdPrefix = `x-${getOrderIdPrefix(baseUrlKey)}`;
|
|
132
|
+
if (!request.params[orderIdProperty].startsWith(expectedOrderIdPrefix)) {
|
|
133
|
+
logInvalidOrderId(orderIdProperty, expectedOrderIdPrefix, request.params);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
47
137
|
function serialiseParams(params = {}, strict_validation = false, encodeValues = false, filterUndefinedParams = false) {
|
|
48
138
|
const paramKeys = !filterUndefinedParams
|
|
49
139
|
? Object.keys(params)
|
|
@@ -59,16 +149,16 @@ function serialiseParams(params = {}, strict_validation = false, encodeValues =
|
|
|
59
149
|
})
|
|
60
150
|
.join('&');
|
|
61
151
|
}
|
|
62
|
-
exports.serialiseParams = serialiseParams;
|
|
63
152
|
function getRequestSignature(data, key, secret, recvWindow, timestamp, strictParamValidation, filterUndefinedParams) {
|
|
64
|
-
var _a, _b;
|
|
65
153
|
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
+
var _a, _b;
|
|
66
155
|
// Optional, set to 5000 by default. Increase if timestamp/recvWindow errors are seen.
|
|
67
156
|
const requestRecvWindow = (_b = (_a = data === null || data === void 0 ? void 0 : data.recvWindow) !== null && _a !== void 0 ? _a : recvWindow) !== null && _b !== void 0 ? _b : 5000;
|
|
68
157
|
if (key && secret) {
|
|
69
158
|
const requestParams = Object.assign(Object.assign({}, data), { timestamp, recvWindow: requestRecvWindow });
|
|
70
159
|
const serialisedParams = serialiseParams(requestParams, strictParamValidation, true, filterUndefinedParams);
|
|
71
|
-
|
|
160
|
+
// TODO:
|
|
161
|
+
const signature = yield (0, node_support_1.signMessage)(serialisedParams, secret, 'hex', 'SHA-256');
|
|
72
162
|
requestParams.signature = signature;
|
|
73
163
|
return {
|
|
74
164
|
requestBody: Object.assign({}, data),
|
|
@@ -81,7 +171,6 @@ function getRequestSignature(data, key, secret, recvWindow, timestamp, strictPar
|
|
|
81
171
|
return { requestBody: data, serialisedParams: undefined };
|
|
82
172
|
});
|
|
83
173
|
}
|
|
84
|
-
exports.getRequestSignature = getRequestSignature;
|
|
85
174
|
const BINANCE_BASE_URLS = {
|
|
86
175
|
// spot/margin/savings/mining
|
|
87
176
|
spot: 'https://api.binance.com',
|
|
@@ -121,7 +210,6 @@ function getServerTimeEndpoint(urlKey) {
|
|
|
121
210
|
return 'vapi/v1/time';
|
|
122
211
|
}
|
|
123
212
|
}
|
|
124
|
-
exports.getServerTimeEndpoint = getServerTimeEndpoint;
|
|
125
213
|
function getRestBaseUrl(clientType, restClientOptions) {
|
|
126
214
|
if (restClientOptions.baseUrl) {
|
|
127
215
|
return restClientOptions.baseUrl;
|
|
@@ -131,7 +219,6 @@ function getRestBaseUrl(clientType, restClientOptions) {
|
|
|
131
219
|
}
|
|
132
220
|
return BINANCE_BASE_URLS[clientType];
|
|
133
221
|
}
|
|
134
|
-
exports.getRestBaseUrl = getRestBaseUrl;
|
|
135
222
|
function isPublicEndpoint(endpoint) {
|
|
136
223
|
if (endpoint.startsWith('v2/public')) {
|
|
137
224
|
return true;
|
|
@@ -141,22 +228,41 @@ function isPublicEndpoint(endpoint) {
|
|
|
141
228
|
}
|
|
142
229
|
return false;
|
|
143
230
|
}
|
|
144
|
-
exports.isPublicEndpoint = isPublicEndpoint;
|
|
145
231
|
function isWsPong(response) {
|
|
146
232
|
return (response.request &&
|
|
147
233
|
response.request.op === 'ping' &&
|
|
148
234
|
response.ret_msg === 'pong' &&
|
|
149
235
|
response.success === true);
|
|
150
236
|
}
|
|
151
|
-
exports.isWsPong = isWsPong;
|
|
152
237
|
function logInvalidOrderId(orderIdProperty, expectedOrderIdPrefix, params) {
|
|
153
238
|
console.warn(`WARNING: '${orderIdProperty}' invalid - it should be prefixed with ${expectedOrderIdPrefix}. Use the 'client.generateNewOrderId()' REST client utility method to generate a fresh order ID on demand. Original request: ${JSON.stringify(params)}`);
|
|
154
239
|
}
|
|
155
|
-
|
|
240
|
+
/**
|
|
241
|
+
* For some topics, the received event does not include any information on the topic the event is for (e.g. book tickers).
|
|
242
|
+
*
|
|
243
|
+
* This method extracts this using available context, to add an "eventType" property if missing.
|
|
244
|
+
*
|
|
245
|
+
* - For the old WebsocketClient, this is extracted using the WsKey.
|
|
246
|
+
* - For the new multiplex Websocketclient, this is extracted using the "stream" parameter.
|
|
247
|
+
*/
|
|
156
248
|
function appendEventIfMissing(wsMsg, wsKey) {
|
|
157
249
|
if (wsMsg.e) {
|
|
158
250
|
return;
|
|
159
251
|
}
|
|
252
|
+
// Multiplex websockets include the eventType as the stream name
|
|
253
|
+
if (wsMsg.stream && wsMsg.data) {
|
|
254
|
+
const eventType = (0, websocket_util_1.parseEventTypeFromMessage)(wsKey, wsMsg);
|
|
255
|
+
if (eventType) {
|
|
256
|
+
if (Array.isArray(wsMsg.data)) {
|
|
257
|
+
for (const key in wsMsg.data) {
|
|
258
|
+
wsMsg.data[key].streamName = wsMsg.stream;
|
|
259
|
+
wsMsg.data[key].e = eventType;
|
|
260
|
+
}
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
wsMsg.data = Object.assign({ streamName: wsMsg.stream, e: eventType }, wsMsg.data);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
160
266
|
if (wsKey.indexOf('bookTicker') !== -1) {
|
|
161
267
|
wsMsg.e = 'bookTicker';
|
|
162
268
|
return;
|
|
@@ -172,32 +278,7 @@ function appendEventIfMissing(wsMsg, wsKey) {
|
|
|
172
278
|
}
|
|
173
279
|
// console.warn('couldnt derive event type: ', wsKey);
|
|
174
280
|
}
|
|
175
|
-
exports.appendEventIfMissing = appendEventIfMissing;
|
|
176
|
-
function getContextFromWsKey(wsKey) {
|
|
177
|
-
const [market, streamName, symbol, listenKey, ...otherParams] = wsKey.split('_');
|
|
178
|
-
return {
|
|
179
|
-
symbol: symbol === 'undefined' ? undefined : symbol,
|
|
180
|
-
market: market,
|
|
181
|
-
isTestnet: market.includes('estnet'),
|
|
182
|
-
isUserData: wsKey.includes('userData'),
|
|
183
|
-
streamName,
|
|
184
|
-
listenKey: listenKey === 'undefined' ? undefined : listenKey,
|
|
185
|
-
otherParams,
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
|
-
exports.getContextFromWsKey = getContextFromWsKey;
|
|
189
|
-
function getWsKeyWithContext(market, streamName, symbol = undefined, listenKey = undefined, ...otherParams) {
|
|
190
|
-
return [market, streamName, symbol, listenKey, ...otherParams].join('_');
|
|
191
|
-
}
|
|
192
|
-
exports.getWsKeyWithContext = getWsKeyWithContext;
|
|
193
|
-
function appendEventMarket(wsMsg, wsKey) {
|
|
194
|
-
const { market } = getContextFromWsKey(wsKey);
|
|
195
|
-
wsMsg.wsMarket = market;
|
|
196
|
-
wsMsg.wsKey = wsKey;
|
|
197
|
-
}
|
|
198
|
-
exports.appendEventMarket = appendEventMarket;
|
|
199
281
|
function asArray(el) {
|
|
200
282
|
return Array.isArray(el) ? el : [el];
|
|
201
283
|
}
|
|
202
|
-
exports.asArray = asArray;
|
|
203
284
|
//# sourceMappingURL=requestUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../src/util/requestUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../src/util/requestUtils.ts"],"names":[],"mappings":";;;;;;;;;;;AAmEA,4CAwBC;AAED,gDAKC;AAED,8DAwBC;AAED,sDAgBC;AA2BD,8DA6BC;AAED,0CAsBC;AAYD,kDA4CC;AA0BD,sDAsBC;AAED,wCAaC;AAED,4CAQC;AAED,4BAOC;AAED,8CAUC;AAUD,oDA4CC;AAED,0BAEC;AA9aD,mCAAgC;AAYhC,iDAA6C;AAC7C,gEAIqC;AA8CrC,gEAAgE;AAChE,0BAA0B;AAC1B,IAAI;AAEJ,SAAgB,gBAAgB,CAAC,OAA0B;IACzD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACV,OAAO,UAAU,CAAC;QAEpB,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,WAAW,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,UAAU,CAAC;QAEpB,KAAK,UAAU,CAAC;QAChB,KAAK,cAAc;YACjB,OAAO,EAAE,CAAC;QAEZ;YACE,2DAA2D;YAC3D,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAA0B;IAC3D,MAAM,EAAE,GAAG,IAAA,eAAM,EAAC,EAAE,CAAC,CAAC,CAAC,mDAAmD;IAC1E,MAAM,UAAU,GAAG,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAEzD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAgB,yBAAyB,CACvC,OAA0C,EAC1C,KAAY;IAEZ,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,2BAAU,CAAC,SAAS,CAAC;QAC1B,KAAK,2BAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,2BAAU,CAAC,gBAAgB,CAAC;QACjC,KAAK,2BAAU,CAAC,SAAS,CAAC;QAC1B,KAAK,2BAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACjC,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,aAAa,CAAC,CAAC,CAAC;oBACnB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,qBAAqB,CAAC,KAAY;IAChD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,2BAAU,CAAC,SAAS,CAAC;QAC1B,KAAK,2BAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,2BAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACjC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,2BAAU,CAAC,SAAS,CAAC;QAC1B,KAAK,2BAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACjC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CACnC,SAAsD,EACtD,KAAY;IAEZ,EAAE;IACF,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,2BAAU,CAAC,SAAS,CAAC;QAC1B,KAAK,2BAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,2BAAU,CAAC,gBAAgB,CAAC;QACjC,KAAK,2BAAU,CAAC,SAAS,CAAC;QAC1B,KAAK,2BAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACjC,IAAI,SAAS,KAAK,aAAa,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;gBACnE,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;gBACpC,OAAO,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,yBAAyB,CACvC,OAA0C,EAC1C,KAAY;IAEZ,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAClE,OAAO;IACT,CAAC;IAED,MAAM,sBAAsB,GAAG,4BAA4B,CACzD,OAAO,CAAC,MAAM,EACd,KAAK,CACN,CAAC;IAEF,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAChD,KAAK,MAAM,eAAe,IAAI,sBAAsB,EAAE,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACjE,SAAS;QACX,CAAC;QAED,MAAM,qBAAqB,GAAG,KAAK,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACvE,iBAAiB,CAAC,eAAe,EAAE,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,eAAe,CAC7B,SAAiB,EAAE,EACnB,iBAAiB,GAAG,KAAK,EACzB,eAAwB,KAAK,EAC7B,wBAAiC,KAAK;IAEtC,MAAM,SAAS,GAAG,CAAC,qBAAqB;QACtC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC;IAE5E,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,iBAAiB,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CACb,uDAAuD,CACxD,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACtE,OAAO,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;IAClC,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAYD,SAAsB,mBAAmB,CACvC,IAA0D,EAC1D,GAAY,EACZ,MAAe,EACf,UAAmB,EACnB,SAAkB,EAClB,qBAA+B,EAC/B,qBAA+B;;;QAE/B,sFAAsF;QACtF,MAAM,iBAAiB,GAAG,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,mCAAI,UAAU,mCAAI,IAAI,CAAC;QAEjE,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;YAClB,MAAM,aAAa,mCACd,IAAI,KACP,SAAS,EACT,UAAU,EAAE,iBAAiB,GAC9B,CAAC;YACF,MAAM,gBAAgB,GAAG,eAAe,CACtC,aAAa,EACb,qBAAqB,EACrB,IAAI,EACJ,qBAAqB,CACtB,CAAC;YAEF,QAAQ;YACR,MAAM,SAAS,GAAG,MAAM,IAAA,0BAAW,EACjC,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,SAAS,CACV,CAAC;YACF,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;YAEpC,OAAO;gBACL,WAAW,oBAAO,IAAI,CAAE;gBACxB,gBAAgB;gBAChB,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,SAAS;gBACpB,UAAU,EAAE,iBAAiB;aAC9B,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC5D,CAAC;CAAA;AAED,MAAM,iBAAiB,GAAsC;IAC3D,6BAA6B;IAC7B,IAAI,EAAE,yBAAyB;IAC/B,KAAK,EAAE,yBAAyB;IAChC,KAAK,EAAE,0BAA0B;IACjC,KAAK,EAAE,0BAA0B;IACjC,KAAK,EAAE,0BAA0B;IAEjC,eAAe;IACf,IAAI,EAAE,0BAA0B;IAChC,QAAQ,EAAE,mCAAmC;IAE7C,gBAAgB;IAChB,KAAK,EAAE,0BAA0B;IACjC,SAAS,EAAE,mCAAmC;IAE9C,kBAAkB;IAClB,QAAQ,EAAE,0BAA0B;IACpC,YAAY,EAAE,gCAAgC;IAE9C,mBAAmB;IACnB,IAAI,EAAE,0BAA0B;CACjC,CAAC;AAEF,SAAgB,qBAAqB,CAAC,MAAyB;IAC7D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb;YACE,OAAO,aAAa,CAAC;QAEvB,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU;YACb,OAAO,cAAc,CAAC;QAExB,KAAK,OAAO,CAAC;QACb,KAAK,WAAW;YACd,OAAO,cAAc,CAAC;QAExB,KAAK,UAAU,CAAC;QAChB,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,SAAgB,cAAc,CAC5B,UAA6B,EAC7B,iBAAoC;IAEpC,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,iBAAiB,CAAC,OAAO,CAAC;IACnC,CAAC;IAED,IAAI,iBAAiB,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,iBAAiB,CAAC,UAAU,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,QAAQ,CAAC,QAAa;IACpC,OAAO,CACL,QAAQ,CAAC,OAAO;QAChB,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,MAAM;QAC9B,QAAQ,CAAC,OAAO,KAAK,MAAM;QAC3B,QAAQ,CAAC,OAAO,KAAK,IAAI,CAC1B,CAAC;AACJ,CAAC;AAED,SAAgB,iBAAiB,CAC/B,eAAgC,EAChC,qBAA6B,EAC7B,MAAc;IAEd,OAAO,CAAC,IAAI,CACV,aAAa,eAAe,0CAA0C,qBAAqB,gIAAgI,IAAI,CAAC,SAAS,CACvO,MAAM,CACP,EAAE,CACJ,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,oBAAoB,CAAC,KAAU,EAAE,KAAY;IAC3D,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,gEAAgE;IAChE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAA,0CAAyB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;oBAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;gBAChC,CAAC;gBACD,OAAO;YACT,CAAC;YAED,KAAK,CAAC,IAAI,mBACR,UAAU,EAAE,KAAK,CAAC,MAAM,EACxB,CAAC,EAAE,SAAS,IACT,KAAK,CAAC,IAAI,CACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC;QACvB,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,CAAC,GAAG,eAAe,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,IACE,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAC7B,CAAC;QACD,KAAK,CAAC,CAAC,GAAG,kBAAkB,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,sDAAsD;AACxD,CAAC;AAED,SAAgB,OAAO,CAAI,EAAW;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACvC,CAAC"}
|
package/lib/util/typeGuards.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { WsFormattedMessage,
|
|
1
|
+
import { WsFormattedMessage, WsMessageMarkPriceUpdateEventFormatted, WsMessageTradeFormatted, WsMessageKlineFormatted, WsMessage24hrTickerFormatted, WsMessageForceOrderFormatted, WsMessageRollingWindowTickerFormatted, WsMessageAggTradeFormatted, WsMessagePartialBookDepthEventFormatted, WsUserDataEvents, WsMessageSpotUserDataEventFormatted, WsMessageFuturesUserDataEventFormatted, WsMessageSpotUserDataExecutionReportEventFormatted, WsMessageSpotOutboundAccountPositionFormatted, WsMessageSpotBalanceUpdateFormatted, WsMessageSpotUserDataListStatusEventFormatted, WsMessageFuturesUserDataAccountUpdateFormatted, WsMessageFuturesUserDataMarginCallFormatted, WsMessageFuturesUserDataTradeUpdateEventFormatted, WsMessageFuturesUserDataCondOrderTriggerRejectEventFormatted, WsMessageFuturesUserDataAccountConfigUpdateEventFormatted, WsMessageFuturesUserDataListenKeyExpiredFormatted } from '../types/websockets/ws-events-formatted';
|
|
2
|
+
import { WsRawMessage, WsMessage24hrMiniTickerRaw, WsMessageRollingWindowTickerRaw, WsMessageKlineRaw, WsMessageFuturesUserDataOrderTradeUpdateEventRaw, WsMessageFuturesUserDataAccountConfigUpdateEventRaw, WsMessageFuturesUserDataAccountUpdateRaw } from '../types/websockets/ws-events-raw';
|
|
3
|
+
export declare function neverGuard(x: never, msg: string): Error;
|
|
2
4
|
/**
|
|
3
5
|
* Use type guards to narrow down types with minimal efforts.
|
|
4
6
|
*
|
|
@@ -65,3 +67,9 @@ export declare function isAccountConfigUpdateRaw(data: WsRawMessage): data is Ws
|
|
|
65
67
|
* Typeguard to validate a single ACCOUNT_UPDATE raw event
|
|
66
68
|
*/
|
|
67
69
|
export declare function isAccountUpdateRaw(data: WsRawMessage): data is WsMessageFuturesUserDataAccountUpdateRaw;
|
|
70
|
+
export interface WebsocketTopicSubscriptionConfirmationEvent {
|
|
71
|
+
result: boolean;
|
|
72
|
+
id: number;
|
|
73
|
+
}
|
|
74
|
+
export declare function isTopicSubscriptionConfirmation(msg: unknown): msg is WebsocketTopicSubscriptionConfirmationEvent;
|
|
75
|
+
export declare function isTopicSubscriptionSuccess(msg: unknown): msg is WebsocketTopicSubscriptionConfirmationEvent;
|
package/lib/util/typeGuards.js
CHANGED
|
@@ -1,6 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.neverGuard = neverGuard;
|
|
4
|
+
exports.isWsFormattedMarkPriceUpdateEvent = isWsFormattedMarkPriceUpdateEvent;
|
|
5
|
+
exports.isWsFormattedMarkPriceUpdateArray = isWsFormattedMarkPriceUpdateArray;
|
|
6
|
+
exports.isWsFormattedMarkPriceUpdate = isWsFormattedMarkPriceUpdate;
|
|
7
|
+
exports.isWsFormattedTrade = isWsFormattedTrade;
|
|
8
|
+
exports.isWsFormattedKline = isWsFormattedKline;
|
|
9
|
+
exports.isWsFormatted24hrTicker = isWsFormatted24hrTicker;
|
|
10
|
+
exports.isWsFormattedForceOrder = isWsFormattedForceOrder;
|
|
11
|
+
exports.isWsFormatted24hrTickerArray = isWsFormatted24hrTickerArray;
|
|
12
|
+
exports.isWsFormattedRollingWindowTickerArray = isWsFormattedRollingWindowTickerArray;
|
|
13
|
+
exports.isWsAggTradeFormatted = isWsAggTradeFormatted;
|
|
14
|
+
exports.isWsPartialBookDepthEventFormatted = isWsPartialBookDepthEventFormatted;
|
|
15
|
+
exports.isWsFormattedUserDataEvent = isWsFormattedUserDataEvent;
|
|
16
|
+
exports.isWsFormattedSpotUserDataEvent = isWsFormattedSpotUserDataEvent;
|
|
17
|
+
exports.isWsFormattedFuturesUserDataEvent = isWsFormattedFuturesUserDataEvent;
|
|
18
|
+
exports.isWsFormattedSpotUserDataExecutionReport = isWsFormattedSpotUserDataExecutionReport;
|
|
19
|
+
exports.isWsFormattedSpotOutboundAccountPosition = isWsFormattedSpotOutboundAccountPosition;
|
|
20
|
+
exports.isWsFormattedSpotBalanceUpdate = isWsFormattedSpotBalanceUpdate;
|
|
21
|
+
exports.isWsFormattedSpotUserDataListStatusEvent = isWsFormattedSpotUserDataListStatusEvent;
|
|
22
|
+
exports.isWsFormattedFuturesUserDataAccountUpdate = isWsFormattedFuturesUserDataAccountUpdate;
|
|
23
|
+
exports.isWsFormattedFuturesUserDataMarginCall = isWsFormattedFuturesUserDataMarginCall;
|
|
24
|
+
exports.isWsFormattedFuturesUserDataTradeUpdateEvent = isWsFormattedFuturesUserDataTradeUpdateEvent;
|
|
25
|
+
exports.isWsFormattedFuturesUserDataCondOrderTriggerRejectEvent = isWsFormattedFuturesUserDataCondOrderTriggerRejectEvent;
|
|
26
|
+
exports.isWsFormattedFuturesUserDataAccountConfigUpdateEvent = isWsFormattedFuturesUserDataAccountConfigUpdateEvent;
|
|
27
|
+
exports.isWsFormattedFuturesUserDataListenKeyExpired = isWsFormattedFuturesUserDataListenKeyExpired;
|
|
28
|
+
exports.isAll24hrMiniTickerRaw = isAll24hrMiniTickerRaw;
|
|
29
|
+
exports.isAllRollingWindowTickerRaw = isAllRollingWindowTickerRaw;
|
|
30
|
+
exports.is24hrMiniTickerRaw = is24hrMiniTickerRaw;
|
|
31
|
+
exports.isKlineRaw = isKlineRaw;
|
|
32
|
+
exports.isOrderTradeUpdateRaw = isOrderTradeUpdateRaw;
|
|
33
|
+
exports.isAccountConfigUpdateRaw = isAccountConfigUpdateRaw;
|
|
34
|
+
exports.isAccountUpdateRaw = isAccountUpdateRaw;
|
|
35
|
+
exports.isTopicSubscriptionConfirmation = isTopicSubscriptionConfirmation;
|
|
36
|
+
exports.isTopicSubscriptionSuccess = isTopicSubscriptionSuccess;
|
|
37
|
+
function neverGuard(x, msg) {
|
|
38
|
+
return new Error(`Unhandled value exception "${x}", ${msg}`);
|
|
39
|
+
}
|
|
4
40
|
/**
|
|
5
41
|
* Use type guards to narrow down types with minimal efforts.
|
|
6
42
|
*
|
|
@@ -14,115 +50,94 @@ exports.isAccountUpdateRaw = exports.isAccountConfigUpdateRaw = exports.isOrderT
|
|
|
14
50
|
function isWsFormattedMarkPriceUpdateEvent(data) {
|
|
15
51
|
return !Array.isArray(data) && data.eventType === 'markPriceUpdate';
|
|
16
52
|
}
|
|
17
|
-
exports.isWsFormattedMarkPriceUpdateEvent = isWsFormattedMarkPriceUpdateEvent;
|
|
18
53
|
function isWsFormattedMarkPriceUpdateArray(data) {
|
|
19
54
|
return (Array.isArray(data) &&
|
|
20
55
|
data.length !== 0 &&
|
|
21
56
|
data[0].eventType === 'markPriceUpdate');
|
|
22
57
|
}
|
|
23
|
-
exports.isWsFormattedMarkPriceUpdateArray = isWsFormattedMarkPriceUpdateArray;
|
|
24
58
|
/** @deprecated, use isWsFormattedMarkPriceUpdateEvent or isWsFormattedMarkPriceUpdateArray */
|
|
25
59
|
function isWsFormattedMarkPriceUpdate(data) {
|
|
26
60
|
return isWsFormattedMarkPriceUpdateArray(data);
|
|
27
61
|
}
|
|
28
|
-
exports.isWsFormattedMarkPriceUpdate = isWsFormattedMarkPriceUpdate;
|
|
29
62
|
function isWsFormattedTrade(data) {
|
|
30
63
|
return !Array.isArray(data) && data.eventType === 'trade';
|
|
31
64
|
}
|
|
32
|
-
exports.isWsFormattedTrade = isWsFormattedTrade;
|
|
33
65
|
function isWsFormattedKline(data) {
|
|
34
66
|
return !Array.isArray(data) && data.eventType === 'kline';
|
|
35
67
|
}
|
|
36
|
-
exports.isWsFormattedKline = isWsFormattedKline;
|
|
37
68
|
function isWsFormatted24hrTicker(data) {
|
|
38
69
|
return !Array.isArray(data) && data.eventType === '24hrTicker';
|
|
39
70
|
}
|
|
40
|
-
exports.isWsFormatted24hrTicker = isWsFormatted24hrTicker;
|
|
41
71
|
function isWsFormattedForceOrder(data) {
|
|
42
72
|
return !Array.isArray(data) && data.eventType === 'forceOrder';
|
|
43
73
|
}
|
|
44
|
-
exports.isWsFormattedForceOrder = isWsFormattedForceOrder;
|
|
45
74
|
function isWsFormatted24hrTickerArray(data) {
|
|
46
75
|
return (Array.isArray(data) &&
|
|
47
76
|
data.length !== 0 &&
|
|
48
77
|
data[0].eventType === '24hrTicker');
|
|
49
78
|
}
|
|
50
|
-
exports.isWsFormatted24hrTickerArray = isWsFormatted24hrTickerArray;
|
|
51
79
|
function isWsFormattedRollingWindowTickerArray(data) {
|
|
52
80
|
return (Array.isArray(data) &&
|
|
53
81
|
data.length !== 0 &&
|
|
54
82
|
['1hTicker', '4hTicker', '1dTicker'].includes(data[0].eventType));
|
|
55
83
|
}
|
|
56
|
-
exports.isWsFormattedRollingWindowTickerArray = isWsFormattedRollingWindowTickerArray;
|
|
57
84
|
/**
|
|
58
85
|
* Typeguard to validate a 'Compressed/Aggregate' trade
|
|
59
86
|
*/
|
|
60
87
|
function isWsAggTradeFormatted(data) {
|
|
61
88
|
return !Array.isArray(data) && data.eventType === 'aggTrade';
|
|
62
89
|
}
|
|
63
|
-
exports.isWsAggTradeFormatted = isWsAggTradeFormatted;
|
|
64
90
|
function isWsPartialBookDepthEventFormatted(data) {
|
|
65
91
|
return !Array.isArray(data) && data.eventType === 'partialBookDepth';
|
|
66
92
|
}
|
|
67
|
-
|
|
93
|
+
// TODO: this won't work on multiplex! Can we make one that doesn't use wsKey?
|
|
68
94
|
function isWsFormattedUserDataEvent(data) {
|
|
69
95
|
return !Array.isArray(data) && data.wsKey.includes('userData');
|
|
70
96
|
}
|
|
71
|
-
exports.isWsFormattedUserDataEvent = isWsFormattedUserDataEvent;
|
|
72
97
|
function isWsFormattedSpotUserDataEvent(data) {
|
|
73
|
-
|
|
98
|
+
var _a;
|
|
99
|
+
return isWsFormattedUserDataEvent(data) && ((_a = data.wsMarket) === null || _a === void 0 ? void 0 : _a.includes('spot'));
|
|
74
100
|
}
|
|
75
|
-
exports.isWsFormattedSpotUserDataEvent = isWsFormattedSpotUserDataEvent;
|
|
76
101
|
function isWsFormattedFuturesUserDataEvent(data) {
|
|
77
|
-
|
|
102
|
+
var _a;
|
|
103
|
+
return isWsFormattedUserDataEvent(data) && ((_a = data.wsMarket) === null || _a === void 0 ? void 0 : _a.includes('usdm'));
|
|
78
104
|
}
|
|
79
|
-
exports.isWsFormattedFuturesUserDataEvent = isWsFormattedFuturesUserDataEvent;
|
|
80
105
|
function isWsFormattedSpotUserDataExecutionReport(data) {
|
|
81
106
|
return (isWsFormattedSpotUserDataEvent(data) && data.eventType === 'executionReport');
|
|
82
107
|
}
|
|
83
|
-
exports.isWsFormattedSpotUserDataExecutionReport = isWsFormattedSpotUserDataExecutionReport;
|
|
84
108
|
function isWsFormattedSpotOutboundAccountPosition(data) {
|
|
85
109
|
return (isWsFormattedSpotUserDataEvent(data) &&
|
|
86
110
|
data.eventType === 'outboundAccountPosition');
|
|
87
111
|
}
|
|
88
|
-
exports.isWsFormattedSpotOutboundAccountPosition = isWsFormattedSpotOutboundAccountPosition;
|
|
89
112
|
function isWsFormattedSpotBalanceUpdate(data) {
|
|
90
113
|
return (isWsFormattedSpotUserDataEvent(data) && data.eventType === 'balanceUpdate');
|
|
91
114
|
}
|
|
92
|
-
exports.isWsFormattedSpotBalanceUpdate = isWsFormattedSpotBalanceUpdate;
|
|
93
115
|
function isWsFormattedSpotUserDataListStatusEvent(data) {
|
|
94
116
|
return (isWsFormattedSpotUserDataEvent(data) && data.eventType === 'listStatus');
|
|
95
117
|
}
|
|
96
|
-
exports.isWsFormattedSpotUserDataListStatusEvent = isWsFormattedSpotUserDataListStatusEvent;
|
|
97
118
|
function isWsFormattedFuturesUserDataAccountUpdate(data) {
|
|
98
119
|
return (isWsFormattedFuturesUserDataEvent(data) &&
|
|
99
120
|
data.eventType === 'ACCOUNT_UPDATE');
|
|
100
121
|
}
|
|
101
|
-
exports.isWsFormattedFuturesUserDataAccountUpdate = isWsFormattedFuturesUserDataAccountUpdate;
|
|
102
122
|
function isWsFormattedFuturesUserDataMarginCall(data) {
|
|
103
123
|
return (isWsFormattedFuturesUserDataEvent(data) && data.eventType === 'MARGIN_CALL');
|
|
104
124
|
}
|
|
105
|
-
exports.isWsFormattedFuturesUserDataMarginCall = isWsFormattedFuturesUserDataMarginCall;
|
|
106
125
|
function isWsFormattedFuturesUserDataTradeUpdateEvent(data) {
|
|
107
126
|
return (isWsFormattedFuturesUserDataEvent(data) &&
|
|
108
127
|
data.eventType === 'ORDER_TRADE_UPDATE');
|
|
109
128
|
}
|
|
110
|
-
exports.isWsFormattedFuturesUserDataTradeUpdateEvent = isWsFormattedFuturesUserDataTradeUpdateEvent;
|
|
111
129
|
function isWsFormattedFuturesUserDataCondOrderTriggerRejectEvent(data) {
|
|
112
130
|
return (isWsFormattedFuturesUserDataEvent(data) &&
|
|
113
131
|
data.eventType === 'CONDITIONAL_ORDER_TRIGGER_REJECT');
|
|
114
132
|
}
|
|
115
|
-
exports.isWsFormattedFuturesUserDataCondOrderTriggerRejectEvent = isWsFormattedFuturesUserDataCondOrderTriggerRejectEvent;
|
|
116
133
|
function isWsFormattedFuturesUserDataAccountConfigUpdateEvent(data) {
|
|
117
134
|
return (isWsFormattedFuturesUserDataEvent(data) &&
|
|
118
135
|
data.eventType === 'ACCOUNT_CONFIG_UPDATE');
|
|
119
136
|
}
|
|
120
|
-
exports.isWsFormattedFuturesUserDataAccountConfigUpdateEvent = isWsFormattedFuturesUserDataAccountConfigUpdateEvent;
|
|
121
137
|
function isWsFormattedFuturesUserDataListenKeyExpired(data) {
|
|
122
138
|
return (isWsFormattedFuturesUserDataEvent(data) &&
|
|
123
139
|
data.eventType === 'listenKeyExpired');
|
|
124
140
|
}
|
|
125
|
-
exports.isWsFormattedFuturesUserDataListenKeyExpired = isWsFormattedFuturesUserDataListenKeyExpired;
|
|
126
141
|
/**
|
|
127
142
|
* Typeguards for WsRawMessage event types:
|
|
128
143
|
*/
|
|
@@ -132,45 +147,55 @@ exports.isWsFormattedFuturesUserDataListenKeyExpired = isWsFormattedFuturesUserD
|
|
|
132
147
|
function isAll24hrMiniTickerRaw(data) {
|
|
133
148
|
return Array.isArray(data) && data[0].e === '24hrMiniTicker';
|
|
134
149
|
}
|
|
135
|
-
exports.isAll24hrMiniTickerRaw = isAll24hrMiniTickerRaw;
|
|
136
150
|
function isAllRollingWindowTickerRaw(data) {
|
|
137
151
|
return (Array.isArray(data) &&
|
|
138
152
|
['1hTicker', '4hTicker', '1dTicker'].includes(data[0].e));
|
|
139
153
|
}
|
|
140
|
-
exports.isAllRollingWindowTickerRaw = isAllRollingWindowTickerRaw;
|
|
141
154
|
/**
|
|
142
155
|
* Typeguard to validate a single 24hrMiniTicker raw event
|
|
143
156
|
*/
|
|
144
157
|
function is24hrMiniTickerRaw(data) {
|
|
145
158
|
return !Array.isArray(data) && data.e === '24hrMiniTicker';
|
|
146
159
|
}
|
|
147
|
-
exports.is24hrMiniTickerRaw = is24hrMiniTickerRaw;
|
|
148
160
|
/**
|
|
149
161
|
* Typeguard to validate a single kline raw event
|
|
150
162
|
*/
|
|
151
163
|
function isKlineRaw(data) {
|
|
152
164
|
return !Array.isArray(data) && data.e === 'kline';
|
|
153
165
|
}
|
|
154
|
-
exports.isKlineRaw = isKlineRaw;
|
|
155
166
|
/**
|
|
156
167
|
* Typeguard to validate a single ORDER_TRADE_UPDATE raw event
|
|
157
168
|
*/
|
|
158
169
|
function isOrderTradeUpdateRaw(data) {
|
|
159
170
|
return !Array.isArray(data) && data.e === 'ORDER_TRADE_UPDATE';
|
|
160
171
|
}
|
|
161
|
-
exports.isOrderTradeUpdateRaw = isOrderTradeUpdateRaw;
|
|
162
172
|
/**
|
|
163
173
|
* Typeguard to validate a single ACCOUNT_CONFIG_UPDATE raw event
|
|
164
174
|
*/
|
|
165
175
|
function isAccountConfigUpdateRaw(data) {
|
|
166
176
|
return !Array.isArray(data) && data.e === 'ACCOUNT_CONFIG_UPDATE';
|
|
167
177
|
}
|
|
168
|
-
exports.isAccountConfigUpdateRaw = isAccountConfigUpdateRaw;
|
|
169
178
|
/**
|
|
170
179
|
* Typeguard to validate a single ACCOUNT_UPDATE raw event
|
|
171
180
|
*/
|
|
172
181
|
function isAccountUpdateRaw(data) {
|
|
173
182
|
return !Array.isArray(data) && data.e === 'ACCOUNT_UPDATE';
|
|
174
183
|
}
|
|
175
|
-
|
|
184
|
+
function isTopicSubscriptionConfirmation(msg) {
|
|
185
|
+
if (typeof msg !== 'object') {
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
188
|
+
if (!msg) {
|
|
189
|
+
return false;
|
|
190
|
+
}
|
|
191
|
+
if (typeof msg['result'] === 'boolean') {
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
function isTopicSubscriptionSuccess(msg) {
|
|
197
|
+
if (!isTopicSubscriptionConfirmation(msg))
|
|
198
|
+
return false;
|
|
199
|
+
return msg.result === true;
|
|
200
|
+
}
|
|
176
201
|
//# sourceMappingURL=typeGuards.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeGuards.js","sourceRoot":"","sources":["../../src/util/typeGuards.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"typeGuards.js","sourceRoot":"","sources":["../../src/util/typeGuards.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getUSDMFuturesSymbolMinNotional = getUSDMFuturesSymbolMinNotional;
|
|
4
|
+
exports.getUSDMFuturesMinNotionalSymbolMap = getUSDMFuturesMinNotionalSymbolMap;
|
|
4
5
|
/** Get min notional filter for a USDM futures symbol */
|
|
5
6
|
function getUSDMFuturesSymbolMinNotional(exchangeInfo, symbol) {
|
|
6
7
|
const specs = exchangeInfo.symbols.find((sym) => sym.symbol === symbol);
|
|
@@ -14,7 +15,6 @@ function getUSDMFuturesSymbolMinNotional(exchangeInfo, symbol) {
|
|
|
14
15
|
}
|
|
15
16
|
return Number(filter.notional);
|
|
16
17
|
}
|
|
17
|
-
exports.getUSDMFuturesSymbolMinNotional = getUSDMFuturesSymbolMinNotional;
|
|
18
18
|
/** Returns an object where keys are USDM Futures symbols and values are min notionals for that symbol */
|
|
19
19
|
function getUSDMFuturesMinNotionalSymbolMap(exchangeInfo) {
|
|
20
20
|
const minNotionals = exchangeInfo.symbols.reduce((res, spec) => {
|
|
@@ -26,5 +26,4 @@ function getUSDMFuturesMinNotionalSymbolMap(exchangeInfo) {
|
|
|
26
26
|
}, {});
|
|
27
27
|
return minNotionals;
|
|
28
28
|
}
|
|
29
|
-
exports.getUSDMFuturesMinNotionalSymbolMap = getUSDMFuturesMinNotionalSymbolMap;
|
|
30
29
|
//# sourceMappingURL=exchangeInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exchangeInfo.js","sourceRoot":"","sources":["../../../src/util/usdm/exchangeInfo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"exchangeInfo.js","sourceRoot":"","sources":["../../../src/util/usdm/exchangeInfo.ts"],"names":[],"mappings":";;AAMA,0EAmBC;AAGD,gFAcC;AArCD,wDAAwD;AACxD,SAAgB,+BAA+B,CAC7C,YAAiC,EACjC,MAAc;IAEd,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACxE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC;IAClC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAC/B,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CACX,CAAC;IAEpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,yGAAyG;AACzG,SAAgB,kCAAkC,CAChD,YAAiC;IAEjC,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC9B,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,cAAc,CACf,CAAC;QACpC,IAAI,MAAM,EAAE,CAAC;YACX,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QACrC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type SignEncodeMethod = 'hex' | 'base64';
|
|
2
|
+
export type SignAlgorithm = 'SHA-256' | 'SHA-512';
|
|
3
|
+
/**
|
|
4
|
+
* Similar to node crypto's `createHash()` function
|
|
5
|
+
*/
|
|
6
|
+
type KeyType = 'HMAC' | 'RSASSA-PKCS1-v1_5' | 'Ed25519';
|
|
7
|
+
export declare function getSignKeyType(secret: string): KeyType;
|
|
8
|
+
/**
|
|
9
|
+
* Sign a message, with a secret, using the Web Crypto API
|
|
10
|
+
*
|
|
11
|
+
* Ed25519 is stable as of v23.5.0, but also not available in all browsers
|
|
12
|
+
*/
|
|
13
|
+
export declare function signMessage(message: string, secret: string, method: SignEncodeMethod, algorithm: SignAlgorithm, pemEncodeMethod?: SignEncodeMethod): Promise<string>;
|
|
14
|
+
export {};
|