binance 3.0.0-beta.1 → 3.0.0-beta.10

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 (80) hide show
  1. package/README.md +305 -75
  2. package/index.js +1 -1
  3. package/lib/coinm-client.d.ts +40 -22
  4. package/lib/coinm-client.js +4 -16
  5. package/lib/coinm-client.js.map +1 -1
  6. package/lib/index.d.ts +2 -0
  7. package/lib/index.js +2 -0
  8. package/lib/index.js.map +1 -1
  9. package/lib/main-client.d.ts +94 -30
  10. package/lib/main-client.js +68 -36
  11. package/lib/main-client.js.map +1 -1
  12. package/lib/portfolio-client.js.map +1 -1
  13. package/lib/types/coin.d.ts +1 -0
  14. package/lib/types/futures.d.ts +15 -5
  15. package/lib/types/futures.js.map +1 -1
  16. package/lib/types/portfolio-margin.d.ts +0 -9
  17. package/lib/types/shared.d.ts +14 -13
  18. package/lib/types/spot.d.ts +174 -11
  19. package/lib/types/spot.js.map +1 -1
  20. package/lib/types/websockets/ws-api-requests.d.ts +480 -2
  21. package/lib/types/websockets/ws-api-responses.d.ts +565 -1
  22. package/lib/types/websockets/ws-api.d.ts +157 -60
  23. package/lib/types/websockets/ws-api.js +47 -3
  24. package/lib/types/websockets/ws-api.js.map +1 -1
  25. package/lib/types/websockets/ws-events-formatted.d.ts +18 -14
  26. package/lib/types/websockets/ws-events-raw.d.ts +4 -2
  27. package/lib/types/websockets/ws-general.d.ts +8 -18
  28. package/lib/usdm-client.d.ts +45 -27
  29. package/lib/usdm-client.js +7 -19
  30. package/lib/usdm-client.js.map +1 -1
  31. package/lib/util/BaseRestClient.js +20 -6
  32. package/lib/util/BaseRestClient.js.map +1 -1
  33. package/lib/util/BaseWSClient.d.ts +14 -3
  34. package/lib/util/BaseWSClient.js +87 -30
  35. package/lib/util/BaseWSClient.js.map +1 -1
  36. package/lib/util/beautifier-maps.d.ts +32 -0
  37. package/lib/util/beautifier-maps.js +41 -0
  38. package/lib/util/beautifier-maps.js.map +1 -1
  39. package/lib/util/beautifier.d.ts +1 -0
  40. package/lib/util/beautifier.js +44 -9
  41. package/lib/util/beautifier.js.map +1 -1
  42. package/lib/util/browser-support.d.ts +1 -1
  43. package/lib/util/browser-support.js +1 -41
  44. package/lib/util/browser-support.js.map +1 -1
  45. package/lib/util/node-support.js +7 -5
  46. package/lib/util/node-support.js.map +1 -1
  47. package/lib/util/requestUtils.d.ts +22 -4
  48. package/lib/util/requestUtils.js +76 -25
  49. package/lib/util/requestUtils.js.map +1 -1
  50. package/lib/util/rounding.d.ts +8 -0
  51. package/lib/util/rounding.js +41 -0
  52. package/lib/util/rounding.js.map +1 -0
  53. package/lib/util/typeGuards.d.ts +31 -3
  54. package/lib/util/typeGuards.js +105 -8
  55. package/lib/util/typeGuards.js.map +1 -1
  56. package/lib/util/webCryptoAPI.js +20 -45
  57. package/lib/util/webCryptoAPI.js.map +1 -1
  58. package/lib/util/websockets/WsStore.js +7 -2
  59. package/lib/util/websockets/WsStore.js.map +1 -1
  60. package/lib/util/websockets/enum.d.ts +11 -0
  61. package/lib/util/websockets/enum.js +24 -0
  62. package/lib/util/websockets/enum.js.map +1 -0
  63. package/lib/util/websockets/rest-client-cache.d.ts +3 -3
  64. package/lib/util/websockets/rest-client-cache.js +9 -9
  65. package/lib/util/websockets/rest-client-cache.js.map +1 -1
  66. package/lib/util/websockets/user-data-stream-manager.js +7 -8
  67. package/lib/util/websockets/user-data-stream-manager.js.map +1 -1
  68. package/lib/util/websockets/websocket-util.d.ts +27 -6
  69. package/lib/util/websockets/websocket-util.js +147 -52
  70. package/lib/util/websockets/websocket-util.js.map +1 -1
  71. package/lib/websocket-api-client.d.ts +401 -0
  72. package/lib/websocket-api-client.js +647 -0
  73. package/lib/websocket-api-client.js.map +1 -0
  74. package/lib/websocket-client-legacy.d.ts +5 -3
  75. package/lib/websocket-client-legacy.js +11 -10
  76. package/lib/websocket-client-legacy.js.map +1 -1
  77. package/lib/websocket-client.d.ts +26 -11
  78. package/lib/websocket-client.js +185 -139
  79. package/lib/websocket-client.js.map +1 -1
  80. package/package.json +3 -3
@@ -11,12 +11,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.getOrderIdPrefix = getOrderIdPrefix;
13
13
  exports.generateNewOrderId = generateNewOrderId;
