binance 3.0.0-beta.0 → 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 -4
  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
@@ -1,12 +1,12 @@
1
1
  import { AxiosRequestConfig } from 'axios';
2
2
  import { FundingRate } from './types/coin';
3
- import { AggregateFuturesTrade, Basis, BasisParams, CancelAllOpenOrdersResult, CancelFuturesOrderResult, CancelMultipleOrdersParams, CancelOrdersTimeoutParams, ChangeStats24hr, ContinuousContractKlinesParams, ForceOrderResult, FundingRateHistory, FuturesAccountBalance, FuturesAccountConfig, FuturesAccountInformation, FuturesConvertOrderStatus, FuturesConvertPair, FuturesConvertQuote, FuturesConvertQuoteRequest, FuturesDataPaginatedParams, FuturesExchangeInfo, FuturesOrderBook, FuturesPosition, FuturesPositionTrade, FuturesPositionV3, FuturesSymbolOrderBookTicker, FuturesTradeHistoryDownloadId, FuturesTransactionDownloadLink, GetForceOrdersParams, GetFuturesOrderModifyHistoryParams, GetIncomeHistoryParams, GetPositionMarginChangeHistoryParams, HistoricOpenInterest, IncomeHistory, IndexPriceConstituents, IndexPriceKlinesParams, MarkPrice, ModeChangeResult, ModifyFuturesOrderParams, ModifyFuturesOrderResult, ModifyOrderParams, MultiAssetModeResponse, MultiAssetsMode, NewFuturesOrderParams, NewOrderError, NewOrderResult, OpenInterest, OrderResult, PortfolioMarginProAccountInfo, PositionModeParams, PositionModeResponse, QuarterlyContractSettlementPrice, RawFuturesTrade, RebateDataOverview, SetCancelTimeoutResult, SetIsolatedMarginParams, SetIsolatedMarginResult, SetLeverageParams, SetLeverageResult, SetMarginTypeParams, SymbolConfig, SymbolKlinePaginatedParams, SymbolLeverageBracketsResult, UserCommissionRate, UserForceOrder } from './types/futures';
3
+ import { AggregateFuturesTrade, Basis, BasisParams, CancelAllOpenOrdersResult, CancelFuturesOrderResult, CancelMultipleOrdersParams, CancelOrdersTimeoutParams, ChangeStats24hr, ContinuousContractKlinesParams, ForceOrderResult, FundingRateHistory, FuturesAccountBalance, FuturesAccountConfig, FuturesAccountInformation, FuturesConvertOrderStatus, FuturesConvertPair, FuturesConvertQuote, FuturesConvertQuoteRequest, FuturesDataPaginatedParams, FuturesExchangeInfo, FuturesOrderBook, FuturesPosition, FuturesPositionTrade, FuturesPositionV3, FuturesSymbolOrderBookTicker, FuturesTradeHistoryDownloadId, FuturesTransactionDownloadLink, GetForceOrdersParams, GetFuturesOrderModifyHistoryParams, GetIncomeHistoryParams, GetPositionMarginChangeHistoryParams, HistoricOpenInterest, IncomeHistory, IndexPriceConstituents, IndexPriceKlinesParams, InsuranceFundBalance, MarkPrice, ModeChangeResult, ModifyFuturesOrderParams, ModifyFuturesOrderResult, ModifyOrderParams, MultiAssetModeResponse, MultiAssetsMode, NewFuturesOrderParams, NewOrderError, NewOrderResult, OpenInterest, OrderResult, PortfolioMarginProAccountInfo, PositionModeParams, PositionModeResponse, QuarterlyContractSettlementPrice, RawFuturesTrade, RebateDataOverview, SetCancelTimeoutResult, SetIsolatedMarginParams, SetIsolatedMarginResult, SetLeverageParams, SetLeverageResult, SetMarginTypeParams, SymbolConfig, SymbolKlinePaginatedParams, SymbolLeverageBracketsResult, UserCommissionRate, UserForceOrder } from './types/futures';
4
4
  import { BasicSymbolPaginatedParams, BasicSymbolParam, CancelOrderParams, GenericCodeMsgError, GetAllOrdersParams, GetOrderParams, HistoricalTradesParams, Kline, KlinesParams, numberInString, OrderBookParams, RecentTradesParams, SymbolFromPaginatedRequestFromId, SymbolPrice } from './types/shared';
5
5
  import BaseRestClient from './util/BaseRestClient';
6
6
  import { RestClientOptions } from './util/requestUtils';
