bybit-api 3.10.29 → 4.0.0-beta.0

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 (146) hide show
  1. package/README.md +301 -178
  2. package/lib/index.d.ts +0 -11
  3. package/lib/index.js +0 -11
  4. package/lib/index.js.map +1 -1
  5. package/lib/rest-client-v5.d.ts +1 -1
  6. package/lib/rest-client-v5.js +1 -1
  7. package/lib/spot-client-v3.d.ts +8 -81
  8. package/lib/spot-client-v3.js +7 -172
  9. package/lib/spot-client-v3.js.map +1 -1
  10. package/lib/types/index.d.ts +1 -2
  11. package/lib/types/index.js +1 -2
  12. package/lib/types/index.js.map +1 -1
  13. package/lib/types/request/index.d.ts +0 -1
  14. package/lib/types/request/index.js +0 -1
  15. package/lib/types/request/index.js.map +1 -1
  16. package/lib/types/request/v5-account.d.ts +1 -1
  17. package/lib/types/request/v5-asset.d.ts +1 -1
  18. package/lib/types/request/v5-market.d.ts +1 -1
  19. package/lib/types/request/v5-position.d.ts +1 -1
  20. package/lib/types/request/v5-pre-upgrade.d.ts +1 -1
  21. package/lib/types/request/v5-spot-leverage-token.d.ts +1 -1
  22. package/lib/types/request/v5-trade.d.ts +1 -1
  23. package/lib/types/request/v5-user.d.ts +1 -1
  24. package/lib/types/response/v5-account.d.ts +1 -1
  25. package/lib/types/response/v5-asset.d.ts +1 -1
  26. package/lib/types/response/v5-market.d.ts +1 -1
  27. package/lib/types/response/v5-position.d.ts +1 -1
  28. package/lib/types/response/v5-spot-leverage-token.d.ts +1 -1
  29. package/lib/types/response/v5-trade.d.ts +1 -1
  30. package/lib/types/response/v5-user.d.ts +1 -1
  31. package/lib/types/{request/spot.js → shared-v5.js} +1 -1
  32. package/lib/types/shared-v5.js.map +1 -0
  33. package/lib/types/shared.d.ts +1 -19
  34. package/lib/types/websockets/index.d.ts +3 -0
  35. package/lib/types/websockets/index.js +20 -0
  36. package/lib/types/websockets/index.js.map +1 -0
  37. package/lib/types/websockets/ws-api.d.ts +73 -0
  38. package/lib/types/websockets/ws-api.js +10 -0
  39. package/lib/types/websockets/ws-api.js.map +1 -0
  40. package/lib/types/websockets/ws-confirmations.d.ts +13 -0
  41. package/lib/types/{websocket.events.js → websockets/ws-confirmations.js} +1 -1
  42. package/lib/types/websockets/ws-confirmations.js.map +1 -0
  43. package/lib/types/{websocket.events.d.ts → websockets/ws-events.d.ts} +9 -2
  44. package/lib/types/websockets/ws-events.js +11 -0
  45. package/lib/types/websockets/ws-events.js.map +1 -0
  46. package/lib/types/{websockets.d.ts → websockets/ws-general.d.ts} +35 -10
  47. package/lib/types/{v5-shared.js → websockets/ws-general.js} +1 -1
  48. package/lib/types/websockets/ws-general.js.map +1 -0
  49. package/lib/util/BaseRestClient.d.ts +1 -1
  50. package/lib/util/BaseRestClient.js +15 -39
  51. package/lib/util/BaseRestClient.js.map +1 -1
  52. package/lib/util/BaseWSClient.d.ts +221 -0
  53. package/lib/util/BaseWSClient.js +733 -0
  54. package/lib/util/BaseWSClient.js.map +1 -0
  55. package/lib/util/index.d.ts +1 -2
  56. package/lib/util/index.js +1 -2
  57. package/lib/util/index.js.map +1 -1
  58. package/lib/util/logger.d.ts +2 -5
  59. package/lib/util/logger.js +3 -12
  60. package/lib/util/logger.js.map +1 -1
  61. package/lib/util/requestUtils.d.ts +7 -10
  62. package/lib/util/requestUtils.js +6 -33
  63. package/lib/util/requestUtils.js.map +1 -1
  64. package/lib/util/typeGuards.d.ts +7 -1
  65. package/lib/util/typeGuards.js +41 -5
  66. package/lib/util/typeGuards.js.map +1 -1
  67. package/lib/util/webCryptoAPI.d.ts +10 -0
  68. package/lib/util/webCryptoAPI.js +69 -0
  69. package/lib/util/webCryptoAPI.js.map +1 -0
  70. package/lib/util/websockets/WsStore.d.ts +71 -0
  71. package/lib/util/websockets/WsStore.js +269 -0
  72. package/lib/util/websockets/WsStore.js.map +1 -0
  73. package/lib/util/websockets/WsStore.types.d.ts +50 -0
  74. package/lib/util/websockets/WsStore.types.js +14 -0
  75. package/lib/util/websockets/WsStore.types.js.map +1 -0
  76. package/lib/util/websockets/index.d.ts +3 -0
  77. package/lib/util/websockets/index.js +20 -0
  78. package/lib/util/websockets/index.js.map +1 -0
  79. package/lib/util/websockets/websocket-util.d.ts +92 -0
  80. package/lib/util/websockets/websocket-util.js +280 -0
  81. package/lib/util/websockets/websocket-util.js.map +1 -0
  82. package/lib/websocket-client.d.ts +107 -114
  83. package/lib/websocket-client.js +422 -716
  84. package/lib/websocket-client.js.map +1 -1
  85. package/package.json +4 -4
  86. package/lib/account-asset-client-v3.d.ts +0 -87
  87. package/lib/account-asset-client-v3.js +0 -154
  88. package/lib/account-asset-client-v3.js.map +0 -1
  89. package/lib/account-asset-client.d.ts +0 -46
  90. package/lib/account-asset-client.js +0 -108
  91. package/lib/account-asset-client.js.map +0 -1
  92. package/lib/contract-client.d.ts +0 -136
  93. package/lib/contract-client.js +0 -251
  94. package/lib/contract-client.js.map +0 -1
  95. package/lib/copy-trading-client.d.ts +0 -60
  96. package/lib/copy-trading-client.js +0 -114
  97. package/lib/copy-trading-client.js.map +0 -1
  98. package/lib/inverse-client.d.ts +0 -104
  99. package/lib/inverse-client.js +0 -213
  100. package/lib/inverse-client.js.map +0 -1
  101. package/lib/inverse-futures-client.d.ts +0 -217
  102. package/lib/inverse-futures-client.js +0 -224
  103. package/lib/inverse-futures-client.js.map +0 -1
  104. package/lib/linear-client.d.ts +0 -112
  105. package/lib/linear-client.js +0 -225
  106. package/lib/linear-client.js.map +0 -1
  107. package/lib/spot-client.d.ts +0 -46
  108. package/lib/spot-client.js +0 -131
  109. package/lib/spot-client.js.map +0 -1
  110. package/lib/types/request/spot.d.ts +0 -79
  111. package/lib/types/request/spot.js.map +0 -1
  112. package/lib/types/v5-shared.js.map +0 -1
  113. package/lib/types/websocket.events.js.map +0 -1
  114. package/lib/types/websockets.js +0 -3
  115. package/lib/types/websockets.js.map +0 -1
  116. package/lib/types/ws-events/failed-topic-subscription-confirmation.d.ts +0 -4
  117. package/lib/types/ws-events/failed-topic-subscription-confirmation.js +0 -3
  118. package/lib/types/ws-events/failed-topic-subscription-confirmation.js.map +0 -1
  119. package/lib/types/ws-events/succeeded-topic-subscription-confirmation.d.ts +0 -4
  120. package/lib/types/ws-events/succeeded-topic-subscription-confirmation.js +0 -3
  121. package/lib/types/ws-events/succeeded-topic-subscription-confirmation.js.map +0 -1
  122. package/lib/types/ws-events/topic-subscription-confirmation.d.ts +0 -7
  123. package/lib/types/ws-events/topic-subscription-confirmation.js +0 -3
  124. package/lib/types/ws-events/topic-subscription-confirmation.js.map +0 -1
  125. package/lib/unified-margin-client.d.ts +0 -140
  126. package/lib/unified-margin-client.js +0 -270
  127. package/lib/unified-margin-client.js.map +0 -1
  128. package/lib/usdc-option-client.d.ts +0 -110
  129. package/lib/usdc-option-client.js +0 -196
  130. package/lib/usdc-option-client.js.map +0 -1
  131. package/lib/usdc-perpetual-client.d.ts +0 -97
  132. package/lib/usdc-perpetual-client.js +0 -191
  133. package/lib/usdc-perpetual-client.js.map +0 -1
  134. package/lib/util/WsStore.d.ts +0 -57
  135. package/lib/util/WsStore.js +0 -97
  136. package/lib/util/WsStore.js.map +0 -1
  137. package/lib/util/browser-support.d.ts +0 -1
  138. package/lib/util/browser-support.js +0 -26
  139. package/lib/util/browser-support.js.map +0 -1
  140. package/lib/util/node-support.d.ts +0 -2
  141. package/lib/util/node-support.js +0 -21
  142. package/lib/util/node-support.js.map +0 -1
  143. package/lib/util/websocket-util.d.ts +0 -68
  144. package/lib/util/websocket-util.js +0 -506
  145. package/lib/util/websocket-util.js.map +0 -1
  146. /package/lib/types/{v5-shared.d.ts → shared-v5.d.ts} +0 -0