14
- exports.requiresWSAPINewClientOID = requiresWSAPINewClientOID;
15
14
  exports.getBaseURLKeyForWsKey = getBaseURLKeyForWsKey;
15
+ exports.requiresWSAPINewClientOID = requiresWSAPINewClientOID;
16
16
  exports.validateWSAPINewClientOID = validateWSAPINewClientOID;
17
17
  exports.serialiseParams = serialiseParams;
18
18
  exports.getRequestSignature = getRequestSignature;
19
19
  exports.getServerTimeEndpoint = getServerTimeEndpoint;
20
+ exports.getTestnetBaseUrlKey = getTestnetBaseUrlKey;
20
21
  exports.getRestBaseUrl = getRestBaseUrl;
21
22
  exports.isPublicEndpoint = isPublicEndpoint;
22
23
  exports.isWsPong = isWsPong;
@@ -25,6 +26,7 @@ exports.appendEventIfMissing = appendEventIfMissing;
25
26
  exports.asArray = asArray;
26
27
  const nanoid_1 = require("nanoid");
27
28
  const node_support_1 = require("./node-support");
29
+ const typeGuards_1 = require("./typeGuards");
28
30
  const websocket_util_1 = require("./websockets/websocket-util");
29
31
  // function throwUnhandledSwitch(x: never, msg: string): never {
30
32
  // throw new Error(msg);
@@ -56,27 +58,6 @@ function generateNewOrderId(network) {
56
58
  const prefixedId = 'x-' + getOrderIdPrefix(network) + id;
57
59
  return prefixedId;
58
60
  }
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
61
  function getBaseURLKeyForWsKey(wsKey) {
81
62
  switch (wsKey) {
82
63
  case websocket_util_1.WS_KEY_MAP.mainWSAPI:
@@ -114,6 +95,45 @@ function getWSAPINewOrderIdProperties(operation, wsKey) {
114
95
  }
115
96
  }
116
97
  }
98
+ function requiresWSAPINewClientOID(request, wsKey) {
99
+ switch (wsKey) {
100
+ case websocket_util_1.WS_KEY_MAP.mainWSAPI:
101
+ case websocket_util_1.WS_KEY_MAP.mainWSAPI2:
102
+ case websocket_util_1.WS_KEY_MAP.mainWSAPITestnet:
103
+ case websocket_util_1.WS_KEY_MAP.usdmWSAPI:
104
+ case websocket_util_1.WS_KEY_MAP.usdmWSAPITestnet:
105
+ case websocket_util_1.WS_KEY_MAP.coinmWSAPI:
106
+ case websocket_util_1.WS_KEY_MAP.coinmWSAPITestnet: {
107
+ switch (request.method) {
108
+ case 'order.place':
109
+ case 'order.amend.keepPriority': {
110
+ return true;
111
+ }
112
+ default: {
113
+ return false;
114
+ }
115
+ }
116
+ }
117
+ case websocket_util_1.WS_KEY_MAP.main:
118
+ case websocket_util_1.WS_KEY_MAP.main2:
119
+ case websocket_util_1.WS_KEY_MAP.main3:
120
+ case websocket_util_1.WS_KEY_MAP.mainTestnetPublic:
121
+ case websocket_util_1.WS_KEY_MAP.mainTestnetUserData:
122
+ case websocket_util_1.WS_KEY_MAP.marginRiskUserData:
123
+ case websocket_util_1.WS_KEY_MAP.usdm:
124
+ case websocket_util_1.WS_KEY_MAP.usdmTestnet:
125
+ case websocket_util_1.WS_KEY_MAP.coinm:
126
+ case websocket_util_1.WS_KEY_MAP.coinm2:
127
+ case websocket_util_1.WS_KEY_MAP.coinmTestnet:
128
+ case websocket_util_1.WS_KEY_MAP.eoptions:
129
+ case websocket_util_1.WS_KEY_MAP.portfolioMarginUserData:
130
+ case websocket_util_1.WS_KEY_MAP.portfolioMarginProUserData:
131
+ return false;
132
+ default: {
133
+ throw (0, typeGuards_1.neverGuard)(wsKey, `Unhandled WsKey "${wsKey}"`);
134
+ }
135
+ }
136
+ }
117
137
  function validateWSAPINewClientOID(request, wsKey) {
118
138
  if (!requiresWSAPINewClientOID(request, wsKey) || !request.params) {
119
139
  return;
@@ -149,16 +169,24 @@ function serialiseParams(params = {}, strict_validation = false, encodeValues =
149
169
  })
150
170
  .join('&');
151
171
  }
