bybit-api 2.1.10 → 2.2.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.
Files changed (42) hide show
  1. package/lib/constants/enum.d.ts +30 -0
  2. package/lib/constants/enum.js +31 -1
  3. package/lib/constants/enum.js.map +1 -1
  4. package/lib/index.d.ts +10 -10
  5. package/lib/inverse-client.d.ts +69 -58
  6. package/lib/inverse-client.js +109 -71
  7. package/lib/inverse-client.js.map +1 -1
  8. package/lib/inverse-futures-client.d.ts +85 -50
  9. package/lib/inverse-futures-client.js +124 -50
  10. package/lib/inverse-futures-client.js.map +1 -1
  11. package/lib/linear-client.d.ts +75 -45
  12. package/lib/linear-client.js +113 -42
  13. package/lib/linear-client.js.map +1 -1
  14. package/lib/logger.js +1 -1
  15. package/lib/spot-client.d.ts +22 -23
  16. package/lib/spot-client.js +15 -16
  17. package/lib/spot-client.js.map +1 -1
  18. package/lib/types/shared.d.ts +7 -3
  19. package/lib/types/spot.d.ts +15 -0
  20. package/lib/util/BaseRestClient.d.ts +13 -9
  21. package/lib/util/BaseRestClient.js +65 -27
  22. package/lib/util/BaseRestClient.js.map +1 -1
  23. package/lib/util/WsStore.d.ts +2 -3
  24. package/lib/util/WsStore.js +3 -3
  25. package/lib/util/WsStore.js.map +1 -1
  26. package/lib/util/browser-support.js +3 -2
  27. package/lib/util/browser-support.js.map +1 -1
  28. package/lib/util/node-support.js +1 -4
  29. package/lib/util/node-support.js.map +1 -1
  30. package/lib/util/requestUtils.d.ts +8 -1
  31. package/lib/util/requestUtils.js +22 -10
  32. package/lib/util/requestUtils.js.map +1 -1
  33. package/lib/websocket-client.d.ts +2 -1
  34. package/lib/websocket-client.js +54 -36
  35. package/lib/websocket-client.js.map +1 -1
  36. package/package.json +1 -1
  37. package/lib/shared-endpoints.d.ts +0 -48
  38. package/lib/shared-endpoints.js +0 -91
  39. package/lib/shared-endpoints.js.map +0 -1
  40. package/lib/util/requestWrapper.d.ts +0 -37
  41. package/lib/util/requestWrapper.js +0 -154
  42. package/lib/util/requestWrapper.js.map +0 -1