@@ -1,506 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.safeTerminateWs = exports.neverGuard = exports.WS_ERROR_ENUM = exports.getUsdcWsKeyForTopic = exports.getMaxTopicsPerSubscribeEvent = exports.getWsUrl = exports.getWsKeyForTopic = exports.isPrivateWsTopic = exports.PUBLIC_WS_KEYS = exports.WS_AUTH_ON_CONNECT_KEYS = exports.WS_KEY_MAP = exports.WS_BASE_URL_MAP = void 0;
4
- exports.WS_BASE_URL_MAP = {
5
- inverse: {
6
- public: {
7
- livenet: 'wss://stream.bybit.com/realtime',
8
- testnet: 'wss://stream-testnet.bybit.com/realtime',
9
- },
10
- private: {
11
- livenet: 'wss://stream.bybit.com/realtime',
12
- testnet: 'wss://stream-testnet.bybit.com/realtime',
13
- },
14
- },
15
- linear: {
16
- public: {
17
- livenet: 'wss://stream.bybit.com/realtime_public',
18
- livenet2: 'wss://stream.bytick.com/realtime_public',
19
- testnet: 'wss://stream-testnet.bybit.com/realtime_public',
20
- },
21
- private: {
22
- livenet: 'wss://stream.bybit.com/realtime_private',
23
- livenet2: 'wss://stream.bytick.com/realtime_private',
24
- testnet: 'wss://stream-testnet.bybit.com/realtime_private',
25
- },
26
- },
27
- spot: {
28
- public: {
29
- livenet: 'wss://stream.bybit.com/spot/quote/ws/v1',
30
- livenet2: 'wss://stream.bybit.com/spot/quote/ws/v2',
31
- testnet: 'wss://stream-testnet.bybit.com/spot/quote/ws/v1',
32
- testnet2: 'wss://stream-testnet.bybit.com/spot/quote/ws/v2',
33
- },
34
- private: {
35
- livenet: 'wss://stream.bybit.com/spot/ws',
36
- testnet: 'wss://stream-testnet.bybit.com/spot/ws',
37
- },
38
- },
39
- spotv3: {
40
- public: {
41
- livenet: 'wss://stream.bybit.com/spot/public/v3',
42
- testnet: 'wss://stream-testnet.bybit.com/spot/public/v3',
43
- },
44
- private: {
45
- livenet: 'wss://stream.bybit.com/spot/private/v3',
46
- testnet: 'wss://stream-testnet.bybit.com/spot/private/v3',
47
- },
48
- },
49
- usdcOption: {
50
- public: {
51
- livenet: 'wss://stream.bybit.com/trade/option/usdc/public/v1',
52
- livenet2: 'wss://stream.bytick.com/trade/option/usdc/public/v1',
53
- testnet: 'wss://stream-testnet.bybit.com/trade/option/usdc/public/v1',
54
- },
55
- private: {
56
- livenet: 'wss://stream.bybit.com/trade/option/usdc/private/v1',
57
- livenet2: 'wss://stream.bytick.com/trade/option/usdc/private/v1',
58
- testnet: 'wss://stream-testnet.bybit.com/trade/option/usdc/private/v1',
59
- },
60
- },
61
- usdcPerp: {
62
- public: {
63
- livenet: 'wss://stream.bybit.com/perpetual/ws/v1/realtime_public',
64
- livenet2: 'wss://stream.bytick.com/perpetual/ws/v1/realtime_public',
65
- testnet: 'wss://stream-testnet.bybit.com/perpetual/ws/v1/realtime_public',
66
- },
67
- private: {
68
- livenet: 'wss://stream.bybit.com/trade/option/usdc/private/v1',
69
- livenet2: 'wss://stream.bytick.com/trade/option/usdc/private/v1',
70
- testnet: 'wss://stream-testnet.bybit.com/trade/option/usdc/private/v1',
71
- },
72
- },
73
- unifiedOption: {
74
- public: {
75
- livenet: 'wss://stream.bybit.com/option/usdc/public/v3',
76
- testnet: 'wss://stream-testnet.bybit.com/option/usdc/public/v3',
77
- },
78
- private: {
79
- livenet: 'wss://stream.bybit.com/unified/private/v3',
80
- testnet: 'wss://stream-testnet.bybit.com/unified/private/v3',
81
- },
82
- },
83
- unifiedPerp: {
84
- public: {
85
- livenet: 'useBaseSpecificEndpoint',
86
- testnet: 'useBaseSpecificEndpoint',
87
- },
88
- private: {
89
- livenet: 'wss://stream.bybit.com/unified/private/v3',
90
- testnet: 'wss://stream-testnet.bybit.com/unified/private/v3',
91
- },
92
- },
93
- unifiedPerpUSDT: {
94
- public: {
95
- livenet: 'wss://stream.bybit.com/contract/usdt/public/v3',
96
- testnet: 'wss://stream-testnet.bybit.com/contract/usdt/public/v3',
97
- },
98
- },
99
- unifiedPerpUSDC: {
100
- public: {
101
- livenet: 'wss://stream.bybit.com/contract/usdc/public/v3',
102
- testnet: 'wss://stream-testnet.bybit.com/contract/usdc/public/v3',
103
- },
104
- },
105
- contractUSDT: {
106
- public: {
107
- livenet: 'wss://stream.bybit.com/contract/usdt/public/v3',
108
- testnet: 'wss://stream-testnet.bybit.com/contract/usdt/public/v3',
109
- },
110
- private: {
111
- livenet: 'wss://stream.bybit.com/contract/private/v3',
112
- testnet: 'wss://stream-testnet.bybit.com/contract/private/v3',
113
- },
114
- },
115
- contractInverse: {
116
- public: {
117
- livenet: 'wss://stream.bybit.com/contract/inverse/public/v3',
118
- testnet: 'wss://stream-testnet.bybit.com/contract/inverse/public/v3',
119
- },
120
- private: {
121
- livenet: 'wss://stream.bybit.com/contract/private/v3',
122
- testnet: 'wss://stream-testnet.bybit.com/contract/private/v3',
123
- },
124
- },
125
- v5: {
126
- public: {
127
- livenet: 'public topics are routed internally via the public wskeys',
128
- testnet: 'public topics are routed internally via the public wskeys',
129
- },
130
- private: {
131
- livenet: 'wss://stream.bybit.com/v5/private',
132
- testnet: 'wss://stream-testnet.bybit.com/v5/private',
133
- },
134
- },
135
- v5SpotPublic: {
136
- public: {
137
- livenet: 'wss://stream.bybit.com/v5/public/spot',
138
- testnet: 'wss://stream-testnet.bybit.com/v5/public/spot',
139
- },
140
- },
141
- v5LinearPublic: {
142
- public: {
143
- livenet: 'wss://stream.bybit.com/v5/public/linear',
144
- testnet: 'wss://stream-testnet.bybit.com/v5/public/linear',
145
- },
146
- },
147
- v5InversePublic: {
148
- public: {
149
- livenet: 'wss://stream.bybit.com/v5/public/inverse',
150
- testnet: 'wss://stream-testnet.bybit.com/v5/public/inverse',
151
- },
152
- },
153
- v5OptionPublic: {
154
- public: {
155
- livenet: 'wss://stream.bybit.com/v5/public/option',
156
- testnet: 'wss://stream-testnet.bybit.com/v5/public/option',
157
- },
158
- },
159
- };
160
- exports.WS_KEY_MAP = {
161
- inverse: 'inverse',
162
- linearPrivate: 'linearPrivate',
163
- linearPublic: 'linearPublic',
164
- spotPrivate: 'spotPrivate',
165
- spotPublic: 'spotPublic',
166
- spotV3Private: 'spotV3Private',
167
- spotV3Public: 'spotV3Public',
168
- usdcOptionPrivate: 'usdcOptionPrivate',
169
- usdcOptionPublic: 'usdcOptionPublic',
170
- usdcPerpPrivate: 'usdcPerpPrivate',
171
- usdcPerpPublic: 'usdcPerpPublic',
172
- unifiedPrivate: 'unifiedPrivate',
173
- unifiedOptionPublic: 'unifiedOptionPublic',
174
- unifiedPerpUSDTPublic: 'unifiedPerpUSDTPublic',
175
- unifiedPerpUSDCPublic: 'unifiedPerpUSDCPublic',
176
- contractUSDTPublic: 'contractUSDTPublic',
177
- contractUSDTPrivate: 'contractUSDTPrivate',
178
- contractInversePublic: 'contractInversePublic',
179
- contractInversePrivate: 'contractInversePrivate',
180
- v5SpotPublic: 'v5SpotPublic',
181
- v5LinearPublic: 'v5LinearPublic',
182
- v5InversePublic: 'v5InversePublic',
183
- v5OptionPublic: 'v5OptionPublic',
184
- v5Private: 'v5Private',
185
- };
186
- exports.WS_AUTH_ON_CONNECT_KEYS = [
187
- exports.WS_KEY_MAP.spotV3Private,
188
- exports.WS_KEY_MAP.usdcOptionPrivate,
189
- exports.WS_KEY_MAP.usdcPerpPrivate,
190
- exports.WS_KEY_MAP.unifiedPrivate,
191
- exports.WS_KEY_MAP.contractUSDTPrivate,
192
- exports.WS_KEY_MAP.contractInversePrivate,
193
- exports.WS_KEY_MAP.v5Private,
194
- ];
195
- exports.PUBLIC_WS_KEYS = [
196
- exports.WS_KEY_MAP.linearPublic,
197
- exports.WS_KEY_MAP.spotPublic,
198
- exports.WS_KEY_MAP.spotV3Public,
199
- exports.WS_KEY_MAP.usdcOptionPublic,
200
- exports.WS_KEY_MAP.usdcPerpPublic,
201
- exports.WS_KEY_MAP.unifiedOptionPublic,
202
- exports.WS_KEY_MAP.unifiedPerpUSDTPublic,
203
- exports.WS_KEY_MAP.unifiedPerpUSDCPublic,
204
- exports.WS_KEY_MAP.contractUSDTPublic,
205
- exports.WS_KEY_MAP.contractInversePublic,
206
- exports.WS_KEY_MAP.v5SpotPublic,
207
- exports.WS_KEY_MAP.v5LinearPublic,
208
- exports.WS_KEY_MAP.v5InversePublic,
209
- exports.WS_KEY_MAP.v5OptionPublic,
210
- ];
211
- /** Used to automatically determine if a sub request should be to the public or private ws (when there's two) */
212
- const PRIVATE_TOPICS = [
213
- 'stop_order',
214
- 'outboundAccountInfo',
215
- 'executionReport',
216
- 'ticketInfo',
217
- // copy trading apis
218
- 'copyTradePosition',
219
- 'copyTradeOrder',
220
- 'copyTradeExecution',
221
- 'copyTradeWallet',
222
- // usdc options
223
- 'user.openapi.option.position',
224
- 'user.openapi.option.trade',
225
- 'user.order',
226
- 'user.openapi.option.order',
227
- 'user.service',
228
- 'user.openapi.greeks',
229
- 'user.mmp.event',
230
- // usdc perps
231
- 'user.openapi.perp.position',
232
- 'user.openapi.perp.trade',
233
- 'user.openapi.perp.order',
234
- 'user.service',
235
- // unified margin
236
- 'user.position.unifiedAccount',
237
- 'user.execution.unifiedAccount',
238
- 'user.order.unifiedAccount',
239
- 'user.wallet.unifiedAccount',
240
- 'user.greeks.unifiedAccount',
241
- // contract v3
242
- 'user.position.contractAccount',
243
- 'user.execution.contractAccount',
244
- 'user.order.contractAccount',
245
- 'user.wallet.contractAccount',
246
- // v5
247
- 'position',
248
- 'execution',
249
- 'order',
250
- 'wallet',
251
- 'greeks',
252
- ];
253
- function isPrivateWsTopic(topic) {
254
- return PRIVATE_TOPICS.includes(topic);
255
- }
256
- exports.isPrivateWsTopic = isPrivateWsTopic;
257
- function getWsKeyForTopic(market, topic, isPrivate, category) {
258
- const isPrivateTopic = isPrivate === true || PRIVATE_TOPICS.includes(topic);
259
- switch (market) {
260
- case 'inverse': {
261
- return exports.WS_KEY_MAP.inverse;
262
- }
263
- case 'linear': {
264
- return isPrivateTopic
265
- ? exports.WS_KEY_MAP.linearPrivate
266
- : exports.WS_KEY_MAP.linearPublic;
267
- }
268
- case 'spot': {
269
- return isPrivateTopic ? exports.WS_KEY_MAP.spotPrivate : exports.WS_KEY_MAP.spotPublic;
270
- }
271
- case 'spotv3': {
272
- return isPrivateTopic
273
- ? exports.WS_KEY_MAP.spotV3Private
274
- : exports.WS_KEY_MAP.spotV3Public;
275
- }
276
- case 'usdcOption': {
277
- return isPrivateTopic
278
- ? exports.WS_KEY_MAP.usdcOptionPrivate
279
- : exports.WS_KEY_MAP.usdcOptionPublic;
280
- }
281
- case 'usdcPerp': {
282
- return isPrivateTopic
283
- ? exports.WS_KEY_MAP.usdcPerpPrivate
284
- : exports.WS_KEY_MAP.usdcPerpPublic;
285
- }
286
- case 'unifiedOption': {
287
- return isPrivateTopic
288
- ? exports.WS_KEY_MAP.unifiedPrivate
289
- : exports.WS_KEY_MAP.unifiedOptionPublic;
290
- }
291
- case 'unifiedPerp': {
292
- if (isPrivateTopic) {
293
- return exports.WS_KEY_MAP.unifiedPrivate;
294
- }
295
- const upperTopic = topic.toUpperCase();
296
- if (upperTopic.indexOf('USDT') !== -1) {
297
- return exports.WS_KEY_MAP.unifiedPerpUSDTPublic;
298
- }
299
- if (upperTopic.indexOf('USDC') !== -1 ||
300
- upperTopic.indexOf('PERP') !== -1) {
301
- return exports.WS_KEY_MAP.unifiedPerpUSDCPublic;
302
- }
303
- throw new Error(`Failed to determine wskey for unified perps topic: "${topic}"`);
304
- }
305
- case 'contractInverse': {
306
- return isPrivateTopic
307
- ? exports.WS_KEY_MAP.contractInversePrivate
308
- : exports.WS_KEY_MAP.contractInversePublic;
309
- }
310
- case 'contractUSDT': {
311
- return isPrivateTopic
312
- ? exports.WS_KEY_MAP.contractUSDTPrivate
313
- : exports.WS_KEY_MAP.contractUSDTPublic;
314
- }
315
- case 'v5': {
316
- if (isPrivateTopic) {
317
- return exports.WS_KEY_MAP.v5Private;
318
- }
319
- switch (category) {
320
- case 'spot': {
321
- return exports.WS_KEY_MAP.v5SpotPublic;
322
- }
323
- case 'linear': {
324
- return exports.WS_KEY_MAP.v5LinearPublic;
325
- }
326
- case 'inverse': {
327
- return exports.WS_KEY_MAP.v5InversePublic;
328
- }
329
- case 'option': {
330
- return exports.WS_KEY_MAP.v5OptionPublic;
331
- }
332
- case undefined: {
333
- throw new Error('Category cannot be undefined');
334
- }
335
- default: {
336
- throw neverGuard(category, 'getWsKeyForTopic(v5): Unhandled v5 category');
337
- }
338
- }
339
- }
340
- default: {
341
- throw neverGuard(market, 'getWsKeyForTopic(): Unhandled market');
342
- }
343
- }
344
- }
345
- exports.getWsKeyForTopic = getWsKeyForTopic;
346
- function getWsUrl(wsKey, wsClientOptions, logger) {
347
- const wsUrl = wsClientOptions.wsUrl;
348
- if (wsUrl) {
349
- return wsUrl;
350
- }
351
- // https://bybit-exchange.github.io/docs/v5/demo
352
- const isDemoTrading = wsClientOptions.demoTrading;
353
- if (isDemoTrading) {
354
- return 'wss://stream-demo.bybit.com/v5/private';
355
- }
356
- const isTestnet = wsClientOptions.testnet;
357
- const networkKey = isTestnet ? 'testnet' : 'livenet';
358
- switch (wsKey) {
359
- case exports.WS_KEY_MAP.linearPublic: {
360
- return exports.WS_BASE_URL_MAP.linear.public[networkKey];
361
- }
362
- case exports.WS_KEY_MAP.linearPrivate: {
363
- return exports.WS_BASE_URL_MAP.linear.private[networkKey];
364
- }
365
- case exports.WS_KEY_MAP.spotPublic: {
366
- return exports.WS_BASE_URL_MAP.spot.public[networkKey];
367
- }
368
- case exports.WS_KEY_MAP.spotPrivate: {
369
- return exports.WS_BASE_URL_MAP.spot.private[networkKey];
370
- }
371
- case exports.WS_KEY_MAP.spotV3Public: {
372
- return exports.WS_BASE_URL_MAP.spotv3.public[networkKey];
373
- }
374
- case exports.WS_KEY_MAP.spotV3Private: {
375
- return exports.WS_BASE_URL_MAP.spotv3.private[networkKey];
376
- }
377
- case exports.WS_KEY_MAP.inverse: {
378
- // private and public are on the same WS connection
379
- return exports.WS_BASE_URL_MAP.inverse.public[networkKey];
380
- }
381
- case exports.WS_KEY_MAP.usdcOptionPublic: {
382
- return exports.WS_BASE_URL_MAP.usdcOption.public[networkKey];
383
- }
384
- case exports.WS_KEY_MAP.usdcOptionPrivate: {
385
- return exports.WS_BASE_URL_MAP.usdcOption.private[networkKey];
386
- }
387
- case exports.WS_KEY_MAP.usdcPerpPublic: {
388
- return exports.WS_BASE_URL_MAP.usdcPerp.public[networkKey];
389
- }
390
- case exports.WS_KEY_MAP.usdcPerpPrivate: {
391
- return exports.WS_BASE_URL_MAP.usdcPerp.private[networkKey];
392
- }
393
- case exports.WS_KEY_MAP.unifiedOptionPublic: {
394
- return exports.WS_BASE_URL_MAP.unifiedOption.public[networkKey];
395
- }
396
- case exports.WS_KEY_MAP.unifiedPerpUSDTPublic: {
397
- return exports.WS_BASE_URL_MAP.unifiedPerpUSDT.public[networkKey];
398
- }
399
- case exports.WS_KEY_MAP.unifiedPerpUSDCPublic: {
400
- return exports.WS_BASE_URL_MAP.unifiedPerpUSDC.public[networkKey];
401
- }
402
- case exports.WS_KEY_MAP.unifiedPrivate: {
403
- return exports.WS_BASE_URL_MAP.unifiedPerp.private[networkKey];
404
- }
405
- case exports.WS_KEY_MAP.contractInversePrivate: {
406
- return exports.WS_BASE_URL_MAP.contractInverse.private[networkKey];
407
- }
408
- case exports.WS_KEY_MAP.contractInversePublic: {
409
- return exports.WS_BASE_URL_MAP.contractInverse.public[networkKey];
410
- }
411
- case exports.WS_KEY_MAP.contractUSDTPrivate: {
412
- return exports.WS_BASE_URL_MAP.contractUSDT.private[networkKey];
413
- }
414
- case exports.WS_KEY_MAP.contractUSDTPublic: {
415
- return exports.WS_BASE_URL_MAP.contractUSDT.public[networkKey];
416
- }
417
- case exports.WS_KEY_MAP.v5Private: {
418
- return exports.WS_BASE_URL_MAP.v5.private[networkKey];
419
- }
420
- case exports.WS_KEY_MAP.v5SpotPublic: {
421
- return exports.WS_BASE_URL_MAP.v5SpotPublic.public[networkKey];
422
- }
423
- case exports.WS_KEY_MAP.v5LinearPublic: {
424
- return exports.WS_BASE_URL_MAP.v5LinearPublic.public[networkKey];
425
- }
426
- case exports.WS_KEY_MAP.v5InversePublic: {
427
- return exports.WS_BASE_URL_MAP.v5InversePublic.public[networkKey];
428
- }
429
- case exports.WS_KEY_MAP.v5OptionPublic: {
430
- return exports.WS_BASE_URL_MAP.v5OptionPublic.public[networkKey];
431
- }
432
- default: {
433
- logger.error('getWsUrl(): Unhandled wsKey: ', {
434
- category: 'bybit-ws',
435
- wsKey,
436
- });
437
- throw neverGuard(wsKey, 'getWsUrl(): Unhandled wsKey');
438
- }
439
- }
440
- }
441
- exports.getWsUrl = getWsUrl;
442
- function getMaxTopicsPerSubscribeEvent(market, wsKey) {
443
- const topicsPerEventSpot = 10;
444
- switch (market) {
445
- case 'inverse':
446
- case 'linear':
447
- case 'usdcOption':
448
- case 'usdcPerp':
449
- case 'unifiedOption':
450
- case 'unifiedPerp':
451
- case 'spot':
452
- case 'contractInverse':
453
- case 'contractUSDT':
454
- case 'v5': {
455
- if (wsKey === exports.WS_KEY_MAP.v5SpotPublic) {
456
- return topicsPerEventSpot;
457
- }
458
- return null;
459
- }
460
- case 'spotv3': {
461
- return topicsPerEventSpot;
462
- }
463
- default: {
464
- throw neverGuard(market, 'getWsKeyForTopic(): Unhandled market');
465
- }
466
- }
467
- }
468
- exports.getMaxTopicsPerSubscribeEvent = getMaxTopicsPerSubscribeEvent;
469
- function getUsdcWsKeyForTopic(topic, subGroup) {
470
- const isPrivateTopic = PRIVATE_TOPICS.includes(topic);
471
- if (subGroup === 'option') {
472
- return isPrivateTopic
473
- ? exports.WS_KEY_MAP.usdcOptionPrivate
474
- : exports.WS_KEY_MAP.usdcOptionPublic;
475
- }
476
- return isPrivateTopic
477
- ? exports.WS_KEY_MAP.usdcOptionPrivate
478
- : exports.WS_KEY_MAP.usdcOptionPublic;
479
- // return isPrivateTopic
480
- // ? WS_KEY_MAP.usdcPerpPrivate
481
- // : WS_KEY_MAP.usdcPerpPublic;
482
- }
483
- exports.getUsdcWsKeyForTopic = getUsdcWsKeyForTopic;
484
- exports.WS_ERROR_ENUM = {
485
- NOT_AUTHENTICATED_SPOT_V3: '-1004',
486
- API_ERROR_GENERIC: '10001',
487
- API_SIGN_AUTH_FAILED: '10003',
488
- USDC_OPTION_AUTH_FAILED: '3303006',
489
- };
490
- function neverGuard(x, msg) {
491
- return new Error(`Unhandled value exception "x", ${msg}`);
492
- }
493
- exports.neverGuard = neverGuard;
494
- /**
495
- * #305: ws.terminate() is undefined in browsers.
496
- * This only works in node.js, not in browsers.
497
- * Does nothing if `ws` is undefined.
498
- */
499
- function safeTerminateWs(ws) {
500
- // #305: ws.terminate() undefined in browsers
501
- if (ws && typeof ws['terminate'] === 'function') {
502
- ws.terminate();
503
- }
504
- }
505
- exports.safeTerminateWs = safeTerminateWs;
506
- //# sourceMappingURL=websocket-util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"websocket-util.js","sourceRoot":"","sources":["../../src/util/websocket-util.ts"],"names":[],"mappings":"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"}
File without changes