152
- function getRequestSignature(data, key, secret, recvWindow, timestamp, strictParamValidation, filterUndefinedParams) {
172
+ function getRequestSignature(data, options, key, secret, timestamp) {
153
173
  return __awaiter(this, void 0, void 0, function* () {
154
174
  var _a, _b;
175
+ const { recvWindow, strictParamValidation, filterUndefinedParams } = options;
155
176
  // Optional, set to 5000 by default. Increase if timestamp/recvWindow errors are seen.
156
177
  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;
157
178
  if (key && secret) {
158
179
  const requestParams = Object.assign(Object.assign({}, data), { timestamp, recvWindow: requestRecvWindow });
180
+ const signMethod = 'hex';
181
+ const signAlgorithm = 'SHA-256';
159
182
  const serialisedParams = serialiseParams(requestParams, strictParamValidation, true, filterUndefinedParams);
160
- // TODO:
161
- const signature = yield (0, node_support_1.signMessage)(serialisedParams, secret, 'hex', 'SHA-256');
183
+ let signature;
184
+ if (typeof options.customSignMessageFn === 'function') {
185
+ signature = yield options.customSignMessageFn(serialisedParams, secret);
186
+ }
187
+ else {
188
+ signature = yield (0, node_support_1.signMessage)(serialisedParams, secret, signMethod, signAlgorithm);
189
+ }
162
190
  requestParams.signature = signature;
163
191
  return {
164
192
  requestBody: Object.assign({}, data),
@@ -178,6 +206,7 @@ const BINANCE_BASE_URLS = {
178
206
  spot2: 'https://api1.binance.com',
179
207
  spot3: 'https://api2.binance.com',
180
208
  spot4: 'https://api3.binance.com',
209
+ spottest: 'https://testnet.binance.vision',
181
210
  // USDM Futures
182
211
  usdm: 'https://fapi.binance.com',
183
212
  usdmtest: 'https://testnet.binancefuture.com',
@@ -197,6 +226,7 @@ function getServerTimeEndpoint(urlKey) {
197
226
  case 'spot2':
198
227
  case 'spot3':
199
228
  case 'spot4':
229
+ case 'spottest':
200
230
  default:
201
231
  return 'api/v3/time';
202
232
  case 'usdm':
@@ -210,6 +240,27 @@ function getServerTimeEndpoint(urlKey) {
210
240
  return 'vapi/v1/time';
211
241
  }
212
242
  }
243
+ function getTestnetBaseUrlKey(urlKey) {
244
+ switch (urlKey) {
245
+ case 'spot':
246
+ case 'spot1':
247
+ case 'spot2':
248
+ case 'spot3':
249
+ case 'spot4':
250
+ case 'spottest':
251
+ default:
252
+ return 'spottest';
253
+ case 'usdm':
254
+ case 'usdmtest':
255
+ return 'usdmtest';
256
+ case 'coinm':
257
+ case 'coinmtest':
258
+ return 'coinmtest';
259
+ case 'voptions':
260
+ case 'voptionstest':
261
+ return 'voptionstest';
262
+ }
263
+ }
213
264
  function getRestBaseUrl(clientType, restClientOptions) {
214
265
  if (restClientOptions.baseUrl) {
215
266
  return restClientOptions.baseUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../src/util/requestUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../src/util/requestUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Rounds a price to the correct number of decimal places based on the symbol's tick size
3
+ */
4
+ export declare function roundToTickSize(price: number, tickSize: string): number;
5
+ /**
6
+ * Rounds a quantity to the correct step size
7
+ */
8
+ export declare function roundToStepSize(quantity: number, stepSize: string): number;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.roundToTickSize = roundToTickSize;
4
+ exports.roundToStepSize = roundToStepSize;
5
+ /**
6
+ * Rounds a price to the correct number of decimal places based on the symbol's tick size
7
+ */
8
+ function roundToTickSize(price, tickSize) {
9
+ if (!tickSize) {
10
+ return price;
11
+ }
12
+ // Calculate precision from tick size (e.g., 0.00010000 → 4 decimal places)
13
+ const precision = tickSize.indexOf('1') - 1;
14
+ if (precision < 0) {
15
+ return Math.floor(price);
16
+ }
17
+ // Round to the nearest tick
18
+ const tickSizeNum = parseFloat(tickSize);
19
+ const rounded = Math.floor(price / tickSizeNum) * tickSizeNum;
20
+ // Format with correct precision
21
+ return +rounded.toFixed(precision);
22
+ }
23
+ /**
24
+ * Rounds a quantity to the correct step size
25
+ */
26
+ function roundToStepSize(quantity, stepSize) {
27
+ if (!stepSize) {
28
+ return quantity;
29
+ }
30
+ // Calculate precision from step size
31
+ const precision = stepSize.indexOf('1') - 1;
32
+ if (precision < 0) {
33
+ return Math.floor(quantity);
34
+ }
35
+ // Round to the nearest step
36
+ const stepSizeNum = parseFloat(stepSize);
37
+ const rounded = Math.floor(quantity / stepSizeNum) * stepSizeNum;
38
+ // Format with correct precision
39
+ return +rounded.toFixed(precision);
40
+ }
41
+ //# sourceMappingURL=rounding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rounding.js","sourceRoot":"","sources":["../../src/util/rounding.ts"],"names":[],"mappings":";;AAGA,0CAiBC;AAKD,0CAiBC;AA1CD;;GAEG;AACH,SAAgB,eAAe,CAAC,KAAa,EAAE,QAAgB;IAC7D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2EAA2E;IAC3E,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,4BAA4B;IAC5B,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,WAAW,CAAC;IAE9D,gCAAgC;IAChC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,QAAgB,EAAE,QAAgB;IAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,qCAAqC;IACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,4BAA4B;IAC5B,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,WAAW,CAAC;IAEjE,gCAAgC;IAChC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC"}
@@ -1,5 +1,6 @@
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';
1
+ import { WsFormattedMessage, WsMessage24hrTickerFormatted, WsMessageAggTradeFormatted, WsMessageForceOrderFormatted, WsMessageFuturesUserDataAccountConfigUpdateEventFormatted, WsMessageFuturesUserDataAccountUpdateFormatted, WsMessageFuturesUserDataCondOrderTriggerRejectEventFormatted, WsMessageFuturesUserDataEventFormatted, WsMessageFuturesUserDataListenKeyExpiredFormatted, WsMessageFuturesUserDataMarginCallFormatted, WsMessageFuturesUserDataTradeUpdateEventFormatted, WsMessageKlineFormatted, WsMessageMarkPriceUpdateEventFormatted, WsMessagePartialBookDepthEventFormatted, WsMessageSpotBalanceUpdateFormatted, WsMessageSpotOutboundAccountPositionFormatted, WsMessageSpotUserDataEventFormatted, WsMessageSpotUserDataExecutionReportEventFormatted, WsMessageSpotUserDataListStatusEventFormatted, WsMessageTradeFormatted, WsUserDataEvents } from '../types/websockets/ws-events-formatted';
2
+ import { WsMessage24hrMiniTickerRaw, WsMessageFuturesUserDataAccountConfigUpdateEventRaw, WsMessageFuturesUserDataAccountUpdateRaw, WsMessageFuturesUserDataOrderTradeUpdateEventRaw, WsMessageKlineRaw, WsMessageRollingWindowTickerRaw, WsRawMessage } from '../types/websockets/ws-events-raw';
3
+ import { WSAPIWsKey, WsKey } from './websockets/websocket-util';
3
4
  export declare function neverGuard(x: never, msg: string): Error;
4
5
  /**
5
6
  * Use type guards to narrow down types with minimal efforts.
@@ -8,6 +9,9 @@ export declare function neverGuard(x: never, msg: string): Error;
8
9
  * and `WsRawMessage` typeguards in the second half.
9
10
  *
10
11
  */
12
+ export declare function isWsSpotConnection(data: WsFormattedMessage): boolean;
13
+ export declare function isWsFuturesConnection(data: WsFormattedMessage): boolean;
14
+ export declare function isWSAPIWsKey(wsKey: WsKey): wsKey is WSAPIWsKey;
11
15
  /**
12
16
  * Typeguards for WsFormattedMessage event types:
13
17
  */
@@ -19,13 +23,37 @@ export declare function isWsFormattedTrade(data: WsFormattedMessage): data is Ws
19
23
  export declare function isWsFormattedKline(data: WsFormattedMessage): data is WsMessageKlineFormatted;
20
24
  export declare function isWsFormatted24hrTicker(data: WsFormattedMessage): data is WsMessage24hrTickerFormatted;
21
25
  export declare function isWsFormattedForceOrder(data: WsFormattedMessage): data is WsMessageForceOrderFormatted;
26
+ /**
27
+ * !ticker@arr
28
+ * @param data
29
+ * @returns
30
+ */
22
31
  export declare function isWsFormatted24hrTickerArray(data: WsFormattedMessage): data is WsMessage24hrTickerFormatted[];
23
- export declare function isWsFormattedRollingWindowTickerArray(data: WsFormattedMessage): data is WsMessageRollingWindowTickerFormatted[];
32
+ /**
33
+ * !ticker_1h@arr
34
+ *
35
+ * @param data
36
+ * @returns
37
+ */
38
+ export declare function isWsFormattedRollingWindowTickerArray(data: WsFormattedMessage): data is WsMessage24hrTickerFormatted[];
24
39
  /**
25
40
  * Typeguard to validate a 'Compressed/Aggregate' trade
26
41
  */
27
42
  export declare function isWsAggTradeFormatted(data: WsFormattedMessage): data is WsMessageAggTradeFormatted;
43
+ /**
44
+ * <symbol>@depth<levels> OR <symbol>@depth<levels>@100ms
45
+ * @param data
46
+ * @returns
47
+ */
28
48
  export declare function isWsPartialBookDepthEventFormatted(data: WsFormattedMessage): data is WsMessagePartialBookDepthEventFormatted;
49
+ /**
50
+ * Works for both the listen key & WS API user data stream workflows.
51
+ *
52
+ * - For the listen key workflow, uses the wsKey to identify the connection dedicated
53
+ * to the user data stream.
54
+ * - For the WS API user data stream, uses the eventType to identify user data events
55
+ * from a known list (`EVENT_TYPES_USER_DATA`).
56
+ */
29
57
  export declare function isWsFormattedUserDataEvent(data: WsFormattedMessage): data is WsUserDataEvents;
30
58
  export declare function isWsFormattedSpotUserDataEvent(data: WsFormattedMessage): data is WsMessageSpotUserDataEventFormatted;
31
59
  export declare function isWsFormattedFuturesUserDataEvent(data: WsFormattedMessage): data is WsMessageFuturesUserDataEventFormatted;
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.neverGuard = neverGuard;
4
+ exports.isWsSpotConnection = isWsSpotConnection;
5
+ exports.isWsFuturesConnection = isWsFuturesConnection;
6
+ exports.isWSAPIWsKey = isWSAPIWsKey;
4
7
  exports.isWsFormattedMarkPriceUpdateEvent = isWsFormattedMarkPriceUpdateEvent;
5
8
  exports.isWsFormattedMarkPriceUpdateArray = isWsFormattedMarkPriceUpdateArray;
6
9
  exports.isWsFormattedMarkPriceUpdate = isWsFormattedMarkPriceUpdate;
@@ -34,6 +37,7 @@ exports.isAccountConfigUpdateRaw = isAccountConfigUpdateRaw;
34
37
  exports.isAccountUpdateRaw = isAccountUpdateRaw;
35
38
  exports.isTopicSubscriptionConfirmation = isTopicSubscriptionConfirmation;
36
39
  exports.isTopicSubscriptionSuccess = isTopicSubscriptionSuccess;
40
+ const websocket_util_1 = require("./websockets/websocket-util");
37
41
  function neverGuard(x, msg) {
38
42
  return new Error(`Unhandled value exception "${x}", ${msg}`);
39
43
  }
@@ -44,6 +48,44 @@ function neverGuard(x, msg) {
44
48
  * and `WsRawMessage` typeguards in the second half.
45
49
  *
46
50
  */
51
+ function isWsSpotConnection(data) {
52
+ return (!Array.isArray(data) && data.wsKey && websocket_util_1.WS_KEYS_SPOT.includes(data.wsKey));
53
+ }
54
+ function isWsFuturesConnection(data) {
55
+ return (!Array.isArray(data) && data.wsKey && websocket_util_1.WS_KEYS_FUTURES.includes(data.wsKey));
56
+ }
57
+ function isWSAPIWsKey(wsKey) {
58
+ switch (wsKey) {
59
+ case 'mainWSAPITestnet':
60
+ case 'mainWSAPI':
61
+ case 'mainWSAPI2':
62
+ case 'usdmWSAPI':
63
+ case 'usdmWSAPITestnet':
64
+ case 'coinmWSAPI':
65
+ case 'coinmWSAPITestnet': {
66
+ return true;
67
+ }
68
+ case 'main':
69
+ case 'main2':
70
+ case 'main3':
71
+ case 'marginRiskUserData':
72
+ case 'mainTestnetPublic':
73
+ case 'mainTestnetUserData':
74
+ case 'usdm':
75
+ case 'usdmTestnet':
76
+ case 'coinm':
77
+ case 'coinmTestnet':
78
+ case 'eoptions':
79
+ case 'coinm2':
80
+ case 'portfolioMarginUserData':
81
+ case 'portfolioMarginProUserData': {
82
+ return false;
83
+ }
84
+ default: {
85
+ throw neverGuard(wsKey, `Unhandled WsKey "${wsKey}"`);
86
+ }
87
+ }
88
+ }
47
89
  /**
48
90
  * Typeguards for WsFormattedMessage event types:
49
91
  */
@@ -53,7 +95,7 @@ function isWsFormattedMarkPriceUpdateEvent(data) {
53
95
  function isWsFormattedMarkPriceUpdateArray(data) {
54
96
  return (Array.isArray(data) &&
55
97
  data.length !== 0 &&
56
- data[0].eventType === 'markPriceUpdate');
98
+ ['markPriceUpdate', 'markPrice'].includes(data[0].eventType));
57
99
  }
58
100
  /** @deprecated, use isWsFormattedMarkPriceUpdateEvent or isWsFormattedMarkPriceUpdateArray */
59
101
  function isWsFormattedMarkPriceUpdate(data) {
@@ -71,15 +113,32 @@ function isWsFormatted24hrTicker(data) {
71
113
  function isWsFormattedForceOrder(data) {
72
114
  return !Array.isArray(data) && data.eventType === 'forceOrder';
73
115
  }
116
+ /**
117
+ * !ticker@arr
118
+ * @param data
119
+ * @returns
120
+ */
74
121
  function isWsFormatted24hrTickerArray(data) {
75
122
  return (Array.isArray(data) &&
76
123
  data.length !== 0 &&
77
- data[0].eventType === '24hrTicker');
124
+ // topic in ws url
125
+ (['24hrTicker'].includes(data[0].eventType) || // multiplex subscriptions
126
+ (!!data[0].streamName && ['!ticker@arr'].includes(data[0].streamName))));
78
127
  }
128
+ /**
129
+ * !ticker_1h@arr
130
+ *
131
+ * @param data
132
+ * @returns
133
+ */
79
134
  function isWsFormattedRollingWindowTickerArray(data) {
80
135
  return (Array.isArray(data) &&
81
136
  data.length !== 0 &&
82
- ['1hTicker', '4hTicker', '1dTicker'].includes(data[0].eventType));
137
+ // topic in ws url
138
+ (['1hTicker', '4hTicker', '1dTicker'].includes(data[0].eventType) ||
139
+ // multiplex subscriptions
140
+ (!!data[0].streamName &&
141
+ ['!ticker_1h@arr', '!ticker_4h@arr', '!ticker_1d@arr'].includes(data[0].streamName))));
83
142
  }
84
143
  /**
85
144
  * Typeguard to validate a 'Compressed/Aggregate' trade
@@ -87,20 +146,58 @@ function isWsFormattedRollingWindowTickerArray(data) {
87
146
  function isWsAggTradeFormatted(data) {
88
147
  return !Array.isArray(data) && data.eventType === 'aggTrade';
89
148
  }
149
+ const partialBookDepthEventTypeMap = new Map()
150
+ // For dedicated connection
151
+ .set('partialBookDepth', true)
152
+ // For multiplex connection
153
+ .set('depth5', true)
154
+ .set('depth10', true)
155
+ .set('depth20', true)
156
+ .set('depth5@100ms', true)
157
+ .set('depth10@100ms', true)
158
+ .set('depth20@100ms', true)
159
+ .set('depth5@1000ms', true)
160
+ .set('depth10@1000ms', true)
161
+ .set('depth20@1000ms', true);
162
+ /**
163
+ * <symbol>@depth<levels> OR <symbol>@depth<levels>@100ms
164
+ * @param data
165
+ * @returns
166
+ */
90
167
  function isWsPartialBookDepthEventFormatted(data) {
91
- return !Array.isArray(data) && data.eventType === 'partialBookDepth';
168
+ return (!Array.isArray(data) && partialBookDepthEventTypeMap.has(data.eventType));
92
169
  }
93
- // TODO: this won't work on multiplex! Can we make one that doesn't use wsKey?
170
+ /**
171
+ * Works for both the listen key & WS API user data stream workflows.
172
+ *
173
+ * - For the listen key workflow, uses the wsKey to identify the connection dedicated
174
+ * to the user data stream.
175
+ * - For the WS API user data stream, uses the eventType to identify user data events
176
+ * from a known list (`EVENT_TYPES_USER_DATA`).
177
+ */
94
178
  function isWsFormattedUserDataEvent(data) {
95
- return !Array.isArray(data) && data.wsKey.includes('userData');
179
+ if (Array.isArray(data)) {
180
+ return false;
181
+ }
182
+ // Old listenKey workflow has one dedicated connection per user data stream
183
+ // Won't work for new WS API user data stream without listen key
184
+ if (data.wsKey.includes('userData')) {
185
+ return true;
186
+ }
187
+ if ((data === null || data === void 0 ? void 0 : data.eventType) && websocket_util_1.EVENT_TYPES_USER_DATA.includes(data.eventType)) {
188
+ return true;
189
+ }
190
+ return false;
96
191
  }
97
192
  function isWsFormattedSpotUserDataEvent(data) {
98
193
  var _a;
99
- return isWsFormattedUserDataEvent(data) && ((_a = data.wsMarket) === null || _a === void 0 ? void 0 : _a.includes('spot'));
194
+ return (isWsFormattedUserDataEvent(data) &&
195
+ (((_a = data.wsMarket) === null || _a === void 0 ? void 0 : _a.includes('spot')) || isWsSpotConnection(data)));
100
196
  }
101
197
  function isWsFormattedFuturesUserDataEvent(data) {
102
198
  var _a;
103
- return isWsFormattedUserDataEvent(data) && ((_a = data.wsMarket) === null || _a === void 0 ? void 0 : _a.includes('usdm'));
199
+ return (isWsFormattedUserDataEvent(data) &&
200
+ (((_a = data.wsMarket) === null || _a === void 0 ? void 0 : _a.includes('usdm')) || isWsFuturesConnection(data)));
104
201
  }
105
202
  function isWsFormattedSpotUserDataExecutionReport(data) {
106
203
  return (isWsFormattedSpotUserDataEvent(data) && data.eventType === 'executionReport');
@@ -1 +1 @@
1
- {"version":3,"file":"typeGuards.js","sourceRoot":"","sources":["../../src/util/typeGuards.ts"],"names":[],"mappings":";;AAkCA,gCAEC;AAcD,8EAIC;AAED,8EAQC;AAGD,oEAIC;AAED,gDAIC;AAED,gDAIC;AAED,0DAIC;AAED,0DAIC;AAED,oEAQC;AAED,sFAQC;AAKD,sDAIC;AAED,gFAIC;AAGD,gEAIC;AAED,wEAIC;AAED,8EAIC;AAED,4FAMC;AAED,4FAOC;AAED,wEAMC;AAED,4FAMC;AAED,8FAOC;AAED,wFAMC;AAED,oGAOC;AAED,0HAOC;AAED,oHAOC;AAED,oGAOC;AASD,wDAIC;AAED,kEAOC;AAKD,kDAIC;AAKD,gCAEC;AAKD,sDAIC;AAKD,4DAIC;AAKD,gDAIC;AAOD,0EAcC;AAED,gEAKC;AAtSD,SAAgB,UAAU,CAAC,CAAQ,EAAE,GAAW;IAC9C,OAAO,IAAI,KAAK,CAAC,8BAA8B,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;GAMG;AAEH;;GAEG;AAEH,SAAgB,iCAAiC,CAC/C,IAAwB;IAExB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,iBAAiB,CAAC;AACtE,CAAC;AAED,SAAgB,iCAAiC,CAC/C,IAAwB;IAExB,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,MAAM,KAAK,CAAC;QACjB,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,iBAAiB,CACxC,CAAC;AACJ,CAAC;AAED,8FAA8F;AAC9F,SAAgB,4BAA4B,CAC1C,IAAwB;IAExB,OAAO,iCAAiC,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,SAAgB,kBAAkB,CAChC,IAAwB;IAExB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC;AAC5D,CAAC;AAED,SAAgB,kBAAkB,CAChC,IAAwB;IAExB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC;AAC5D,CAAC;AAED,SAAgB,uBAAuB,CACrC,IAAwB;IAExB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,YAAY,CAAC;AACjE,CAAC;AAED,SAAgB,uBAAuB,CACrC,IAAwB;IAExB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,YAAY,CAAC;AACjE,CAAC;AAED,SAAgB,4BAA4B,CAC1C,IAAwB;IAExB,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,MAAM,KAAK,CAAC;QACjB,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,YAAY,CACnC,CAAC;AACJ,CAAC;AAED,SAAgB,qCAAqC,CACnD,IAAwB;IAExB,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,MAAM,KAAK,CAAC;QACjB,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CACjE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CACnC,IAAwB;IAExB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC;AAC/D,CAAC;AAED,SAAgB,kCAAkC,CAChD,IAAwB;IAExB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,kBAAkB,CAAC;AACvE,CAAC;AAED,8EAA8E;AAC9E,SAAgB,0BAA0B,CACxC,IAAwB;IAExB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACjE,CAAC;AAED,SAAgB,8BAA8B,CAC5C,IAAwB;;IAExB,OAAO,0BAA0B,CAAC,IAAI,CAAC,KAAI,MAAA,IAAI,CAAC,QAAQ,0CAAE,QAAQ,CAAC,MAAM,CAAC,CAAA,CAAC;AAC7E,CAAC;AAED,SAAgB,iCAAiC,CAC/C,IAAwB;;IAExB,OAAO,0BAA0B,CAAC,IAAI,CAAC,KAAI,MAAA,IAAI,CAAC,QAAQ,0CAAE,QAAQ,CAAC,MAAM,CAAC,CAAA,CAAC;AAC7E,CAAC;AAED,SAAgB,wCAAwC,CACtD,IAAwB;IAExB,OAAO,CACL,8BAA8B,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,iBAAiB,CAC7E,CAAC;AACJ,CAAC;AAED,SAAgB,wCAAwC,CACtD,IAAwB;IAExB,OAAO,CACL,8BAA8B,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,SAAS,KAAK,yBAAyB,CAC7C,CAAC;AACJ,CAAC;AAED,SAAgB,8BAA8B,CAC5C,IAAwB;IAExB,OAAO,CACL,8BAA8B,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,eAAe,CAC3E,CAAC;AACJ,CAAC;AAED,SAAgB,wCAAwC,CACtD,IAAwB;IAExB,OAAO,CACL,8BAA8B,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,YAAY,CACxE,CAAC;AACJ,CAAC;AAED,SAAgB,yCAAyC,CACvD,IAAwB;IAExB,OAAO,CACL,iCAAiC,CAAC,IAAI,CAAC;QACvC,IAAI,CAAC,SAAS,KAAK,gBAAgB,CACpC,CAAC;AACJ,CAAC;AAED,SAAgB,sCAAsC,CACpD,IAAwB;IAExB,OAAO,CACL,iCAAiC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,aAAa,CAC5E,CAAC;AACJ,CAAC;AAED,SAAgB,4CAA4C,CAC1D,IAAwB;IAExB,OAAO,CACL,iCAAiC,CAAC,IAAI,CAAC;QACvC,IAAI,CAAC,SAAS,KAAK,oBAAoB,CACxC,CAAC;AACJ,CAAC;AAED,SAAgB,uDAAuD,CACrE,IAAwB;IAExB,OAAO,CACL,iCAAiC,CAAC,IAAI,CAAC;QACvC,IAAI,CAAC,SAAS,KAAK,kCAAkC,CACtD,CAAC;AACJ,CAAC;AAED,SAAgB,oDAAoD,CAClE,IAAwB;IAExB,OAAO,CACL,iCAAiC,CAAC,IAAI,CAAC;QACvC,IAAI,CAAC,SAAS,KAAK,uBAAuB,CAC3C,CAAC;AACJ,CAAC;AAED,SAAgB,4CAA4C,CAC1D,IAAwB;IAExB,OAAO,CACL,iCAAiC,CAAC,IAAI,CAAC;QACvC,IAAI,CAAC,SAAS,KAAK,kBAAkB,CACtC,CAAC;AACJ,CAAC;AAED;;GAEG;AAEH;;GAEG;AACH,SAAgB,sBAAsB,CACpC,IAAkB;IAElB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC;AAC/D,CAAC;AAED,SAAgB,2BAA2B,CACzC,IAAkB;IAElB,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACnB,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACzD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CACjC,IAAkB;IAElB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,gBAAgB,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,IAAkB;IAC3C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,OAAO,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CACnC,IAAkB;IAElB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,oBAAoB,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CACtC,IAAkB;IAElB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,uBAAuB,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAChC,IAAkB;IAElB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,gBAAgB,CAAC;AAC7D,CAAC;AAOD,SAAgB,+BAA+B,CAC7C,GAAY;IAEZ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,0BAA0B,CACxC,GAAY;IAEZ,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,OAAO,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"typeGuards.js","sourceRoot":"","sources":["../../src/util/typeGuards.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.getSignKeyType = getSignKeyType;
13
13
  exports.signMessage = signMessage;
14
+ /* eslint-disable @typescript-eslint/no-unused-vars */
14
15
  const typeGuards_1 = require("./typeGuards");
15
16
  function bufferToB64(buffer) {
16
17
  let binary = '';
@@ -23,62 +24,36 @@ function bufferToB64(buffer) {
23
24
  }
24
25
  function getSignKeyType(secret) {
25
26
  if (secret.includes('PRIVATE KEY')) {
27
+ // Sometimes, not always, RSA keys include "RSA" in the header. That's a definite RSA key.
26
28
  if (secret.includes('RSA PRIVATE KEY')) {
29
+ console.log('RSA web crpyto api');
27
30
  return 'RSASSA-PKCS1-v1_5';
28
31
  }
29
- return 'Ed25519';
32
+ // RSA keys are significantly longer than Ed25519 keys. 150 accounts for length of header & footer
33
+ if (secret.length <= 150) {
34
+ // console.log('Ed25519 key, due to length', secret.length);
35
+ return 'Ed25519';
36
+ }
37
+ return 'RSASSA-PKCS1-v1_5';
30
38
  }
31
39
  return 'HMAC';
32
40
  }
33
- // async function importEd25519PrivateKey(
34
- // pem: string,
35
- // algorithm: SignAlgorithm,
36
- // ): Promise<CryptoKey> {
37
- // const base64Key = pem
38
- // .replace(/-----BEGIN PRIVATE KEY-----/, '')
39
- // .replace(/-----END PRIVATE KEY-----/, '')
40
- // .replace(/\s+/g, ''); // Remove spaces and newlines
41
- // const binaryKey = Uint8Array.from(atob(base64Key), (c) => c.charCodeAt(0));
42
- // return crypto.subtle.importKey(
43
- // 'pkcs8',
44
- // binaryKey.buffer,
45
- // { name: 'Ed25519', hash: { name: algorithm } },
46
- // false,
47
- // ['sign'],
48
- // );
49
- // }
50
- // async function importRSAPrivateKey(
51
- // pem: string,
52
- // algorithm: SignAlgorithm,
53
- // ): Promise<CryptoKey> {
54
- // const base64Key = pem
55
- // .replace(/-----BEGIN RSA PRIVATE KEY-----/, '')
56
- // .replace(/-----END RSA PRIVATE KEY-----/, '')
57
- // .replace(/\s+/g, ''); // Remove spaces and newlines
58
- // const binaryKey = Uint8Array.from(atob(base64Key), (c) => c.charCodeAt(0));
59
- // return crypto.subtle.importKey(
60
- // 'pkcs8',
61
- // binaryKey.buffer,
62
- // { name: 'RSASSA-PKCS1-v1_5', hash: { name: algorithm } },
63
- // false,
64
- // ['sign'],
65
- // );
66
- // }
67
41
  function importKey(pem, type, algorithm, encoder) {
68
42
  return __awaiter(this, void 0, void 0, function* () {
69
43
  switch (type) {
70
44
  case 'Ed25519':
71
45
  case 'RSASSA-PKCS1-v1_5': {
72
- const prefix = type === 'Ed25519'
73
- ? /-----BEGIN PRIVATE KEY-----/
74
- : /-----BEGIN RSA PRIVATE KEY-----/;
75
- const suffix = type === 'Ed25519'
76
- ? /-----END PRIVATE KEY-----/
77
- : /-----END RSA PRIVATE KEY-----/;
78
- const base64Key = pem
79
- .replace(prefix, '')
80
- .replace(suffix, '')
81
- .replace(/\s+/g, ''); // Remove spaces and newlines
46
+ // const prefixRSA = /-----BEGIN RSA PRIVATE KEY-----/;
47
+ // const prefixEd25519 = /-----BEGIN PRIVATE KEY-----/;
48
+ // const suffixRSA = /-----END RSA PRIVATE KEY-----/;
49
+ // const suffixEd25519 = /-----END PRIVATE KEY-----/;
50
+ // const base64Key = pem
51
+ // .replace(prefixEd25519, '')
52
+ // .replace(prefixRSA, '')
53
+ // .replace(suffixEd25519, '')
54
+ // .replace(suffixRSA, '')
55
+ // .replace(/\s+/g, ''); // Remove spaces and newlines
56
+ const base64Key = pem.replace(/(?:-----BEGIN RSA PRIVATE KEY-----|-----BEGIN PRIVATE KEY-----|-----END RSA PRIVATE KEY-----|-----END PRIVATE KEY-----|\s+)/g, '');
82
57
  const binaryKey = Uint8Array.from(atob(base64Key), (c) => c.charCodeAt(0));
83
58
  return crypto.subtle.importKey('pkcs8', binaryKey.buffer, { name: type, hash: { name: algorithm } }, false, ['sign']);
84
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webCryptoAPI.js","sourceRoot":"","sources":["../../src/util/webCryptoAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webCryptoAPI.js","sourceRoot":"","sources":["../../src/util/webCryptoAPI.ts"],"names":[],"mappings":"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"}