@@ -26,33 +26,30 @@ class SpotClient extends BaseRestClient_1.default {
26
26
  * @param {AxiosRequestConfig} [requestOptions={}] HTTP networking options for axios
27
27
  */
28
28
  constructor(key, secret, useLivenet = false, restClientOptions = {}, requestOptions = {}) {
29
- super(key, secret, requestUtils_1.getRestBaseUrl(useLivenet, restClientOptions), restClientOptions, requestOptions);
30
- // this.requestWrapper = new RequestWrapper(
31
- // key,
32
- // secret,
33
- // getRestBaseUrl(useLivenet, restClientOptions),
34
- // restClientOptions,
35
- // requestOptions
36
- // );
29
+ super(key, secret, requestUtils_1.getRestBaseUrl(useLivenet, restClientOptions), restClientOptions, requestOptions, requestUtils_1.REST_CLIENT_TYPE_ENUM.spot);
37
30
  return this;
38
31
  }
39
- getServerTime(urlKeyOverride) {
32
+ fetchServerTime() {
33
+ return this.getServerTime();
34
+ }
35
+ getServerTime() {
40
36
  return __awaiter(this, void 0, void 0, function* () {
41
- const result = yield this.get('/spot/v1/time');
42
- return result.serverTime;
37
+ const res = yield this.get('/spot/v1/time');
38
+ return res.result.serverTime;
43
39
  });
44
40
  }
45
41
  /**
46
42
  *
47
43
  * Market Data Endpoints
48
44
  *
49
- **/
45
+ **/
50
46
  getSymbols() {
51
47
  return this.get('/spot/v1/symbols');
52
48
  }
53
49
  getOrderBook(symbol, limit) {
54
50
  return this.get('/spot/quote/v1/depth', {
55
- symbol, limit
51
+ symbol,
52
+ limit,
56
53
  });
57
54
  }
58
55
  getMergedOrderBook(symbol, scale, limit) {
@@ -63,7 +60,7 @@ class SpotClient extends BaseRestClient_1.default {
63
60
  });
64
61
  }
65
62
  getTrades(symbol, limit) {
66
- return this.get('/spot/v1/trades', {
63
+ return this.get('/spot/quote/v1/trades', {
67
64
  symbol,
68
65
  limit,
69
66
  });
@@ -90,7 +87,7 @@ class SpotClient extends BaseRestClient_1.default {
90
87
  * Account Data Endpoints
91
88
  */
92
89
  submitOrder(params) {
93
- return this.postPrivate('/spot/v1/order', params);
90
+ return this.postPrivate('/spot/v1/order', Object.assign(Object.assign({}, params), { agentSource: requestUtils_1.agentSource }));
94
91
  }
95
92
  getOrder(params) {
96
93
  return this.getPrivate('/spot/v1/order', params);
@@ -99,7 +96,9 @@ class SpotClient extends BaseRestClient_1.default {
99
96
  return this.deletePrivate('/spot/v1/order', params);
100
97
  }
101
98
  cancelOrderBatch(params) {
102
- const orderTypes = params.orderTypes ? params.orderTypes.join(',') : undefined;
99
+ const orderTypes = params.orderTypes
100
+ ? params.orderTypes.join(',')
101
+ : undefined;
103
102
  return this.deletePrivate('/spot/order/batch-cancel', Object.assign(Object.assign({}, params), { orderTypes }));
104
103
  }
105
104
  getOpenOrders(symbol, orderId, limit) {
@@ -1 +1 @@
1
- {"version":3,"file":"spot-client.js","sourceRoot":"","sources":["../src/spot-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spot-client.js","sourceRoot":"","sources":["../src/spot-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AASA,2EAAmD;AACnD,sDAK6B;AAE7B,MAAa,UAAW,SAAQ,wBAAc;IAC5C;;;;;;;;OAQG;IACH,YACE,GAAwB,EACxB,MAA2B,EAC3B,aAAsB,KAAK,EAC3B,oBAAuC,EAAE,EACzC,iBAAqC,EAAE;QAEvC,KAAK,CACH,GAAG,EACH,MAAM,EACN,6BAAc,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAC7C,iBAAiB,EACjB,cAAc,EACd,oCAAqB,CAAC,IAAI,CAC3B,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IAEK,aAAa;;YACjB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC5C,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;QAC/B,CAAC;KAAA;IAED;;;;QAII;IAEJ,UAAU;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,KAAc;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE;YACtC,MAAM;YACN,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAChB,MAAc,EACd,KAAc,EACd,KAAc;QAEd,OAAO,IAAI,CAAC,GAAG,CAAC,6BAA6B,EAAE;YAC7C,MAAM;YACN,KAAK;YACL,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,MAAc,EAAE,KAAc;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE;YACvC,MAAM;YACN,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CACR,MAAc,EACd,QAAuB,EACvB,KAAc,EACd,SAAkB,EAClB,OAAgB;QAEhB,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE;YACtC,MAAM;YACN,QAAQ;YACR,KAAK;YACL,SAAS;YACT,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,MAAe;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,kBAAkB,CAAC,MAAe;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,kBAAkB,CAAC,MAAe;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,mCAAmC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IAEH,WAAW,CAAC,MAAoB;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,kCACnC,MAAM,KACT,WAAW,EAAX,0BAAW,IACX,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,MAA0B;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,WAAW,CAAC,MAA0B;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,gBAAgB,CAAC,MAIhB;QACC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU;YAClC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7B,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,0BAA0B,kCAC/C,MAAM,KACT,UAAU,IACV,CAAC;IACL,CAAC;IAED,aAAa,CACX,MAAe,EACf,OAAgB,EAChB,KAAc;QAEd,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE;YAC7C,MAAM;YACN,OAAO;YACP,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CACX,MAAe,EACf,OAAgB,EAChB,KAAc;QAEd,OAAO,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE;YAChD,MAAM;YACN,OAAO;YACP,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CACT,MAAe,EACf,KAAc,EACd,MAAe,EACf,IAAa;QAEb,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE;YAC1C,MAAM;YACN,KAAK;YACL,MAAM;YACN,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IAEH,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC7C,CAAC;CACF;AApLD,gCAoLC"}
@@ -2,11 +2,15 @@ export declare type KlineInterval = '1m' | '3m' | '5m' | '15m' | '30m' | '1h' |
2
2
  export declare type numberInString = string;
3
3
  export interface APIResponse<T> {
4
4
  ret_code: number;
5
- ret_msg: "OK" | string;
6
- ext_code: string;
7
- ext_info: string;
5
+ ret_msg: 'OK' | string;
6
+ ext_code: string | null;
7
+ ext_info: string | null;
8
8
  result: T;
9
9
  }
10
+ export interface APIResponseWithTime<T> extends APIResponse<T> {
11
+ /** UTC timestamp */
12
+ time_now: numberInString;
13
+ }
10
14
  /**
11
15
  * Request Parameter Types
12
16
  */
@@ -1,3 +1,4 @@
1
+ import { numberInString } from './shared';
1
2
  export declare type OrderSide = 'Buy' | 'Sell';
2
3
  export declare type OrderTypeSpot = 'LIMIT' | 'MARKET' | 'LIMIT_MAKER';
3
4
  export declare type OrderTimeInForce = 'GTC' | 'FOK' | 'IOC';
@@ -14,3 +15,17 @@ export interface SpotOrderQueryById {
14
15
  orderId?: string;
15
16
  orderLinkId?: string;
16
17
  }
18
+ export interface SpotSymbolInfo {
19
+ name: string;
20
+ alias: string;
21
+ baseCurrency: string;
22
+ quoteCurrency: string;
23
+ basePrecision: numberInString;
24
+ quotePrecision: numberInString;
25
+ minTradeQuantity: numberInString;
26
+ minTradeAmount: numberInString;
27
+ minPricePrecision: numberInString;
28
+ maxTradeQuantity: numberInString;
29
+ maxTradeAmount: numberInString;
30
+ category: numberInString;
31
+ }
@@ -1,5 +1,5 @@
1
1
  import { AxiosRequestConfig } from 'axios';
2
- import { RestClientOptions, GenericAPIResponse } from './requestUtils';
2
+ import { RestClientOptions, RestClientType } from './requestUtils';
3
3
  export default abstract class BaseRestClient {
4
4
  private timeOffset;
5
5
  private syncTimePromise;
@@ -8,12 +8,17 @@ export default abstract class BaseRestClient {
8
8
  private globalRequestOptions;
9
9
  private key;
10
10
  private secret;
11
- constructor(key: string | undefined, secret: string | undefined, baseUrl: string, options?: RestClientOptions, requestOptions?: AxiosRequestConfig);
12
- get(endpoint: string, params?: any): GenericAPIResponse;
13
- post(endpoint: string, params?: any): GenericAPIResponse;
14
- getPrivate(endpoint: string, params?: any): GenericAPIResponse;
15
- postPrivate(endpoint: string, params?: any): GenericAPIResponse;
16
- deletePrivate(endpoint: string, params?: any): GenericAPIResponse;
11
+ private clientType;
12
+ /** Function that calls exchange API to query & resolve server time, used by time sync */
13
+ abstract fetchServerTime(): Promise<number>;
14
+ constructor(key: string | undefined, secret: string | undefined, baseUrl: string, options: RestClientOptions | undefined, requestOptions: AxiosRequestConfig | undefined, clientType: RestClientType);
15
+ private isSpotClient;
16
+ get(endpoint: string, params?: any): Promise<any>;
17
+ post(endpoint: string, params?: any): Promise<any>;
18
+ getPrivate(endpoint: string, params?: any): Promise<any>;
19
+ postPrivate(endpoint: string, params?: any): Promise<any>;
20
+ deletePrivate(endpoint: string, params?: any): Promise<any>;
21
+ private prepareSignParams;
17
22
  /**
18
23
  * @private Make a HTTP request to a specific endpoint. Private endpoints are automatically signed.
19
24
  */
@@ -25,12 +30,11 @@ export default abstract class BaseRestClient {
25
30
  /**
26
31
  * @private sign request and set recv window
27
32
  */
28
- signRequest(data: any): Promise<any>;
33
+ private signRequest;
29
34
  /**
30
35
  * Trigger time sync and store promise
31
36
  */
32
37
  private syncTime;
33
- abstract getServerTime(baseUrlKeyOverride?: string): Promise<number>;
34
38
  /**
35
39
  * Estimate drift based on client<->server latency
36
40
  */
@@ -16,9 +16,10 @@ const axios_1 = __importDefault(require("axios"));
16
16
  const node_support_1 = require("./node-support");
17
17
  const requestUtils_1 = require("./requestUtils");
18
18
  class BaseRestClient {
19
- constructor(key, secret, baseUrl, options = {}, requestOptions = {}) {
19
+ constructor(key, secret, baseUrl, options = {}, requestOptions = {}, clientType) {
20
20
  this.timeOffset = null;
21
21
  this.syncTimePromise = null;
22
+ this.clientType = clientType;
22
23
  this.options = Object.assign({ recv_window: 5000,
23
24
  // how often to sync time drift with bybit servers
24
25
  sync_interval_ms: 3600000,
@@ -27,7 +28,7 @@ class BaseRestClient {
27
28
  this.globalRequestOptions = Object.assign(Object.assign({
28
29
  // in ms == 5 minutes by default
29
30
  timeout: 1000 * 60 * 5 }, requestOptions), { headers: {
30
- 'x-referer': 'bybitapinode'
31
+ 'x-referer': 'bybitapinode',
31
32
  } });
32
33
  this.baseUrl = baseUrl;
33
34
  if (key && !secret) {
@@ -40,6 +41,9 @@ class BaseRestClient {
40
41
  this.key = key;
41
42
  this.secret = secret;
42
43
  }
44
+ isSpotClient() {
45
+ return this.clientType === requestUtils_1.REST_CLIENT_TYPE_ENUM.spot;
46
+ }
43
47
  get(endpoint, params) {
44
48
  return this._call('GET', endpoint, params, true);
45
49
  }
@@ -55,33 +59,55 @@ class BaseRestClient {
55
59
  deletePrivate(endpoint, params) {
56
60
  return this._call('DELETE', endpoint, params, false);
57
61
  }
62
+ prepareSignParams(params, isPublicApi) {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ if (isPublicApi) {
65
+ return {
66
+ originalParams: params,
67
+ paramsWithSign: params,
68
+ };
69
+ }
70
+ if (!this.key || !this.secret) {
71
+ throw new Error('Private endpoints require api and private keys set');
72
+ }
73
+ if (this.timeOffset === null) {
74
+ yield this.syncTime();
75
+ }
76
+ return this.signRequest(params);
77
+ });
78
+ }
58
79
  /**
59
80
  * @private Make a HTTP request to a specific endpoint. Private endpoints are automatically signed.
60
81
  */
61
82
  _call(method, endpoint, params, isPublicApi) {
83
+ var _a;
62
84
  return __awaiter(this, void 0, void 0, function* () {
63
- if (!isPublicApi) {
64
- if (!this.key || !this.secret) {
65
- throw new Error('Private endpoints require api and private keys set');
66
- }
67
- if (this.timeOffset === null) {
68
- yield this.syncTime();
85
+ const options = Object.assign(Object.assign({}, this.globalRequestOptions), { url: [this.baseUrl, endpoint].join(endpoint.startsWith('/') ? '' : '/'), method: method, json: true });
86
+ for (const key in params) {
87
+ if (typeof params[key] === 'undefined') {
88
+ delete params[key];
69
89
  }
70
- params = yield this.signRequest(params);
71
90
  }
72
- const options = Object.assign(Object.assign({}, this.globalRequestOptions), { url: [this.baseUrl, endpoint].join(endpoint.startsWith('/') ? '' : '/'), method: method, json: true });
73
- if (method === 'GET') {
74
- options.params = params;
91
+ const signResult = yield this.prepareSignParams(params, isPublicApi);
92
+ if (method === 'GET' || this.isSpotClient()) {
93
+ options.params = signResult.paramsWithSign;
94
+ if ((_a = options.params) === null || _a === void 0 ? void 0 : _a.agentSource) {
95
+ options.data = {
96
+ agentSource: requestUtils_1.agentSource,
97
+ };
98
+ }
75
99
  }
76
100
  else {
77
- options.data = params;
101
+ options.data = signResult.paramsWithSign;
78
102
  }
79
- return axios_1.default(options).then(response => {
103
+ return axios_1.default(options)
104
+ .then((response) => {
80
105
  if (response.status == 200) {
81
106
  return response.data;
82
107
  }
83
108
  throw response;
84
- }).catch(e => this.parseException(e));
109
+ })
110
+ .catch((e) => this.parseException(e));
85
111
  });
86
112
  }
87
113
  /**
@@ -107,7 +133,7 @@ class BaseRestClient {
107
133
  message: response.statusText,
108
134
  body: response.data,
109
135
  headers: response.headers,
110
- requestOptions: this.options
136
+ requestOptions: this.options,
111
137
  };
112
138
  }
113
139
  /**
@@ -115,16 +141,25 @@ class BaseRestClient {
115
141
  */
116
142
  signRequest(data) {
117
143
  return __awaiter(this, void 0, void 0, function* () {
118
- const params = Object.assign(Object.assign({}, data), { api_key: this.key, timestamp: Date.now() + (this.timeOffset || 0) });
144
+ const res = {
145
+ originalParams: Object.assign(Object.assign({}, data), { api_key: this.key, timestamp: Date.now() + (this.timeOffset || 0) }),
146
+ sign: '',
147
+ };
119
148
  // Optional, set to 5000 by default. Increase if timestamp/recv_window errors are seen.
120
- if (this.options.recv_window && !params.recv_window) {
121
- params.recv_window = this.options.recv_window;
149
+ if (this.options.recv_window && !res.originalParams.recv_window) {
150
+ if (this.isSpotClient()) {
151
+ res.originalParams.recvWindow = this.options.recv_window;
152
+ }
153
+ else {
154
+ res.originalParams.recv_window = this.options.recv_window;
155
+ }
122
156
  }
123
157
  if (this.key && this.secret) {
124
- const serializedParams = requestUtils_1.serializeParams(params, this.options.strict_param_validation);
125
- params.sign = yield node_support_1.signMessage(serializedParams, this.secret);
158
+ const serializedParams = requestUtils_1.serializeParams(res.originalParams, this.options.strict_param_validation);
159
+ res.sign = yield node_support_1.signMessage(serializedParams, this.secret);
160
+ res.paramsWithSign = Object.assign(Object.assign({}, res.originalParams), { sign: res.sign });
126
161
  }
127
- return params;
162
+ return res;
128
163
  });
129
164
  }
130
165
  /**
@@ -137,7 +172,7 @@ class BaseRestClient {
137
172
  if (this.syncTimePromise !== null) {
138
173
  return this.syncTimePromise;
139
174
  }
140
- this.syncTimePromise = this.fetchTimeOffset().then(offset => {
175
+ this.syncTimePromise = this.fetchTimeOffset().then((offset) => {
141
176
  this.timeOffset = offset;
142
177
  this.syncTimePromise = null;
143
178
  });
@@ -150,10 +185,14 @@ class BaseRestClient {
150
185
  return __awaiter(this, void 0, void 0, function* () {
151
186
  try {
152
187
  const start = Date.now();
153
- const serverTime = yield this.getServerTime();
188
+ const serverTime = yield this.fetchServerTime();
189
+ if (!serverTime || isNaN(serverTime)) {
190
+ throw new Error(`fetchServerTime() returned non-number: "${serverTime}" typeof(${typeof serverTime})`);
191
+ }
154
192
  const end = Date.now();
155
- const avgDrift = ((end - start) / 2);
156
- return Math.ceil(serverTime - end + avgDrift);
193
+ const severTimeMs = serverTime * 1000;
194
+ const avgDrift = (end - start) / 2;
195
+ return Math.ceil(severTimeMs - end + avgDrift);
157
196
  }
158
197
  catch (e) {
159
198
  console.error('Failed to fetch get time offset: ', e);
@@ -163,5 +202,4 @@ class BaseRestClient {
163
202
  }
164
203
  }
165
204
  exports.default = BaseRestClient;
166
- ;
167
205
  //# sourceMappingURL=BaseRestClient.js.map
@@ -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,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { WsConnectionState } from '../websocket-client';
3
2
  import { DefaultLogger } from '../logger';
4
3
  import WebSocket from 'isomorphic-ws';
@@ -7,8 +6,8 @@ declare type WsTopicList = Set<WsTopic>;
7
6
  interface WsStoredState {
8
7
  ws?: WebSocket;
9
8
  connectionState?: WsConnectionState;
10
- activePingTimer?: NodeJS.Timeout | undefined;
11
- activePongTimer?: NodeJS.Timeout | undefined;
9
+ activePingTimer?: ReturnType<typeof setTimeout> | undefined;
10
+ activePongTimer?: ReturnType<typeof setTimeout> | undefined;
12
11
  subscribedTopics: WsTopicList;
13
12
  }
14
13
  export default class WsStore {
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const websocket_client_1 = require("../websocket-client");
4
4
  const logger_1 = require("../logger");
5
- ;
6
5
  class WsStore {
7
6
  constructor(logger) {
8
7
  this.logger = logger || logger_1.DefaultLogger;
@@ -25,7 +24,7 @@ class WsStore {
25
24
  }
26
25
  this.wsState[key] = {
27
26
  subscribedTopics: new Set(),
28
- connectionState: websocket_client_1.WsConnectionState.READY_STATE_INITIAL
27
+ connectionState: websocket_client_1.WsConnectionState.READY_STATE_INITIAL,
29
28
  };
30
29
  return this.get(key);
31
30
  }
@@ -55,7 +54,8 @@ class WsStore {
55
54
  /* connection state */
56
55
  isWsOpen(key) {
57
56
  const existingConnection = this.getWs(key);
58
- return !!existingConnection && existingConnection.readyState === existingConnection.OPEN;
57
+ return (!!existingConnection &&
58
+ existingConnection.readyState === existingConnection.OPEN);
59
59
  }
60
60
  getConnectionState(key) {
61
61
  return this.get(key, true).connectionState;
@@ -1 +1 @@
1
- {"version":3,"file":"WsStore.js","sourceRoot":"","sources":["../../src/util/WsStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WsStore.js","sourceRoot":"","sources":["../../src/util/WsStore.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,10 @@ function signMessage(message, secret) {
15
15
  const encoder = new TextEncoder();
16
16
  const key = yield window.crypto.subtle.importKey('raw', encoder.encode(secret), { name: 'HMAC', hash: { name: 'SHA-256' } }, false, ['sign']);
17
17
  const signature = yield window.crypto.subtle.sign('HMAC', key, encoder.encode(message));
18
- return Array.prototype.map.call(new Uint8Array(signature), (x) => ('00' + x.toString(16)).slice(-2)).join('');
18
+ return Array.prototype.map
19
+ .call(new Uint8Array(signature), (x) => ('00' + x.toString(16)).slice(-2))
20
+ .join('');
19
21
  });
20
22
  }
21
23
  exports.signMessage = signMessage;
22
- ;
23
24
  //# sourceMappingURL=browser-support.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser-support.js","sourceRoot":"","sources":["../../src/util/browser-support.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,SAAsB,WAAW,CAAC,OAAe,EAAE,MAAc;;QAC/D,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAC9C,KAAK,EACL,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EACtB,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC,EAAC,EACvC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAExF,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAC7B,IAAI,UAAU,CAAC,SAAS,CAAC,EACzB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,GAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAC5C,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,CAAC;CAAA;AAhBD,kCAgBC;AAAA,CAAC"}
1
+ {"version":3,"file":"browser-support.js","sourceRoot":"","sources":["../../src/util/browser-support.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,SAAsB,WAAW,CAC/B,OAAe,EACf,MAAc;;QAEd,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAC9C,KAAK,EACL,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EACtB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAC3C,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC/C,MAAM,EACN,GAAG,EACH,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CACxB,CAAC;QAEF,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG;aACvB,IAAI,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAM,EAAE,EAAE,CAC1C,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAClC;aACA,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;CAAA;AAxBD,kCAwBC"}
@@ -13,11 +13,8 @@ exports.signMessage = void 0;
13
13
  const crypto_1 = require("crypto");
14
14
  function signMessage(message, secret) {
15
15
  return __awaiter(this, void 0, void 0, function* () {
16
- return crypto_1.createHmac('sha256', secret)
17
- .update(message)
18
- .digest('hex');
16
+ return crypto_1.createHmac('sha256', secret).update(message).digest('hex');
19
17
  });
20
18
  }
21
19
  exports.signMessage = signMessage;
22
- ;
23
20
  //# sourceMappingURL=node-support.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-support.js","sourceRoot":"","sources":["../../src/util/node-support.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAoC;AAEpC,SAAsB,WAAW,CAAC,OAAe,EAAE,MAAc;;QAC/D,OAAO,mBAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;aAChC,MAAM,CAAC,OAAO,CAAC;aACf,MAAM,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;CAAA;AAJD,kCAIC;AAAA,CAAC"}
1
+ {"version":3,"file":"node-support.js","sourceRoot":"","sources":["../../src/util/node-support.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAoC;AAEpC,SAAsB,WAAW,CAC/B,OAAe,EACf,MAAc;;QAEd,OAAO,mBAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;CAAA;AALD,kCAKC"}
@@ -6,8 +6,15 @@ export interface RestClientOptions {
6
6
  baseUrl?: string;
7
7
  parse_exceptions?: boolean;
8
8
  }
9
- export declare type GenericAPIResponse = Promise<any>;
10
9
  export declare function serializeParams(params?: object, strict_validation?: boolean): string;
11
10
  export declare function getRestBaseUrl(useLivenet: boolean, restInverseOptions: RestClientOptions): string;
12
11
  export declare function isPublicEndpoint(endpoint: string): boolean;
13
12
  export declare function isWsPong(response: any): any;
13
+ export declare const agentSource = "bybitapinode";
14
+ export declare const REST_CLIENT_TYPE_ENUM: {
15
+ readonly inverse: "inverse";
16
+ readonly inverseFutures: "inverseFutures";
17
+ readonly linear: "linear";
18
+ readonly spot: "spot";
19
+ };
20
+ export declare type RestClientType = typeof REST_CLIENT_TYPE_ENUM[keyof typeof REST_CLIENT_TYPE_ENUM];
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isWsPong = exports.isPublicEndpoint = exports.getRestBaseUrl = exports.serializeParams = void 0;
3
+ exports.REST_CLIENT_TYPE_ENUM = exports.agentSource = exports.isWsPong = exports.isPublicEndpoint = exports.getRestBaseUrl = exports.serializeParams = void 0;
4
4
  function serializeParams(params = {}, strict_validation = false) {
5
5
  return Object.keys(params)
6
6
  .sort()
7
- .map(key => {
7
+ .map((key) => {
8
8
  const value = params[key];
9
9
  if (strict_validation === true && typeof value === 'undefined') {
10
10
  throw new Error('Failed to sign API request due to undefined parameter');
@@ -14,11 +14,10 @@ function serializeParams(params = {}, strict_validation = false) {
14
14
  .join('&');
15
15
  }
16
16
  exports.serializeParams = serializeParams;
17
- ;
18
17
  function getRestBaseUrl(useLivenet, restInverseOptions) {
19
18
  const baseUrlsInverse = {
20
19
  livenet: 'https://api.bybit.com',
21
- testnet: 'https://api-testnet.bybit.com'
20
+ testnet: 'https://api-testnet.bybit.com',
22
21
  };
23
22
  if (restInverseOptions.baseUrl) {
24
23
  return restInverseOptions.baseUrl;
@@ -30,17 +29,23 @@ function getRestBaseUrl(useLivenet, restInverseOptions) {
30
29
  }
31
30
  exports.getRestBaseUrl = getRestBaseUrl;
32
31
  function isPublicEndpoint(endpoint) {
33
- if (endpoint.startsWith('v2/public')) {
34
- return true;
35
- }
36
- if (endpoint.startsWith('public/linear')) {
37
- return true;
32
+ const publicPrefixes = [
33
+ 'v2/public',
34
+ 'public/linear',
35
+ 'spot/quote/v1',
36
+ 'spot/v1/symbols',
37
+ 'spot/v1/time',
38
+ ];
39
+ for (const prefix of publicPrefixes) {
40
+ if (endpoint.startsWith(prefix)) {
41
+ return true;
42
+ }
38
43
  }
39
44
  return false;
40
45
  }
41
46
  exports.isPublicEndpoint = isPublicEndpoint;
42
47
  function isWsPong(response) {
43
- if (response.pong) {
48
+ if (response.pong || response.ping) {
44
49
  return true;
45
50
  }
46
51
  return (response.request &&
@@ -49,4 +54,11 @@ function isWsPong(response) {
49
54
  response.success === true);
50
55
  }
51
56
  exports.isWsPong = isWsPong;
57
+ exports.agentSource = 'bybitapinode';
58
+ exports.REST_CLIENT_TYPE_ENUM = {
59
+ inverse: 'inverse',
60
+ inverseFutures: 'inverseFutures',
61
+ linear: 'linear',
62
+ spot: 'spot',
63
+ };
52
64
  //# sourceMappingURL=requestUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../src/util/requestUtils.ts"],"names":[],"mappings":";;;AAuBA,SAAgB,eAAe,CAAC,SAAiB,EAAE,EAAE,iBAAiB,GAAG,KAAK;IAC5E,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACvB,IAAI,EAAE;SACN,GAAG,CAAC,GAAG,CAAC,EAAE;QACT,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,iBAAiB,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YAC9D,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;SAC1E;QACD,OAAO,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IAC3B,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAXD,0CAWC;AAAA,CAAC;AAEF,SAAgB,cAAc,CAAC,UAAmB,EAAE,kBAAqC;IACvF,MAAM,eAAe,GAAG;QACtB,OAAO,EAAE,uBAAuB;QAChC,OAAO,EAAE,+BAA+B;KACzC,CAAC;IAEF,IAAI,kBAAkB,CAAC,OAAO,EAAE;QAC9B,OAAO,kBAAkB,CAAC,OAAO,CAAC;KACnC;IAED,IAAI,UAAU,KAAK,IAAI,EAAE;QACvB,OAAO,eAAe,CAAC,OAAO,CAAC;KAChC;IACD,OAAO,eAAe,CAAC,OAAO,CAAC;AACjC,CAAC;AAdD,wCAcC;AAED,SAAgB,gBAAgB,CAAE,QAAgB;IAChD,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;QACpC,OAAO,IAAI,CAAC;KACb;IACD,IAAI,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;QACxC,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AARD,4CAQC;AAED,SAAgB,QAAQ,CAAC,QAAa;IACpC,IAAI,QAAQ,CAAC,IAAI,EAAE;QACjB,OAAO,IAAI,CAAC;KACb;IACD,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;AAVD,4BAUC"}
1
+ {"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../src/util/requestUtils.ts"],"names":[],"mappings":";;;AAqBA,SAAgB,eAAe,CAC7B,SAAiB,EAAE,EACnB,iBAAiB,GAAG,KAAK;IAEzB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACvB,IAAI,EAAE;SACN,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;YAC9D,MAAM,IAAI,KAAK,CACb,uDAAuD,CACxD,CAAC;SACH;QACD,OAAO,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IAC3B,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAhBD,0CAgBC;AAED,SAAgB,cAAc,CAC5B,UAAmB,EACnB,kBAAqC;IAErC,MAAM,eAAe,GAAG;QACtB,OAAO,EAAE,uBAAuB;QAChC,OAAO,EAAE,+BAA+B;KACzC,CAAC;IAEF,IAAI,kBAAkB,CAAC,OAAO,EAAE;QAC9B,OAAO,kBAAkB,CAAC,OAAO,CAAC;KACnC;IAED,IAAI,UAAU,KAAK,IAAI,EAAE;QACvB,OAAO,eAAe,CAAC,OAAO,CAAC;KAChC;IACD,OAAO,eAAe,CAAC,OAAO,CAAC;AACjC,CAAC;AAjBD,wCAiBC;AAED,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,cAAc,GAAG;QACrB,WAAW;QACX,eAAe;QACf,eAAe;QACf,iBAAiB;QACjB,cAAc;KACf,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE;QACnC,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAfD,4CAeC;AAED,SAAgB,QAAQ,CAAC,QAAa;IACpC,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE;QAClC,OAAO,IAAI,CAAC;KACb;IACD,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;AAVD,4BAUC;AAEY,QAAA,WAAW,GAAG,cAAc,CAAC;AAE7B,QAAA,qBAAqB,GAAG;IACnC,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,gBAAgB;IAChC,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACJ,CAAC"}
@@ -3,6 +3,7 @@ import { EventEmitter } from 'events';
3
3
  import WebSocket from 'isomorphic-ws';
4
4
  import { DefaultLogger } from './logger';
5
5
  import { KlineInterval } from './types/shared';
6
+ import { RestClientOptions } from './util/requestUtils';
6
7
  export declare enum WsConnectionState {
7
8
  READY_STATE_INITIAL = 0,
8
9
  READY_STATE_CONNECTING = 1,
@@ -33,7 +34,7 @@ export interface WSClientConfigurableOptions {
33
34
  pongTimeout?: number;
34
35
  pingInterval?: number;
35
36
  reconnectTimeout?: number;
36
- restOptions?: any;
37
+ restOptions?: RestClientOptions;
37
38
  requestOptions?: any;
38
39
  wsUrl?: string;
39
40
  }