7
7
  export declare class USDMClient extends BaseRestClient {
8
8
  private clientId;
9
- constructor(restClientOptions?: RestClientOptions, requestOptions?: AxiosRequestConfig, useTestnet?: boolean);
9
+ constructor(restClientOptions?: RestClientOptions, requestOptions?: AxiosRequestConfig);
10
10
  /**
11
11
  * Abstraction required by each client to aid with time sync / drift handling
12
12
  */
@@ -27,31 +27,43 @@ export declare class USDMClient extends BaseRestClient {
27
27
  getIndexPriceKlines(params: IndexPriceKlinesParams): Promise<Kline[]>;
28
28
  getMarkPriceKlines(params: SymbolKlinePaginatedParams): Promise<Kline[]>;
29
29
  getPremiumIndexKlines(params: SymbolKlinePaginatedParams): Promise<Kline[]>;
30
- getMarkPrice(params: BasicSymbolParam): Promise<MarkPrice>;
30
+ getMarkPrice(params: {
31
+ symbol: string;
32
+ }): Promise<MarkPrice>;
31
33
  getMarkPrice(): Promise<MarkPrice[]>;
32
34
  getFundingRateHistory(params?: Partial<BasicSymbolPaginatedParams>): Promise<FundingRateHistory[]>;
33
35
  getFundingRates(): Promise<FundingRate[]>;
34
- /**
35
- * @deprecated use get24hrChangeStatistics() instead (method without the typo)
36
- */
37
- get24hrChangeStatististics(params?: Partial<BasicSymbolParam>): Promise<ChangeStats24hr | ChangeStats24hr[]>;
38
- get24hrChangeStatistics(params: Partial<BasicSymbolParam>): Promise<ChangeStats24hr[]>;
39
- get24hrChangeStatistics(params?: Partial<BasicSymbolParam>): Promise<ChangeStats24hr | ChangeStats24hr[]>;
40
- get24hrChangeStatistics(params: Partial<BasicSymbolParam>): Promise<ChangeStats24hr>;
41
- getSymbolPriceTicker(params?: Partial<BasicSymbolParam>): Promise<SymbolPrice | SymbolPrice[]>;
42
- getSymbolPriceTickerV2(params?: Partial<BasicSymbolParam>): Promise<SymbolPrice | SymbolPrice[]>;
43
- getSymbolOrderBookTicker(params?: Partial<BasicSymbolParam>): Promise<FuturesSymbolOrderBookTicker | FuturesSymbolOrderBookTicker[]>;
36
+ get24hrChangeStatistics(params: {
37
+ symbol: string;
38
+ }): Promise<ChangeStats24hr>;
39
+ get24hrChangeStatistics(): Promise<ChangeStats24hr[]>;
40
+ getSymbolPriceTicker(params: {
41
+ symbol: string;
42
+ }): Promise<SymbolPrice>;
43
+ getSymbolPriceTicker(): Promise<SymbolPrice[]>;
44
+ getSymbolPriceTickerV2(params: {
45
+ symbol: string;
46
+ }): Promise<SymbolPrice>;
47
+ getSymbolPriceTickerV2(): Promise<SymbolPrice[]>;
48
+ getSymbolOrderBookTicker(params: {
49
+ symbol: string;
50
+ }): Promise<FuturesSymbolOrderBookTicker>;
51
+ getSymbolOrderBookTicker(): Promise<FuturesSymbolOrderBookTicker[]>;
44
52
  getQuarterlyContractSettlementPrices(params: {
45
53
  pair: string;
46
54
  }): Promise<QuarterlyContractSettlementPrice[]>;
47
- getOpenInterest(params: BasicSymbolParam): Promise<OpenInterest>;
55
+ getOpenInterest(params: {
56
+ symbol: string;
57
+ }): Promise<OpenInterest>;
48
58
  getOpenInterestStatistics(params: FuturesDataPaginatedParams): Promise<HistoricOpenInterest[]>;
49
59
  getTopTradersLongShortPositionRatio(params: FuturesDataPaginatedParams): Promise<any>;
50
60
  getTopTradersLongShortAccountRatio(params: FuturesDataPaginatedParams): Promise<any>;
51
61
  getGlobalLongShortAccountRatio(params: FuturesDataPaginatedParams): Promise<any>;
52
62
  getTakerBuySellVolume(params: FuturesDataPaginatedParams): Promise<any>;
53
63
  getHistoricalBlvtNavKlines(params: SymbolKlinePaginatedParams): Promise<any>;
54
- getCompositeSymbolIndex(params?: Partial<BasicSymbolParam>): Promise<any>;
64
+ getCompositeSymbolIndex(params?: {
65
+ symbol?: string;
66
+ }): Promise<any>;
55
67
  getMultiAssetsModeAssetIndex(params?: {
56
68
  symbol?: string;
57
69
  }): Promise<any>;
@@ -59,12 +71,12 @@ export declare class USDMClient extends BaseRestClient {
59
71
  * Possibly @deprecated, found only in old docs
60
72
  **/
61
73
  getBasis(params: BasisParams): Promise<Basis[]>;
62
- /**
63
- * Possibly @deprecated, found only in old docs
64
- **/
65
74
  getIndexPriceConstituents(params: {
66
75
  symbol: string;
67
76
  }): Promise<IndexPriceConstituents>;
77
+ getInsuranceFundBalance(params?: {
78
+ symbol?: string;
79
+ }): Promise<InsuranceFundBalance | InsuranceFundBalance[]>;
68
80
  /**
69
81
  *
70
82
  * TRADE endpoints - Rest API
@@ -93,7 +105,9 @@ export declare class USDMClient extends BaseRestClient {
93
105
  setCancelOrdersOnTimeout(params: CancelOrdersTimeoutParams): Promise<SetCancelTimeoutResult>;
94
106
  getOrder(params: GetOrderParams): Promise<OrderResult>;
95
107
  getAllOrders(params: GetAllOrdersParams): Promise<OrderResult[]>;
96
- getAllOpenOrders(params?: Partial<BasicSymbolParam>): Promise<OrderResult[]>;
108
+ getAllOpenOrders(params?: {
109
+ symbol?: string;
110
+ }): Promise<OrderResult[]>;
97
111
  getCurrentOpenOrder(params: GetOrderParams): Promise<OrderResult>;
98
112
  getForceOrders(params?: GetForceOrdersParams): Promise<ForceOrderResult[]>;
99
113
  getAccountTrades(params: SymbolFromPaginatedRequestFromId & {
@@ -114,7 +128,9 @@ export declare class USDMClient extends BaseRestClient {
114
128
  getPositionsV3(params?: {
115
129
  symbol?: string;
116
130
  }): Promise<FuturesPositionV3[]>;
117
- getADLQuantileEstimation(params?: Partial<BasicSymbolParam>): Promise<any>;
131
+ getADLQuantileEstimation(params?: {
132
+ symbol?: string;
133
+ }): Promise<any>;
118
134
  getPositionMarginChangeHistory(params: GetPositionMarginChangeHistoryParams): Promise<any>;
119
135
  /**
120
136
  *
@@ -133,11 +149,9 @@ export declare class USDMClient extends BaseRestClient {
133
149
  * Use getAccountInformationV3() instead
134
150
  **/
135
151
  getAccountInformation(): Promise<FuturesAccountInformation>;
136
- /**
137
- * @deprecated Please use `getAccountCommissionRate()` instead. This will be removed in the next major release.
138
- */
139
- getAccountComissionRate(params: BasicSymbolParam): Promise<UserCommissionRate>;
140
- getAccountCommissionRate(params: BasicSymbolParam): Promise<UserCommissionRate>;
152
+ getAccountCommissionRate(params: {
153
+ symbol: string;
154
+ }): Promise<UserCommissionRate>;
141
155
  getFuturesAccountConfig(): Promise<FuturesAccountConfig>;
142
156
  getFuturesSymbolConfig(params: {
143
157
  symbol?: string;
@@ -146,11 +160,15 @@ export declare class USDMClient extends BaseRestClient {
146
160
  /**
147
161
  * Contrary to what the docs say - if symbol is provided, this returns an array with length 1 (assuming the symbol exists)
148
162
  */
149
- getNotionalAndLeverageBrackets(params?: Partial<BasicSymbolParam>): Promise<SymbolLeverageBracketsResult[]>;
163
+ getNotionalAndLeverageBrackets(params?: {
164
+ symbol?: string;
165
+ }): Promise<SymbolLeverageBracketsResult[]>;
150
166
  getMultiAssetsMode(): Promise<MultiAssetModeResponse>;
151
167
  getCurrentPositionMode(): Promise<PositionModeResponse>;
152
168
  getIncomeHistory(params?: GetIncomeHistoryParams): Promise<IncomeHistory[]>;
153
- getApiQuantitativeRulesIndicators(params?: Partial<BasicSymbolParam>): Promise<any>;
169
+ getApiQuantitativeRulesIndicators(params?: {
170
+ symbol?: string;
171
+ }): Promise<any>;
154
172
  getFuturesTransactionHistoryDownloadId(params: {
155
173
  startTime: number;
156
174
  endTime: number;
@@ -16,10 +16,10 @@ exports.USDMClient = void 0;
16
16
  const BaseRestClient_1 = __importDefault(require("./util/BaseRestClient"));
17
17
  const requestUtils_1 = require("./util/requestUtils");
18
18
  class USDMClient extends BaseRestClient_1.default {
19
- constructor(restClientOptions = {}, requestOptions = {}, useTestnet) {
20
- const clientId = useTestnet ? 'usdmtest' : 'usdm';
21
- super(clientId, restClientOptions, requestOptions);
22
- this.clientId = clientId;
19
+ constructor(restClientOptions = {}, requestOptions = {}) {
20
+ const baseUrlKey = restClientOptions.testnet ? 'usdmtest' : 'usdm';
21
+ super(baseUrlKey, restClientOptions, requestOptions);
22
+ this.clientId = baseUrlKey;
23
23
  return this;
24
24
  }
25
25
  /**
@@ -77,12 +77,6 @@ class USDMClient extends BaseRestClient_1.default {
77
77
  getFundingRates() {
78
78
  return this.get('fapi/v1/fundingInfo');
79
79
  }
80
- /**
81
- * @deprecated use get24hrChangeStatistics() instead (method without the typo)
82
- */
83
- get24hrChangeStatististics(params) {
84
- return this.get24hrChangeStatistics(params);
85
- }
86
80
  get24hrChangeStatistics(params) {
87
81
  return this.get('fapi/v1/ticker/24hr', params);
88
82
  }
@@ -131,12 +125,12 @@ class USDMClient extends BaseRestClient_1.default {
131
125
  getBasis(params) {
132
126
  return this.get('futures/data/basis', params);
133
127
  }
134
- /**
135
- * Possibly @deprecated, found only in old docs
136
- **/
137
128
  getIndexPriceConstituents(params) {
138
129
  return this.get('fapi/v1/constituents', params);
139
130
  }
131
+ getInsuranceFundBalance(params) {
132
+ return this.get('fapi/v1/insuranceBalance', params);
133
+ }
140
134
  /**
141
135
  *
142
136
  * TRADE endpoints - Rest API
@@ -283,12 +277,6 @@ class USDMClient extends BaseRestClient_1.default {
283
277
  getAccountInformation() {
284
278
  return this.getPrivate('fapi/v2/account');
285
279
  }
286
- /**
287
- * @deprecated Please use `getAccountCommissionRate()` instead. This will be removed in the next major release.
288
- */
289
- getAccountComissionRate(params) {
290
- return this.getPrivate('fapi/v1/commissionRate', params);
291
- }
292
280
  getAccountCommissionRate(params) {
293
281
  return this.getPrivate('fapi/v1/commissionRate', params);
294
282
  }
@@ -1 +1 @@
1
- {"version":3,"file":"usdm-client.js","sourceRoot":"","sources":["../src/usdm-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usdm-client.js","sourceRoot":"","sources":["../src/usdm-client.ts"],"names":[],"mappings":"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"}
@@ -13,32 +13,46 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const axios_1 = __importDefault(require("axios"));
16
+ const https_1 = __importDefault(require("https"));
16
17
  const beautifier_1 = __importDefault(require("./beautifier"));
17
18
  const requestUtils_1 = require("./requestUtils");
18
19
  class BaseRestClient {
19
20
  constructor(baseUrlKey, options = {}, requestOptions = {}) {
21
+ var _a, _b;
20
22
  this.timeOffset = 0;
21
- this.options = Object.assign({ recvWindow: 5000,
23
+ this.options = Object.assign(Object.assign({ recvWindow: 5000,
22
24
  // how often to sync time drift with binance servers
23
25
  syncIntervalMs: 3600000,
24
26
  // if true, we'll throw errors if any params are undefined
25
27
  strictParamValidation: false,
26
28
  // disable the time sync mechanism by default
27
- disableTimeSync: true }, options);
29
+ disableTimeSync: true }, options), { api_key: (_a = options === null || options === void 0 ? void 0 : options.api_key) === null || _a === void 0 ? void 0 : _a.replace(/\\n/g, '\n'), api_secret: (_b = options === null || options === void 0 ? void 0 : options.api_secret) === null || _b === void 0 ? void 0 : _b.replace(/\\n/g, '\n') });
28
30
  this.globalRequestOptions = Object.assign({
29
31
  // in ms == 5 minutes by default
30
32
  timeout: 1000 * 60 * 5, headers: {
31
33
  // 'content-type': 'application/x-www-form-urlencoded';
32
34
  } }, requestOptions);
33
- this.key = options.api_key;
34
- this.secret = options.api_secret;
35
+ // If enabled, configure a https agent with keepAlive enabled
36
+ if (this.options.keepAlive) {
37
+ // For more advanced configuration, raise an issue on GitHub or use the "networkOptions"
38
+ // parameter to define a custom httpsAgent with the desired properties
39
+ this.globalRequestOptions.httpsAgent = new https_1.default.Agent({
40
+ keepAlive: true,
41
+ keepAliveMsecs: this.options.keepAliveMsecs,
42
+ });
43
+ }
44
+ this.key = this.options.api_key;
45
+ this.secret = this.options.api_secret;
35
46
  if (this.key) {
36
47
  if (!this.globalRequestOptions.headers) {
37
48
  this.globalRequestOptions.headers = {};
38
49
  }
39
50
  this.globalRequestOptions.headers['X-MBX-APIKEY'] = this.key;
40
51
  }
41
- this.baseUrlKey = this.options.baseUrlKey || baseUrlKey;
52
+ const derivedBaseUrlKey = this.options.baseUrlKey || baseUrlKey;
53
+ this.baseUrlKey = options.testnet
54
+ ? (0, requestUtils_1.getTestnetBaseUrlKey)(derivedBaseUrlKey)
55
+ : derivedBaseUrlKey;
42
56
  this.baseUrl = (0, requestUtils_1.getRestBaseUrl)(this.baseUrlKey, this.options);
43
57
  if (this.key && !this.secret) {
44
58
  throw new Error('API Key & Secret are both required for private enpoints');
@@ -114,7 +128,7 @@ class BaseRestClient {
114
128
  throw new Error('Private endpoints require api and private keys to be set');
115
129
  }
116
130
  // Handles serialisation of params into query string (url?key1=value1&key2=value2), handles encoding of values, adds timestamp and signature to request.
117
- const { serialisedParams, signature, requestBody } = yield (0, requestUtils_1.getRequestSignature)(params, this.key, this.secret, this.options.recvWindow, timestamp, this.options.strictParamValidation, this.options.filterUndefinedParams);
131
+ const { serialisedParams, signature, requestBody } = yield (0, requestUtils_1.getRequestSignature)(params, this.options, this.key, this.secret, timestamp);
118
132
  const baseUrl = baseUrlOverride || this.baseUrl;
119
133
  const options = Object.assign(Object.assign({}, this.globalRequestOptions), { url: [baseUrl, endpoint].join('/'), method: method, json: true });
120
134
  if (isPrivate) {
@@ -1 +1 @@
1
- {"version":3,"file":"BaseRestClient.js","sourceRoot":"","sources":["../../src/util/BaseRestClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseRestClient.js","sourceRoot":"","sources":["../../src/util/BaseRestClient.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
1
  import EventEmitter from 'events';
2
2
  import WebSocket from 'isomorphic-ws';
3
3
  import { WsOperation } from '../types/websockets/ws-api';
4
+ import { WsFormattedMessage, WsUserDataEvents } from '../types/websockets/ws-events-formatted';
5
+ import { WsRawMessage } from '../types/websockets/ws-events-raw';
4
6
  import { MessageEventLike, WebsocketClientOptions, WSClientConfigurableOptions } from '../types/websockets/ws-general';
5
7
  import { DefaultLogger } from './logger';
6
8
  import { WsTopicRequest, WsTopicRequestOrStringTopic } from './websockets/websocket-util';
7
9
  import { WsStore } from './websockets/WsStore';
8
10
  import { WSConnectedResult } from './websockets/WsStore.types';
9
- import { WsFormattedMessage, WsUserDataEvents } from '../types/websockets/ws-events-formatted';
10
- import { WsRawMessage } from '../types/websockets/ws-events-raw';
11
11
  type UseTheExceptionEventInstead = never;
12
+ type UseTheResponseEventInstead = never;
12
13
  interface WSClientEventMap<WsKey extends string> {
13
14
  /** Connection opened. If this connection was previously opened and reconnected, expect the reconnected event instead */
14
15
  open: (evt: {
@@ -34,6 +35,10 @@ interface WSClientEventMap<WsKey extends string> {
34
35
  wsKey: WsKey;
35
36
  event: any;
36
37
  }) => void;
38
+ /**
39
+ * @deprecated Use the 'response' event instead.
40
+ */
41
+ reply: UseTheResponseEventInstead;
37
42
  /** Received reply to websocket command (e.g. after subscribing to topics) */
38
43
  response: (response: any & {
39
44
  wsKey: WsKey;
@@ -93,10 +98,14 @@ TWSKey extends string, TWSRequestEvent extends object> extends EventEmitter {
93
98
  * State store to track a list of topics (topic requests) we are expected to be subscribed to if reconnected
94
99
  */
95
100
  private wsStore;
96
- protected logger: typeof DefaultLogger;
101
+ logger: typeof DefaultLogger;
97
102
  protected options: WebsocketClientOptions;
98
103
  private wsApiRequestId;
99
104
  private timeOffsetMs;
105
+ /**
106
+ * { [wsKey]: { [requestId]: request } }
107
+ */
108
+ private midflightRequestCache;
100
109
  constructor(options?: WSClientConfigurableOptions, logger?: typeof DefaultLogger);
101
110
  /**
102
111
  * Return true if this wsKey connection should automatically authenticate immediately after connecting
@@ -198,6 +207,8 @@ TWSKey extends string, TWSRequestEvent extends object> extends EventEmitter {
198
207
  * @private Use the `unsubscribe(topics)` method to unsubscribe from topics. Send WS message to unsubscribe from topics.
199
208
  */
200
209
  private requestUnsubscribeTopics;
210
+ getCachedMidFlightRequest(wsKey: TWSKey, requestKey: string): TWSRequestEvent | undefined;
211
+ removeCachedMidFlightRequest(wsKey: TWSKey, requestKey: string): void;
201
212
  /**
202
213
  * Try sending a string event on a WS connection (identified by the WS Key)
203
214
  */
@@ -42,8 +42,16 @@ function getFinalEmittable(emittable, wsKey, isWSAPIResponse) {
42
42
  return emittable.map((subEvent) => getFinalEmittable(subEvent, wsKey, isWSAPIResponse));
43
43
  }
44
44
  if (Array.isArray(emittable.event)) {
45
- const { event } = emittable, others = __rest(emittable, ["event"]);
46
- return Object.assign(Object.assign({}, others), { event: event.map((subEvent) => getFinalEmittable(subEvent, wsKey, isWSAPIResponse)) });
45
+ // Some topics just emit an array.
46
+ // This is consistent with how it was before the WS API upgrade:
47
+ return emittable.event.map((subEvent) => getFinalEmittable(subEvent, wsKey, isWSAPIResponse));
48
+ // const { event, ...others } = emittable;
49
+ // return {
50
+ // ...others,
51
+ // event: event.map((subEvent) =>
52
+ // getFinalEmittable(subEvent, wsKey, isWSAPIResponse),
53
+ // ),
54
+ // };
47
55
  }
48
56
  if (emittable.event) {
49
57
  return Object.assign(Object.assign({}, emittable.event), { wsKey: wsKey, isWSAPIResponse: !!isWSAPIResponse });
@@ -56,18 +64,21 @@ function getFinalEmittable(emittable, wsKey, isWSAPIResponse) {
56
64
  // eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging
57
65
  class BaseWebsocketClient extends events_1.default {
58
66
  constructor(options, logger) {
67
+ var _a, _b;
59
68
  super();
60
69
  this.wsApiRequestId = 0;
61
70
  this.timeOffsetMs = 0;
71
+ /**
72
+ * { [wsKey]: { [requestId]: request } }
73
+ */
74
+ this.midflightRequestCache = {};
62
75
  this.logger = logger || logger_1.DefaultLogger;
63
76
  this.wsStore = new WsStore_1.WsStore(this.logger);
64
- this.options = Object.assign({
65
- // Some defaults:
66
- testnet: false, pongTimeout: 5000, pingInterval: 10000, reconnectTimeout: 500, recvWindow: 5000,
77
+ this.options = Object.assign(Object.assign({ pongTimeout: 5000, pingInterval: 10000, reconnectTimeout: 500, recvWindow: 5000,
67
78
  // Automatically send an authentication op/request after a connection opens, for private connections.
68
79
  authPrivateConnectionsOnConnect: true,
69
80
  // Individual requests do not require a signature, so this is disabled.
70
- authPrivateRequests: false }, options);
81
+ authPrivateRequests: false }, options), { api_key: (_a = options === null || options === void 0 ? void 0 : options.api_key) === null || _a === void 0 ? void 0 : _a.replace(/\\n/g, '\n'), api_secret: (_b = options === null || options === void 0 ? void 0 : options.api_secret) === null || _b === void 0 ? void 0 : _b.replace(/\\n/g, '\n') });
71
82
  }
72
83
  isPrivateWsKey(wsKey) {
73
84
  return this.getPrivateWSKeys().includes(wsKey);
@@ -230,7 +241,6 @@ class BaseWebsocketClient extends events_1.default {
230
241
  const url = customUrl || (yield this.getWsUrl(wsKey));
231
242
  const ws = this.connectToWsUrl(url, wsKey);
232
243
  this.wsStore.setWs(wsKey, ws);
233
- return (_b = this.wsStore.getConnectionInProgressPromise(wsKey)) === null || _b === void 0 ? void 0 : _b.promise;
234
244
  }
235
245
  catch (err) {
236
246
  this.parseWsError('Connection failed', err, wsKey);
@@ -239,6 +249,7 @@ class BaseWebsocketClient extends events_1.default {
239
249
  throw err;
240
250
  }
241
251
  }
252
+ return (_b = this.wsStore.getConnectionInProgressPromise(wsKey)) === null || _b === void 0 ? void 0 : _b.promise;
242
253
  });
243
254
  }
244
255
  connectToWsUrl(url, wsKey) {
@@ -334,6 +345,7 @@ class BaseWebsocketClient extends events_1.default {
334
345
  this.wsStore.delete(wsKey);
335
346
  return this.triggerCustomReconnectionWorkflow(wsKey);
336
347
  }
348
+ // TODO: , saw a hang here, why? how? traces??
337
349
  this.logger.info('Reconnecting to websocket now', Object.assign(Object.assign({}, websocket_util_1.WS_LOGGER_CATEGORY), { wsKey }));
338
350
  this.connect(wsKey);
339
351
  }, connectionDelayMs);
@@ -453,8 +465,20 @@ class BaseWebsocketClient extends events_1.default {
453
465
  // console.log(`batches: `, JSON.stringify(subscribeWsMessages, null, 2));
454
466
  for (const midflightRequest of subscribeWsMessages) {
455
467
  const wsMessage = midflightRequest.requestEvent;
456
- this.logger.trace(`Sending batch via message: "${JSON.stringify(wsMessage)}"`);
457
- this.tryWsSend(wsKey, JSON.stringify(wsMessage));
468
+ if (!this.midflightRequestCache[wsKey]) {
469
+ this.midflightRequestCache[wsKey] = {};
470
+ }
471
+ // Cache the request for this call, so we can enrich the response with request info
472
+ this.midflightRequestCache[wsKey][midflightRequest.requestKey] =
473
+ midflightRequest.requestEvent;
474
+ this.logger.trace(`Sending batch via message: "${JSON.stringify(wsMessage)}", cached with key "${midflightRequest.requestKey}"`);
475
+ try {
476
+ this.tryWsSend(wsKey, JSON.stringify(wsMessage), true);
477
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
478
+ }
479
+ catch (e) {
480
+ delete this.midflightRequestCache[wsKey][midflightRequest.requestKey];
481
+ }
458
482
  }
459
483
  this.logger.trace(`Finished subscribing to ${wsTopicRequests.length} "${wsKey}" topics in ${subscribeWsMessages.length} batches.`);
460
484
  });
@@ -473,12 +497,35 @@ class BaseWebsocketClient extends events_1.default {
473
497
  this.logger.trace(`Unsubscribing to ${wsTopicRequests.length} "${wsKey}" topics in ${subscribeWsMessages.length} batches. Events: "${JSON.stringify(wsTopicRequests)}"`);
474
498
  for (const midflightRequest of subscribeWsMessages) {
475
499
  const wsMessage = midflightRequest.requestEvent;
500
+ if (!this.midflightRequestCache[wsKey]) {
501
+ this.midflightRequestCache[wsKey] = {};
502
+ }
503
+ // Cache the request for this call, so we can enrich the response with request info
504
+ this.midflightRequestCache[wsKey][midflightRequest.requestKey] =
505
+ midflightRequest.requestEvent;
476
506
  this.logger.trace(`Sending batch via message: "${wsMessage}"`);
477
- this.tryWsSend(wsKey, JSON.stringify(wsMessage));
507
+ try {
508
+ this.tryWsSend(wsKey, JSON.stringify(wsMessage));
509
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
510
+ }
511
+ catch (e) {
512
+ delete this.midflightRequestCache[wsKey][midflightRequest.requestKey];
513
+ }
478
514
  }
479
515
  this.logger.trace(`Finished unsubscribing to ${wsTopicRequests.length} "${wsKey}" topics in ${subscribeWsMessages.length} batches.`);
480
516
  });
481
517
  }
518
+ getCachedMidFlightRequest(wsKey, requestKey) {
519
+ if (!this.midflightRequestCache[wsKey]) {
520
+ this.midflightRequestCache[wsKey] = {};
521
+ }
522
+ return this.midflightRequestCache[wsKey][requestKey];
523
+ }
524
+ removeCachedMidFlightRequest(wsKey, requestKey) {
525
+ if (this.getCachedMidFlightRequest(wsKey, requestKey)) {
526
+ delete this.midflightRequestCache[wsKey][requestKey];
527
+ }
528
+ }
482
529
  /**
483
530
  * Try sending a string event on a WS connection (identified by the WS Key)
484
531
  */
@@ -508,11 +555,11 @@ class BaseWebsocketClient extends events_1.default {
508
555
  const isFreshConnectionAttempt = this.wsStore.isConnectionState(wsKey, WsStore_types_1.WsConnectionStateEnum.CONNECTING);
509
556
  const isReconnectionAttempt = this.wsStore.isConnectionState(wsKey, WsStore_types_1.WsConnectionStateEnum.RECONNECTING);
510
557
  if (isFreshConnectionAttempt) {
511
- this.logger.info('Websocket connected', Object.assign(Object.assign({}, websocket_util_1.WS_LOGGER_CATEGORY), { wsKey, testnet: this.options.testnet === true }));
558
+ this.logger.info('Websocket connected', Object.assign(Object.assign({}, websocket_util_1.WS_LOGGER_CATEGORY), { wsKey }));
512
559
  this.emit('open', { wsKey, event, wsUrl: url, ws });
513
560
  }
514
561
  else if (isReconnectionAttempt) {
515
- this.logger.info('Websocket reconnected', Object.assign(Object.assign({}, websocket_util_1.WS_LOGGER_CATEGORY), { wsKey, testnet: this.options.testnet === true }));
562
+ this.logger.info('Websocket reconnected', Object.assign(Object.assign({}, websocket_util_1.WS_LOGGER_CATEGORY), { wsKey }));
516
563
  this.emit('reconnected', { wsKey, event, wsUrl: url, ws });
517
564
  }
518
565
  this.setWsState(wsKey, WsStore_types_1.WsConnectionStateEnum.CONNECTED);
@@ -605,9 +652,6 @@ class BaseWebsocketClient extends events_1.default {
605
652
  this.logger.error('Unhandled/unrecognised ws event message - returned no emittable data', Object.assign(Object.assign({}, websocket_util_1.WS_LOGGER_CATEGORY), { message: data || 'no message', dataType,
606
653
  event,
607
654
  wsKey }));
608
- // TODO: type guard refinement
609
- // TODO: test book ticker, diff book depth and partial book depth (see appendEventIfMissing)
610
- // TODO: append wsMarket?
611
655
  return this.emit('message', Object.assign(Object.assign({}, event), { wsKey }));
612
656
  }
613
657
  for (const emittable of emittableEvents) {
@@ -633,7 +677,20 @@ class BaseWebsocketClient extends events_1.default {
633
677
  continue;
634
678
  }
635
679
  // Other event types are automatically emitted here
636
- this.emit(emittable.eventType, emittableFinalEvent);
680
+ // this.logger.trace(
681
+ // `onWsMessage().emit(${emittable.eventType})`,
682
+ // emittableFinalEvent,
683
+ // );
684
+ try {
685
+ this.emit(emittable.eventType, emittableFinalEvent);
686
+ }
687
+ catch (e) {
688
+ this.logger.error(`Exception in onWsMessage().emit(${emittable.eventType}) handler:`, e);
689
+ }
690
+ // this.logger.trace(
691
+ // `onWsMessage().emit(${emittable.eventType}).done()`,
692
+ // emittableFinalEvent,
693
+ // );
637
694
  }
638
695
  return;
639
696
  }
@@ -647,7 +704,6 @@ class BaseWebsocketClient extends events_1.default {
647
704
  }
648
705
  onWsClose(event, wsKey) {
649
706
  this.logger.info('Websocket connection closed', Object.assign(Object.assign({}, websocket_util_1.WS_LOGGER_CATEGORY), { wsKey }));
650
- // todo:
651
707
  const wsState = this.wsStore.get(wsKey, true);
652
708
  wsState.isAuthenticated = false;
653
709
  if (this.wsStore.getConnectionState(wsKey) !== WsStore_types_1.WsConnectionStateEnum.CLOSING) {
@@ -678,20 +734,21 @@ class BaseWebsocketClient extends events_1.default {
678
734
  assertIsConnected(wsKey) {
679
735
  return __awaiter(this, void 0, void 0, function* () {
680
736
  const isConnected = this.getWsStore().isConnectionState(wsKey, WsStore_types_1.WsConnectionStateEnum.CONNECTED);
681
- if (!isConnected) {
682
- const inProgressPromise = this.getWsStore().getConnectionInProgressPromise(wsKey);
683
- // Already in progress? Await shared promise and retry
684
- if (inProgressPromise) {
685
- this.logger.trace('assertIsConnected(): awaiting...');
686
- yield inProgressPromise.promise;
687
- this.logger.trace('assertIsConnected(): connected!');
688
- return inProgressPromise.promise;
689
- }
690
- // Start connection, it should automatically store/return a promise.
691
- this.logger.trace('assertIsConnected(): connecting...');
692
- yield this.connect(wsKey);
693
- this.logger.trace('assertIsConnected(): newly connected!');
737
+ if (isConnected) {
738
+ return true;
739
+ }
740
+ const inProgressPromise = this.getWsStore().getConnectionInProgressPromise(wsKey);
741
+ // Already in progress? Await shared promise and retry
742
+ if (inProgressPromise) {
743
+ this.logger.trace('assertIsConnected(): awaiting...');
744
+ yield inProgressPromise.promise;
745
+ this.logger.trace('assertIsConnected(): awaiting...connected!');
746
+ return inProgressPromise.promise;
694
747
  }
748
+ // Start connection, it should automatically store/return a promise.
749
+ this.logger.trace('assertIsConnected(): connecting...');
750
+ yield this.connect(wsKey);
751
+ this.logger.trace('assertIsConnected(): connecting...newly connected!');
695
752
  });
696
753
  }
697
754
  /**