okx-api 2.0.7 → 3.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 (382) hide show
  1. package/README.md +336 -11
  2. package/dist/cjs/constants/funding.js.map +1 -0
  3. package/dist/cjs/index.d.ts +43 -0
  4. package/dist/cjs/index.js +64 -0
  5. package/dist/cjs/index.js.map +1 -0
  6. package/dist/cjs/package.json +3 -0
  7. package/{lib → dist/cjs}/rest-client.d.ts +28 -15
  8. package/{lib → dist/cjs}/rest-client.js +41 -68
  9. package/dist/cjs/rest-client.js.map +1 -0
  10. package/dist/cjs/types/rest/client.d.ts +36 -0
  11. package/{lib → dist/cjs}/types/rest/client.js.map +1 -1
  12. package/{lib → dist/cjs}/types/rest/request/account.d.ts +1 -1
  13. package/dist/cjs/types/rest/request/account.js.map +1 -0
  14. package/{lib → dist/cjs}/types/rest/request/block-trading.d.ts +1 -1
  15. package/dist/cjs/types/rest/request/block-trading.js.map +1 -0
  16. package/dist/cjs/types/rest/request/convert.js.map +1 -0
  17. package/dist/cjs/types/rest/request/copy-trading.js.map +1 -0
  18. package/dist/cjs/types/rest/request/funding.js.map +1 -0
  19. package/dist/cjs/types/rest/request/grid-trading.js.map +1 -0
  20. package/dist/cjs/types/rest/request/public.js.map +1 -0
  21. package/dist/cjs/types/rest/request/recurring-buy.js.map +1 -0
  22. package/{lib → dist/cjs}/types/rest/request/shared.d.ts +1 -1
  23. package/dist/cjs/types/rest/request/shared.js.map +1 -0
  24. package/dist/cjs/types/rest/request/signal-bot.js.map +1 -0
  25. package/dist/cjs/types/rest/request/simple-earn.js.map +1 -0
  26. package/dist/cjs/types/rest/request/spread-trading.js.map +1 -0
  27. package/dist/cjs/types/rest/request/subaccount.js.map +1 -0
  28. package/{lib → dist/cjs}/types/rest/request/trade.d.ts +1 -1
  29. package/dist/cjs/types/rest/request/trade.js.map +1 -0
  30. package/{lib → dist/cjs}/types/rest/response/private-account.d.ts +1 -1
  31. package/dist/cjs/types/rest/response/private-account.js.map +1 -0
  32. package/{lib → dist/cjs}/types/rest/response/private-block-trading.d.ts +1 -1
  33. package/dist/cjs/types/rest/response/private-block-trading.js.map +1 -0
  34. package/dist/cjs/types/rest/response/private-copy-trading.js.map +1 -0
  35. package/dist/cjs/types/rest/response/private-flexible-loan.js.map +1 -0
  36. package/{lib → dist/cjs}/types/rest/response/private-funding.d.ts +1 -1
  37. package/dist/cjs/types/rest/response/private-funding.js.map +1 -0
  38. package/dist/cjs/types/rest/response/private-recurring-buy.js.map +1 -0
  39. package/dist/cjs/types/rest/response/private-signal-bot.js.map +1 -0
  40. package/dist/cjs/types/rest/response/private-spread-trading.js.map +1 -0
  41. package/dist/cjs/types/rest/response/private-subaccount.js.map +1 -0
  42. package/{lib → dist/cjs}/types/rest/response/private-trade.d.ts +1 -1
  43. package/dist/cjs/types/rest/response/private-trade.js.map +1 -0
  44. package/{lib → dist/cjs}/types/rest/response/public-data.d.ts +1 -1
  45. package/dist/cjs/types/rest/response/public-data.js.map +1 -0
  46. package/{lib → dist/cjs}/types/rest/shared.d.ts +2 -2
  47. package/dist/cjs/types/rest/shared.js.map +1 -0
  48. package/dist/cjs/types/shared.d.ts +13 -0
  49. package/{lib → dist/cjs}/types/shared.js.map +1 -1
  50. package/dist/cjs/types/websockets/ws-api-request.d.ts +61 -0
  51. package/dist/cjs/types/websockets/ws-api-request.js +3 -0
  52. package/dist/cjs/types/websockets/ws-api-request.js.map +1 -0
  53. package/dist/cjs/types/websockets/ws-api-response.d.ts +28 -0
  54. package/dist/cjs/types/websockets/ws-api-response.js +3 -0
  55. package/dist/cjs/types/websockets/ws-api-response.js.map +1 -0
  56. package/dist/cjs/types/websockets/ws-api.d.ts +139 -0
  57. package/dist/cjs/types/websockets/ws-api.js +38 -0
  58. package/dist/cjs/types/websockets/ws-api.js.map +1 -0
  59. package/{lib/types/websockets/event.d.ts → dist/cjs/types/websockets/ws-events.d.ts} +7 -1
  60. package/dist/cjs/types/websockets/ws-events.js +11 -0
  61. package/dist/cjs/types/websockets/ws-events.js.map +1 -0
  62. package/dist/cjs/types/websockets/ws-general.d.ts +48 -0
  63. package/dist/cjs/types/websockets/ws-general.js +3 -0
  64. package/dist/cjs/types/websockets/ws-general.js.map +1 -0
  65. package/{lib/types/websockets/request.d.ts → dist/cjs/types/websockets/ws-request.d.ts} +0 -22
  66. package/dist/cjs/types/websockets/ws-request.js +3 -0
  67. package/dist/cjs/types/websockets/ws-request.js.map +1 -0
  68. package/{lib → dist/cjs}/util/BaseRestClient.d.ts +1 -1
  69. package/dist/cjs/util/BaseRestClient.js +237 -0
  70. package/dist/cjs/util/BaseRestClient.js.map +1 -0
  71. package/dist/cjs/util/BaseWSClient.d.ts +198 -0
  72. package/dist/cjs/util/BaseWSClient.js +770 -0
  73. package/dist/cjs/util/BaseWSClient.js.map +1 -0
  74. package/dist/cjs/util/WsStore.d.ts +75 -0
  75. package/dist/cjs/util/WsStore.js +303 -0
  76. package/dist/cjs/util/WsStore.js.map +1 -0
  77. package/dist/cjs/util/WsStore.types.d.ts +51 -0
  78. package/dist/cjs/util/WsStore.types.js +14 -0
  79. package/dist/cjs/util/WsStore.types.js.map +1 -0
  80. package/dist/cjs/util/logger.d.ts +8 -0
  81. package/{lib → dist/cjs}/util/logger.js +3 -11
  82. package/dist/cjs/util/logger.js.map +1 -0
  83. package/{lib → dist/cjs}/util/requestUtils.d.ts +2 -1
  84. package/{lib → dist/cjs}/util/requestUtils.js +9 -1
  85. package/dist/cjs/util/requestUtils.js.map +1 -0
  86. package/{lib → dist/cjs}/util/typeGuards.d.ts +4 -2
  87. package/{lib → dist/cjs}/util/typeGuards.js +34 -0
  88. package/dist/cjs/util/typeGuards.js.map +1 -0
  89. package/dist/cjs/util/webCryptoAPI.d.ts +15 -0
  90. package/dist/cjs/util/webCryptoAPI.js +82 -0
  91. package/dist/cjs/util/webCryptoAPI.js.map +1 -0
  92. package/dist/cjs/util/websocket-util.d.ts +142 -0
  93. package/dist/cjs/util/websocket-util.js +533 -0
  94. package/dist/cjs/util/websocket-util.js.map +1 -0
  95. package/dist/cjs/websocket-api-client.d.ts +135 -0
  96. package/dist/cjs/websocket-api-client.js +171 -0
  97. package/dist/cjs/websocket-api-client.js.map +1 -0
  98. package/{lib/websocket-client.d.ts → dist/cjs/websocket-client-legacy.d.ts} +16 -38
  99. package/dist/cjs/websocket-client-legacy.js +524 -0
  100. package/dist/cjs/websocket-client-legacy.js.map +1 -0
  101. package/dist/cjs/websocket-client.d.ts +81 -0
  102. package/dist/cjs/websocket-client.js +548 -0
  103. package/dist/cjs/websocket-client.js.map +1 -0
  104. package/dist/mjs/constants/funding.d.ts +139 -0
  105. package/dist/mjs/constants/funding.js +140 -0
  106. package/dist/mjs/constants/funding.js.map +1 -0
  107. package/dist/mjs/index.d.ts +43 -0
  108. package/dist/mjs/index.js +48 -0
  109. package/dist/mjs/index.js.map +1 -0
  110. package/dist/mjs/package.json +3 -0
  111. package/dist/mjs/rest-client.d.ts +1173 -0
  112. package/dist/mjs/rest-client.js +1271 -0
  113. package/dist/mjs/rest-client.js.map +1 -0
  114. package/dist/mjs/types/rest/client.d.ts +36 -0
  115. package/dist/mjs/types/rest/client.js +2 -0
  116. package/{lib/types/websockets → dist/mjs/types/rest}/client.js.map +1 -1
  117. package/dist/mjs/types/rest/request/account.d.ts +144 -0
  118. package/dist/mjs/types/rest/request/account.js +2 -0
  119. package/dist/mjs/types/rest/request/account.js.map +1 -0
  120. package/dist/mjs/types/rest/request/block-trading.d.ts +76 -0
  121. package/dist/mjs/types/rest/request/block-trading.js +2 -0
  122. package/dist/mjs/types/rest/request/block-trading.js.map +1 -0
  123. package/dist/mjs/types/rest/request/convert.d.ts +19 -0
  124. package/dist/mjs/types/rest/request/convert.js +2 -0
  125. package/dist/mjs/types/rest/request/convert.js.map +1 -0
  126. package/dist/mjs/types/rest/request/copy-trading.d.ts +117 -0
  127. package/dist/mjs/types/rest/request/copy-trading.js +2 -0
  128. package/dist/mjs/types/rest/request/copy-trading.js.map +1 -0
  129. package/dist/mjs/types/rest/request/funding.d.ts +43 -0
  130. package/dist/mjs/types/rest/request/funding.js +2 -0
  131. package/dist/mjs/types/rest/request/funding.js.map +1 -0
  132. package/dist/mjs/types/rest/request/grid-trading.d.ts +66 -0
  133. package/dist/mjs/types/rest/request/grid-trading.js +2 -0
  134. package/dist/mjs/types/rest/request/grid-trading.js.map +1 -0
  135. package/dist/mjs/types/rest/request/public.d.ts +55 -0
  136. package/dist/mjs/types/rest/request/public.js +2 -0
  137. package/dist/mjs/types/rest/request/public.js.map +1 -0
  138. package/dist/mjs/types/rest/request/recurring-buy.d.ts +28 -0
  139. package/dist/mjs/types/rest/request/recurring-buy.js +2 -0
  140. package/dist/mjs/types/rest/request/recurring-buy.js.map +1 -0
  141. package/dist/mjs/types/rest/request/shared.d.ts +7 -0
  142. package/dist/mjs/types/rest/request/shared.js +2 -0
  143. package/dist/mjs/types/rest/request/shared.js.map +1 -0
  144. package/dist/mjs/types/rest/request/signal-bot.d.ts +97 -0
  145. package/dist/mjs/types/rest/request/signal-bot.js +2 -0
  146. package/dist/mjs/types/rest/request/signal-bot.js.map +1 -0
  147. package/dist/mjs/types/rest/request/simple-earn.d.ts +23 -0
  148. package/dist/mjs/types/rest/request/simple-earn.js +2 -0
  149. package/dist/mjs/types/rest/request/simple-earn.js.map +1 -0
  150. package/dist/mjs/types/rest/request/spread-trading.d.ts +69 -0
  151. package/dist/mjs/types/rest/request/spread-trading.js +2 -0
  152. package/dist/mjs/types/rest/request/spread-trading.js.map +1 -0
  153. package/dist/mjs/types/rest/request/subaccount.d.ts +33 -0
  154. package/dist/mjs/types/rest/request/subaccount.js +2 -0
  155. package/dist/mjs/types/rest/request/subaccount.js.map +1 -0
  156. package/dist/mjs/types/rest/request/trade.d.ts +194 -0
  157. package/dist/mjs/types/rest/request/trade.js +2 -0
  158. package/dist/mjs/types/rest/request/trade.js.map +1 -0
  159. package/dist/mjs/types/rest/response/private-account.d.ts +448 -0
  160. package/dist/mjs/types/rest/response/private-account.js +2 -0
  161. package/dist/mjs/types/rest/response/private-account.js.map +1 -0
  162. package/dist/mjs/types/rest/response/private-block-trading.d.ts +124 -0
  163. package/dist/mjs/types/rest/response/private-block-trading.js +2 -0
  164. package/dist/mjs/types/rest/response/private-block-trading.js.map +1 -0
  165. package/dist/mjs/types/rest/response/private-copy-trading.d.ts +259 -0
  166. package/dist/mjs/types/rest/response/private-copy-trading.js +2 -0
  167. package/dist/mjs/types/rest/response/private-copy-trading.js.map +1 -0
  168. package/dist/mjs/types/rest/response/private-flexible-loan.d.ts +72 -0
  169. package/dist/mjs/types/rest/response/private-flexible-loan.js +2 -0
  170. package/dist/mjs/types/rest/response/private-flexible-loan.js.map +1 -0
  171. package/dist/mjs/types/rest/response/private-funding.d.ts +102 -0
  172. package/dist/mjs/types/rest/response/private-funding.js +2 -0
  173. package/dist/mjs/types/rest/response/private-funding.js.map +1 -0
  174. package/dist/mjs/types/rest/response/private-recurring-buy.d.ts +63 -0
  175. package/dist/mjs/types/rest/response/private-recurring-buy.js +2 -0
  176. package/dist/mjs/types/rest/response/private-recurring-buy.js.map +1 -0
  177. package/dist/mjs/types/rest/response/private-signal-bot.d.ts +22 -0
  178. package/dist/mjs/types/rest/response/private-signal-bot.js +2 -0
  179. package/dist/mjs/types/rest/response/private-signal-bot.js.map +1 -0
  180. package/dist/mjs/types/rest/response/private-spread-trading.d.ts +126 -0
  181. package/dist/mjs/types/rest/response/private-spread-trading.js +2 -0
  182. package/dist/mjs/types/rest/response/private-spread-trading.js.map +1 -0
  183. package/dist/mjs/types/rest/response/private-subaccount.d.ts +80 -0
  184. package/dist/mjs/types/rest/response/private-subaccount.js +2 -0
  185. package/dist/mjs/types/rest/response/private-subaccount.js.map +1 -0
  186. package/dist/mjs/types/rest/response/private-trade.d.ts +355 -0
  187. package/dist/mjs/types/rest/response/private-trade.js +2 -0
  188. package/dist/mjs/types/rest/response/private-trade.js.map +1 -0
  189. package/dist/mjs/types/rest/response/public-data.d.ts +174 -0
  190. package/dist/mjs/types/rest/response/public-data.js +2 -0
  191. package/dist/mjs/types/rest/response/public-data.js.map +1 -0
  192. package/dist/mjs/types/rest/shared.d.ts +45 -0
  193. package/dist/mjs/types/rest/shared.js +2 -0
  194. package/dist/mjs/types/rest/shared.js.map +1 -0
  195. package/dist/mjs/types/shared.d.ts +13 -0
  196. package/dist/mjs/types/shared.js +2 -0
  197. package/{lib/types/rest → dist/mjs/types}/shared.js.map +1 -1
  198. package/dist/mjs/types/websockets/ws-api-request.d.ts +61 -0
  199. package/dist/mjs/types/websockets/ws-api-request.js +2 -0
  200. package/dist/mjs/types/websockets/ws-api-request.js.map +1 -0
  201. package/dist/mjs/types/websockets/ws-api-response.d.ts +28 -0
  202. package/dist/mjs/types/websockets/ws-api-response.js +2 -0
  203. package/dist/mjs/types/websockets/ws-api-response.js.map +1 -0
  204. package/dist/mjs/types/websockets/ws-api.d.ts +139 -0
  205. package/dist/mjs/types/websockets/ws-api.js +35 -0
  206. package/dist/mjs/types/websockets/ws-api.js.map +1 -0
  207. package/dist/mjs/types/websockets/ws-events.d.ts +33 -0
  208. package/dist/mjs/types/websockets/ws-events.js +8 -0
  209. package/dist/mjs/types/websockets/ws-events.js.map +1 -0
  210. package/dist/mjs/types/websockets/ws-general.d.ts +48 -0
  211. package/dist/mjs/types/websockets/ws-general.js +2 -0
  212. package/dist/mjs/types/websockets/ws-general.js.map +1 -0
  213. package/dist/mjs/types/websockets/ws-request.d.ts +93 -0
  214. package/dist/mjs/types/websockets/ws-request.js +2 -0
  215. package/dist/mjs/types/websockets/ws-request.js.map +1 -0
  216. package/dist/mjs/util/BaseRestClient.d.ts +29 -0
  217. package/dist/mjs/util/BaseRestClient.js +230 -0
  218. package/dist/mjs/util/BaseRestClient.js.map +1 -0
  219. package/dist/mjs/util/BaseWSClient.d.ts +198 -0
  220. package/dist/mjs/util/BaseWSClient.js +763 -0
  221. package/dist/mjs/util/BaseWSClient.js.map +1 -0
  222. package/dist/mjs/util/WsStore.d.ts +75 -0
  223. package/dist/mjs/util/WsStore.js +298 -0
  224. package/dist/mjs/util/WsStore.js.map +1 -0
  225. package/dist/mjs/util/WsStore.types.d.ts +51 -0
  226. package/dist/mjs/util/WsStore.types.js +11 -0
  227. package/dist/mjs/util/WsStore.types.js.map +1 -0
  228. package/dist/mjs/util/logger.d.ts +8 -0
  229. package/dist/mjs/util/logger.js +14 -0
  230. package/dist/mjs/util/logger.js.map +1 -0
  231. package/dist/mjs/util/requestUtils.d.ts +8 -0
  232. package/dist/mjs/util/requestUtils.js +51 -0
  233. package/dist/mjs/util/requestUtils.js.map +1 -0
  234. package/dist/mjs/util/typeGuards.d.ts +19 -0
  235. package/dist/mjs/util/typeGuards.js +85 -0
  236. package/dist/mjs/util/typeGuards.js.map +1 -0
  237. package/dist/mjs/util/webCryptoAPI.d.ts +15 -0
  238. package/dist/mjs/util/webCryptoAPI.js +77 -0
  239. package/dist/mjs/util/webCryptoAPI.js.map +1 -0
  240. package/dist/mjs/util/websocket-util.d.ts +142 -0
  241. package/dist/mjs/util/websocket-util.js +517 -0
  242. package/dist/mjs/util/websocket-util.js.map +1 -0
  243. package/dist/mjs/websocket-api-client.d.ts +135 -0
  244. package/dist/mjs/websocket-api-client.js +167 -0
  245. package/dist/mjs/websocket-api-client.js.map +1 -0
  246. package/dist/mjs/websocket-client-legacy.d.ts +76 -0
  247. package/dist/mjs/websocket-client-legacy.js +517 -0
  248. package/dist/mjs/websocket-client-legacy.js.map +1 -0
  249. package/dist/mjs/websocket-client.d.ts +81 -0
  250. package/dist/mjs/websocket-client.js +544 -0
  251. package/dist/mjs/websocket-client.js.map +1 -0
  252. package/llms.txt +5604 -3719
  253. package/package.json +28 -13
  254. package/index.js +0 -1
  255. package/lib/constants/funding.js.map +0 -1
  256. package/lib/constants/index.d.ts +0 -1
  257. package/lib/constants/index.js +0 -18
  258. package/lib/constants/index.js.map +0 -1
  259. package/lib/index.d.ts +0 -5
  260. package/lib/index.js +0 -22
  261. package/lib/index.js.map +0 -1
  262. package/lib/rest-client.js.map +0 -1
  263. package/lib/types/index.d.ts +0 -3
  264. package/lib/types/index.js +0 -20
  265. package/lib/types/index.js.map +0 -1
  266. package/lib/types/rest/client.d.ts +0 -20
  267. package/lib/types/rest/index.d.ts +0 -4
  268. package/lib/types/rest/index.js +0 -21
  269. package/lib/types/rest/index.js.map +0 -1
  270. package/lib/types/rest/request/account.js.map +0 -1
  271. package/lib/types/rest/request/announement.d.ts +0 -0
  272. package/lib/types/rest/request/announement.js +0 -1
  273. package/lib/types/rest/request/announement.js.map +0 -1
  274. package/lib/types/rest/request/block-trading.js.map +0 -1
  275. package/lib/types/rest/request/convert.js.map +0 -1
  276. package/lib/types/rest/request/copy-trading.js.map +0 -1
  277. package/lib/types/rest/request/funding.js.map +0 -1
  278. package/lib/types/rest/request/grid-trading.js.map +0 -1
  279. package/lib/types/rest/request/index.d.ts +0 -14
  280. package/lib/types/rest/request/index.js +0 -31
  281. package/lib/types/rest/request/index.js.map +0 -1
  282. package/lib/types/rest/request/public.js.map +0 -1
  283. package/lib/types/rest/request/recurring-buy.js.map +0 -1
  284. package/lib/types/rest/request/shared.js.map +0 -1
  285. package/lib/types/rest/request/signal-bot.js.map +0 -1
  286. package/lib/types/rest/request/simple-earn.js.map +0 -1
  287. package/lib/types/rest/request/spread-trading.js.map +0 -1
  288. package/lib/types/rest/request/subaccount.js.map +0 -1
  289. package/lib/types/rest/request/trade.js.map +0 -1
  290. package/lib/types/rest/response/index.d.ts +0 -11
  291. package/lib/types/rest/response/index.js +0 -28
  292. package/lib/types/rest/response/index.js.map +0 -1
  293. package/lib/types/rest/response/private-account.js.map +0 -1
  294. package/lib/types/rest/response/private-block-trading.js.map +0 -1
  295. package/lib/types/rest/response/private-copy-trading.js.map +0 -1
  296. package/lib/types/rest/response/private-flexible-loan.js.map +0 -1
  297. package/lib/types/rest/response/private-funding.js.map +0 -1
  298. package/lib/types/rest/response/private-recurring-buy.js.map +0 -1
  299. package/lib/types/rest/response/private-signal-bot.js.map +0 -1
  300. package/lib/types/rest/response/private-spread-trading.js.map +0 -1
  301. package/lib/types/rest/response/private-subaccount.js.map +0 -1
  302. package/lib/types/rest/response/private-trade.js.map +0 -1
  303. package/lib/types/rest/response/public-data.js.map +0 -1
  304. package/lib/types/shared.d.ts +0 -6
  305. package/lib/types/websockets/client.d.ts +0 -22
  306. package/lib/types/websockets/client.js +0 -3
  307. package/lib/types/websockets/event.js +0 -3
  308. package/lib/types/websockets/event.js.map +0 -1
  309. package/lib/types/websockets/index.d.ts +0 -3
  310. package/lib/types/websockets/index.js +0 -20
  311. package/lib/types/websockets/index.js.map +0 -1
  312. package/lib/types/websockets/request.js +0 -3
  313. package/lib/types/websockets/request.js.map +0 -1
  314. package/lib/util/BaseRestClient.js +0 -217
  315. package/lib/util/BaseRestClient.js.map +0 -1
  316. package/lib/util/WsStore.d.ts +0 -66
  317. package/lib/util/WsStore.js +0 -168
  318. package/lib/util/WsStore.js.map +0 -1
  319. package/lib/util/browser-support.d.ts +0 -6
  320. package/lib/util/browser-support.js +0 -48
  321. package/lib/util/browser-support.js.map +0 -1
  322. package/lib/util/index.d.ts +0 -4
  323. package/lib/util/index.js +0 -21
  324. package/lib/util/index.js.map +0 -1
  325. package/lib/util/logger.d.ts +0 -9
  326. package/lib/util/logger.js.map +0 -1
  327. package/lib/util/node-support.d.ts +0 -1
  328. package/lib/util/node-support.js +0 -8
  329. package/lib/util/node-support.js.map +0 -1
  330. package/lib/util/requestUtils.js.map +0 -1
  331. package/lib/util/typeGuards.js.map +0 -1
  332. package/lib/util/websocket-util.d.ts +0 -35
  333. package/lib/util/websocket-util.js +0 -282
  334. package/lib/util/websocket-util.js.map +0 -1
  335. package/lib/websocket-client.js +0 -472
  336. package/lib/websocket-client.js.map +0 -1
  337. /package/{lib → dist/cjs}/constants/funding.d.ts +0 -0
  338. /package/{lib → dist/cjs}/constants/funding.js +0 -0
  339. /package/{lib → dist/cjs}/types/rest/client.js +0 -0
  340. /package/{lib → dist/cjs}/types/rest/request/account.js +0 -0
  341. /package/{lib → dist/cjs}/types/rest/request/block-trading.js +0 -0
  342. /package/{lib → dist/cjs}/types/rest/request/convert.d.ts +0 -0
  343. /package/{lib → dist/cjs}/types/rest/request/convert.js +0 -0
  344. /package/{lib → dist/cjs}/types/rest/request/copy-trading.d.ts +0 -0
  345. /package/{lib → dist/cjs}/types/rest/request/copy-trading.js +0 -0
  346. /package/{lib → dist/cjs}/types/rest/request/funding.d.ts +0 -0
  347. /package/{lib → dist/cjs}/types/rest/request/funding.js +0 -0
  348. /package/{lib → dist/cjs}/types/rest/request/grid-trading.d.ts +0 -0
  349. /package/{lib → dist/cjs}/types/rest/request/grid-trading.js +0 -0
  350. /package/{lib → dist/cjs}/types/rest/request/public.d.ts +0 -0
  351. /package/{lib → dist/cjs}/types/rest/request/public.js +0 -0
  352. /package/{lib → dist/cjs}/types/rest/request/recurring-buy.d.ts +0 -0
  353. /package/{lib → dist/cjs}/types/rest/request/recurring-buy.js +0 -0
  354. /package/{lib → dist/cjs}/types/rest/request/shared.js +0 -0
  355. /package/{lib → dist/cjs}/types/rest/request/signal-bot.d.ts +0 -0
  356. /package/{lib → dist/cjs}/types/rest/request/signal-bot.js +0 -0
  357. /package/{lib → dist/cjs}/types/rest/request/simple-earn.d.ts +0 -0
  358. /package/{lib → dist/cjs}/types/rest/request/simple-earn.js +0 -0
  359. /package/{lib → dist/cjs}/types/rest/request/spread-trading.d.ts +0 -0
  360. /package/{lib → dist/cjs}/types/rest/request/spread-trading.js +0 -0
  361. /package/{lib → dist/cjs}/types/rest/request/subaccount.d.ts +0 -0
  362. /package/{lib → dist/cjs}/types/rest/request/subaccount.js +0 -0
  363. /package/{lib → dist/cjs}/types/rest/request/trade.js +0 -0
  364. /package/{lib → dist/cjs}/types/rest/response/private-account.js +0 -0
  365. /package/{lib → dist/cjs}/types/rest/response/private-block-trading.js +0 -0
  366. /package/{lib → dist/cjs}/types/rest/response/private-copy-trading.d.ts +0 -0
  367. /package/{lib → dist/cjs}/types/rest/response/private-copy-trading.js +0 -0
  368. /package/{lib → dist/cjs}/types/rest/response/private-flexible-loan.d.ts +0 -0
  369. /package/{lib → dist/cjs}/types/rest/response/private-flexible-loan.js +0 -0
  370. /package/{lib → dist/cjs}/types/rest/response/private-funding.js +0 -0
  371. /package/{lib → dist/cjs}/types/rest/response/private-recurring-buy.d.ts +0 -0
  372. /package/{lib → dist/cjs}/types/rest/response/private-recurring-buy.js +0 -0
  373. /package/{lib → dist/cjs}/types/rest/response/private-signal-bot.d.ts +0 -0
  374. /package/{lib → dist/cjs}/types/rest/response/private-signal-bot.js +0 -0
  375. /package/{lib → dist/cjs}/types/rest/response/private-spread-trading.d.ts +0 -0
  376. /package/{lib → dist/cjs}/types/rest/response/private-spread-trading.js +0 -0
  377. /package/{lib → dist/cjs}/types/rest/response/private-subaccount.d.ts +0 -0
  378. /package/{lib → dist/cjs}/types/rest/response/private-subaccount.js +0 -0
  379. /package/{lib → dist/cjs}/types/rest/response/private-trade.js +0 -0
  380. /package/{lib → dist/cjs}/types/rest/response/public-data.js +0 -0
  381. /package/{lib → dist/cjs}/types/rest/shared.js +0 -0
  382. /package/{lib → dist/cjs}/types/shared.js +0 -0
@@ -1,472 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.WebsocketClient = void 0;
16
- /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
17
- const events_1 = require("events");
18
- const isomorphic_ws_1 = __importDefault(require("isomorphic-ws"));
19
- const util_1 = require("./util");
20
- const node_support_1 = require("./util/node-support");
21
- const websocket_util_1 = require("./util/websocket-util");
22
- const loggerCategory = { category: 'okx-ws' };
23
- class WebsocketClient extends events_1.EventEmitter {
24
- constructor(options, logger) {
25
- super();
26
- this.logger = logger || util_1.DefaultLogger;
27
- this.wsStore = new util_1.WsStore(this.logger);
28
- this.options = Object.assign({ market: 'prod', pongTimeout: 2000, pingInterval: 10000, reconnectTimeout: 500 }, options);
29
- // add default error handling so this doesn't crash node (if the user didn't set a handler)
30
- this.on('error', () => { });
31
- }
32
- /**
33
- * Subscribe to topics & track/persist them. They will be automatically resubscribed to if the connection drops/reconnects.
34
- * @param wsEvents topic or list of topics
35
- * @param isPrivateTopic optional - the library will try to detect private topics, you can use this to mark a topic as private (if the topic isn't recognised yet)
36
- */
37
- subscribe(wsEvents, isPrivateTopic) {
38
- const wsEventArgs = Array.isArray(wsEvents) ? wsEvents : [wsEvents];
39
- wsEventArgs.forEach((wsEventArg) => {
40
- const wsKey = (0, util_1.getWsKeyForTopicChannel)(this.options.market, wsEventArg.channel, isPrivateTopic);
41
- // Persist topic for reconnects
42
- this.wsStore.addComplexTopic(wsKey, wsEventArg);
43
- // if connected, send subscription request
44
- if (this.wsStore.isConnectionState(wsKey, util_1.WsConnectionStateEnum.CONNECTED)) {
45
- return this.requestSubscribeTopics(wsKey, [wsEventArg]);
46
- }
47
- // start connection process if it hasn't yet begun. Topics are automatically subscribed to on-connect
48
- if (!this.wsStore.isConnectionState(wsKey, util_1.WsConnectionStateEnum.CONNECTING) &&
49
- !this.wsStore.isConnectionState(wsKey, util_1.WsConnectionStateEnum.RECONNECTING)) {
50
- return this.connect(wsKey);
51
- }
52
- });
53
- }
54
- /**
55
- * Unsubscribe from topics & remove them from memory. They won't be re-subscribed to if the connection reconnects.
56
- * @param wsTopics topic or list of topics
57
- * @param isPrivateTopic optional - the library will try to detect private topics, you can use this to mark a topic as private (if the topic isn't recognised yet)
58
- */
59
- unsubscribe(wsTopics, isPrivateTopic) {
60
- const wsEventArgs = Array.isArray(wsTopics) ? wsTopics : [wsTopics];
61
- wsEventArgs.forEach((wsEventArg) => {
62
- const wsKey = (0, util_1.getWsKeyForTopicChannel)(this.options.market, wsEventArg.channel, isPrivateTopic);
63
- // Remove topic from persistence for reconnects
64
- this.wsStore.deleteComplexTopic(wsKey, wsEventArg);
65
- // unsubscribe request only necessary if active connection exists
66
- if (this.wsStore.isConnectionState(wsKey, util_1.WsConnectionStateEnum.CONNECTED)) {
67
- this.requestUnsubscribeTopics(wsKey, [wsEventArg]);
68
- }
69
- });
70
- }
71
- /** Get the WsStore that tracks websocket & topic state */
72
- getWsStore() {
73
- return this.wsStore;
74
- }
75
- close(wsKey, force) {
76
- this.logger.info('Closing connection', Object.assign(Object.assign({}, loggerCategory), { wsKey }));
77
- this.wsStore.setConnectionState(wsKey, util_1.WsConnectionStateEnum.CLOSING);
78
- this.clearTimers(wsKey);
79
- const ws = this.wsStore.getWs(wsKey);
80
- ws === null || ws === void 0 ? void 0 : ws.close();
81
- if (force) {
82
- (0, websocket_util_1.safeTerminateWs)(ws);
83
- }
84
- }
85
- closeAll(force) {
86
- const keys = this.wsStore.getKeys();
87
- this.logger.info(`Closing all ws connections: ${keys}`);
88
- keys.forEach((key) => {
89
- this.close(key, force);
90
- });
91
- }
92
- /**
93
- * Request connection of all dependent (public & private) websockets, instead of waiting for automatic connection by library
94
- */
95
- connectAll() {
96
- return [this.connectPublic(), this.connectPrivate()];
97
- }
98
- connectPublic(businessEndpoint) {
99
- const isPrivate = false;
100
- const wsKey = (0, websocket_util_1.getWsKeyForMarket)(this.options.market, isPrivate, !!businessEndpoint);
101
- return this.connect(util_1.WS_KEY_MAP[wsKey]);
102
- }
103
- connectPrivate(businessEndpoint) {
104
- const isPrivate = true;
105
- const wsKey = (0, websocket_util_1.getWsKeyForMarket)(this.options.market, isPrivate, !!businessEndpoint);
106
- return this.connect(util_1.WS_KEY_MAP[wsKey]);
107
- }
108
- connect(wsKey) {
109
- return __awaiter(this, void 0, void 0, function* () {
110
- try {
111
- if (this.wsStore.isWsOpen(wsKey)) {
112
- this.logger.error('Refused to connect to ws with existing active connection', Object.assign(Object.assign({}, loggerCategory), { wsKey }));
113
- return this.wsStore.getWs(wsKey);
114
- }
115
- if (this.wsStore.isConnectionState(wsKey, util_1.WsConnectionStateEnum.CONNECTING)) {
116
- this.logger.error('Refused to connect to ws, connection attempt already active', Object.assign(Object.assign({}, loggerCategory), { wsKey }));
117
- return;
118
- }
119
- if (!this.wsStore.getConnectionState(wsKey) ||
120
- this.wsStore.isConnectionState(wsKey, util_1.WsConnectionStateEnum.INITIAL)) {
121
- this.wsStore.setConnectionState(wsKey, util_1.WsConnectionStateEnum.CONNECTING);
122
- }
123
- const url = (0, websocket_util_1.getWsUrlForWsKey)(wsKey, this.options, this.logger);
124
- const ws = this.connectToWsUrl(url, wsKey);
125
- return this.wsStore.setWs(wsKey, ws);
126
- }
127
- catch (err) {
128
- this.parseWsError('Connection failed', err, wsKey);
129
- this.reconnectWithDelay(wsKey, this.options.reconnectTimeout);
130
- }
131
- });
132
- }
133
- parseWsError(context, error, wsKey) {
134
- if (!error.message) {
135
- this.logger.error(`${context} due to unexpected error: `, error);
136
- this.emit('error', error);
137
- return;
138
- }
139
- switch (error.message) {
140
- default:
141
- if (this.wsStore.getConnectionState(wsKey) !==
142
- util_1.WsConnectionStateEnum.CLOSING) {
143
- this.logger.error(`${context} due to unexpected response error: "${(error === null || error === void 0 ? void 0 : error.msg) || (error === null || error === void 0 ? void 0 : error.message) || error}"`, Object.assign(Object.assign({}, loggerCategory), { wsKey, error }));
144
- this.executeReconnectableClose(wsKey, 'unhandled onWsError');
145
- }
146
- else {
147
- this.logger.info(`${wsKey} socket forcefully closed. Will not reconnect.`);
148
- }
149
- break;
150
- }
151
- this.emit('error', error);
152
- }
153
- /**
154
- * Return params required to make authorized request
155
- */
156
- getWsAuthRequest(wsKey) {
157
- return __awaiter(this, void 0, void 0, function* () {
158
- const isPublicWsKey = util_1.PUBLIC_WS_KEYS.includes(wsKey);
159
- const accounts = this.options.accounts;
160
- const hasAccountsToAuth = !!(accounts === null || accounts === void 0 ? void 0 : accounts.length);
161
- if (isPublicWsKey || !accounts || !hasAccountsToAuth) {
162
- this.logger.debug('Starting public only websocket client.', Object.assign(Object.assign({}, loggerCategory), { wsKey,
163
- isPublicWsKey,
164
- hasAccountsToAuth }));
165
- return;
166
- }
167
- try {
168
- const authAccountRequests = accounts.map((credentials) => __awaiter(this, void 0, void 0, function* () {
169
- try {
170
- const { signature, timestamp } = yield this.getWsAuthSignature(wsKey, credentials);
171
- return {
172
- apiKey: credentials.apiKey,
173
- passphrase: credentials.apiPass,
174
- timestamp: timestamp,
175
- sign: signature,
176
- };
177
- }
178
- catch (e) {
179
- this.logger.error(`Account with key ${credentials.apiKey} could not be authenticateD: ${e}`);
180
- }
181
- return;
182
- }));
183
- const signedAuthAccountRequests = yield Promise.all(authAccountRequests);
184
- // Filter out failed accounts
185
- const authRequests = signedAuthAccountRequests.filter((request) => !!request);
186
- const authParams = {
187
- op: 'login',
188
- args: authRequests,
189
- };
190
- return authParams;
191
- }
192
- catch (e) {
193
- this.logger.error(e, Object.assign(Object.assign({}, loggerCategory), { wsKey }));
194
- return;
195
- }
196
- });
197
- }
198
- getWsAuthSignature(wsKey, credentials) {
199
- return __awaiter(this, void 0, void 0, function* () {
200
- const { apiKey, apiSecret } = credentials;
201
- if (!apiKey || !apiSecret) {
202
- this.logger.warning('Cannot authenticate websocket, either api or secret missing.', Object.assign(Object.assign({}, loggerCategory), { wsKey }));
203
- throw new Error(`Cannot auth - missing api or secret in config (key: ${apiKey})`);
204
- }
205
- this.logger.debug("Getting auth'd request params", Object.assign(Object.assign({}, loggerCategory), { wsKey }));
206
- const timestamp = (Date.now() / 1000).toFixed(0);
207
- // const signatureExpiresAt = timestamp + 5;
208
- const signatureRequest = timestamp + 'GET' + '/users/self/verify';
209
- const signature = yield (0, node_support_1.signMessage)(signatureRequest, apiSecret);
210
- return {
211
- signature,
212
- timestamp,
213
- };
214
- });
215
- }
216
- sendAuthRequest(wsKey) {
217
- return __awaiter(this, void 0, void 0, function* () {
218
- const logContext = Object.assign(Object.assign({}, loggerCategory), { wsKey, method: 'sendAuthRequest' });
219
- this.logger.info('Sending auth request...', logContext);
220
- try {
221
- const authRequest = yield this.getWsAuthRequest(wsKey);
222
- if (!authRequest) {
223
- throw new Error('Cannot authenticate this connection');
224
- }
225
- this.logger.info(`Sending authentication request on wsKey(${wsKey})`, logContext);
226
- this.logger.silly(`Authenticating with event: ${JSON.stringify(authRequest, null, 2)} on wsKey(${wsKey})`, logContext);
227
- return this.tryWsSend(wsKey, JSON.stringify(authRequest));
228
- }
229
- catch (e) {
230
- this.logger.error(e, logContext);
231
- }
232
- });
233
- }
234
- reconnectWithDelay(wsKey, connectionDelayMs) {
235
- var _a;
236
- this.clearTimers(wsKey);
237
- if (this.wsStore.getConnectionState(wsKey) !==
238
- util_1.WsConnectionStateEnum.CONNECTING) {
239
- this.wsStore.setConnectionState(wsKey, util_1.WsConnectionStateEnum.RECONNECTING);
240
- }
241
- if ((_a = this.wsStore.get(wsKey)) === null || _a === void 0 ? void 0 : _a.activeReconnectTimer) {
242
- this.clearReconnectTimer(wsKey);
243
- }
244
- this.wsStore.get(wsKey, true).activeReconnectTimer = setTimeout(() => {
245
- this.logger.info('Reconnecting to websocket', Object.assign(Object.assign({}, loggerCategory), { wsKey }));
246
- this.clearReconnectTimer(wsKey);
247
- this.connect(wsKey);
248
- }, connectionDelayMs);
249
- }
250
- ping(wsKey) {
251
- if (this.wsStore.get(wsKey, true).activePongTimer) {
252
- return;
253
- }
254
- this.clearPongTimer(wsKey);
255
- this.logger.silly('Sending ping', Object.assign(Object.assign({}, loggerCategory), { wsKey }));
256
- this.tryWsSend(wsKey, 'ping');
257
- this.wsStore.get(wsKey, true).activePongTimer = setTimeout(() => this.executeReconnectableClose(wsKey, 'Pong timeout'), this.options.pongTimeout);
258
- }
259
- /**
260
- * Closes a connection, if it's even open. If open, this will trigger a reconnect asynchronously.
261
- * If closed, trigger a reconnect immediately
262
- */
263
- executeReconnectableClose(wsKey, reason) {
264
- this.logger.info(`${reason} - closing socket to reconnect`, Object.assign(Object.assign({}, loggerCategory), { wsKey,
265
- reason }));
266
- const wasOpen = this.wsStore.isWsOpen(wsKey);
267
- if (wasOpen) {
268
- (0, websocket_util_1.safeTerminateWs)(this.wsStore.getWs(wsKey), true);
269
- }
270
- delete this.wsStore.get(wsKey, true).activePongTimer;
271
- this.clearPingTimer(wsKey);
272
- this.clearPongTimer(wsKey);
273
- if (!wasOpen) {
274
- this.logger.info(`${reason} - socket already closed - trigger immediate reconnect`, Object.assign(Object.assign({}, loggerCategory), { wsKey,
275
- reason }));
276
- this.reconnectWithDelay(wsKey, this.options.reconnectTimeout);
277
- }
278
- }
279
- clearTimers(wsKey) {
280
- this.clearPingTimer(wsKey);
281
- this.clearPongTimer(wsKey);
282
- this.clearReconnectTimer(wsKey);
283
- }
284
- // Send a ping at intervals
285
- clearPingTimer(wsKey) {
286
- const wsState = this.wsStore.get(wsKey);
287
- if (wsState === null || wsState === void 0 ? void 0 : wsState.activePingTimer) {
288
- clearInterval(wsState.activePingTimer);
289
- wsState.activePingTimer = undefined;
290
- }
291
- }
292
- // Expect a pong within a time limit
293
- clearPongTimer(wsKey) {
294
- const wsState = this.wsStore.get(wsKey);
295
- if (wsState === null || wsState === void 0 ? void 0 : wsState.activePongTimer) {
296
- clearTimeout(wsState.activePongTimer);
297
- wsState.activePongTimer = undefined;
298
- }
299
- }
300
- clearReconnectTimer(wsKey) {
301
- const wsState = this.wsStore.get(wsKey);
302
- if (wsState === null || wsState === void 0 ? void 0 : wsState.activeReconnectTimer) {
303
- clearTimeout(wsState.activeReconnectTimer);
304
- wsState.activeReconnectTimer = undefined;
305
- }
306
- }
307
- /**
308
- * @private Use the `subscribe(topics)` method to subscribe to topics. Send WS message to subscribe to topics.
309
- */
310
- requestSubscribeTopics(wsKey, topics) {
311
- if (!topics.length) {
312
- return;
313
- }
314
- const maxTopicsPerEvent = (0, util_1.getMaxTopicsPerSubscribeEvent)(this.options.market);
315
- if (maxTopicsPerEvent && topics.length > maxTopicsPerEvent) {
316
- this.logger.silly(`Subscribing to topics in batches of ${maxTopicsPerEvent}`);
317
- for (let i = 0; i < topics.length; i += maxTopicsPerEvent) {
318
- const batch = topics.slice(i, i + maxTopicsPerEvent);
319
- this.logger.silly(`Subscribing to batch of ${batch.length}`);
320
- this.requestSubscribeTopics(wsKey, batch);
321
- }
322
- this.logger.silly(`Finished batch subscribing to ${topics.length} topics`);
323
- return;
324
- }
325
- const request = {
326
- op: 'subscribe',
327
- args: topics,
328
- };
329
- const wsMessage = JSON.stringify(request);
330
- this.tryWsSend(wsKey, wsMessage);
331
- }
332
- /**
333
- * @private Use the `unsubscribe(topics)` method to unsubscribe from topics. Send WS message to unsubscribe from topics.
334
- */
335
- requestUnsubscribeTopics(wsKey, topics) {
336
- if (!topics.length) {
337
- return;
338
- }
339
- const maxTopicsPerEvent = (0, util_1.getMaxTopicsPerSubscribeEvent)(this.options.market);
340
- if (maxTopicsPerEvent && topics.length > maxTopicsPerEvent) {
341
- this.logger.silly(`Unsubscribing to topics in batches of ${maxTopicsPerEvent}`);
342
- for (let i = 0; i < topics.length; i += maxTopicsPerEvent) {
343
- const batch = topics.slice(i, i + maxTopicsPerEvent);
344
- this.logger.silly(`Unsubscribing to batch of ${batch.length}`);
345
- this.requestUnsubscribeTopics(wsKey, batch);
346
- }
347
- this.logger.silly(`Finished batch unsubscribing to ${topics.length} topics`);
348
- return;
349
- }
350
- const request = {
351
- op: 'unsubscribe',
352
- args: topics,
353
- };
354
- const wsMessage = JSON.stringify(request);
355
- this.tryWsSend(wsKey, wsMessage);
356
- }
357
- tryWsSend(wsKey, wsMessage) {
358
- try {
359
- this.logger.silly('Sending upstream ws message: ', Object.assign(Object.assign({}, loggerCategory), { wsMessage,
360
- wsKey }));
361
- if (!wsKey) {
362
- throw new Error(`Cannot send message (wsKey not provided: wsKey(${wsKey}))`);
363
- }
364
- const ws = this.wsStore.getWs(wsKey);
365
- if (!ws) {
366
- throw new Error(`${wsKey} socket not connected yet, call "connect(${wsKey}) first then try again when the "open" event arrives`);
367
- }
368
- ws.send(wsMessage);
369
- }
370
- catch (e) {
371
- this.logger.error('Failed to send WS message', Object.assign(Object.assign({}, loggerCategory), { wsMessage,
372
- wsKey, exception: e }));
373
- }
374
- }
375
- connectToWsUrl(url, wsKey) {
376
- var _a;
377
- this.logger.silly(`Opening WS connection to URL: ${url}`, Object.assign(Object.assign({}, loggerCategory), { wsKey }));
378
- const agent = (_a = this.options.requestOptions) === null || _a === void 0 ? void 0 : _a.agent;
379
- const ws = new isomorphic_ws_1.default(url, undefined, agent ? { agent } : undefined);
380
- ws.onopen = (event) => this.onWsOpen(event, wsKey);
381
- ws.onmessage = (event) => this.onWsMessage(event, wsKey);
382
- ws.onerror = (event) => this.parseWsError('Websocket onWsError', event, wsKey);
383
- ws.onclose = (event) => this.onWsClose(event, wsKey);
384
- return ws;
385
- }
386
- onWsOpen(event, wsKey) {
387
- return __awaiter(this, void 0, void 0, function* () {
388
- if (this.wsStore.isConnectionState(wsKey, util_1.WsConnectionStateEnum.CONNECTING)) {
389
- this.logger.info('Websocket connected', Object.assign(Object.assign({}, loggerCategory), { wsKey, market: this.options.market }));
390
- this.emit('open', { wsKey, event });
391
- }
392
- else if (this.wsStore.isConnectionState(wsKey, util_1.WsConnectionStateEnum.RECONNECTING)) {
393
- this.logger.info('Websocket reconnected', Object.assign(Object.assign({}, loggerCategory), { wsKey }));
394
- this.emit('reconnected', { wsKey, event });
395
- }
396
- this.wsStore.setConnectionState(wsKey, util_1.WsConnectionStateEnum.CONNECTED);
397
- this.wsStore.get(wsKey, true).activePingTimer = setInterval(() => this.ping(wsKey), this.options.pingInterval);
398
- // Private websockets require an auth packet to be sent after opening the connection
399
- if (util_1.PRIVATE_WS_KEYS.includes(wsKey)) {
400
- // Any requested private topics will be subscribed to once authentication succeeds (in onWsMessage handler)
401
- yield this.sendAuthRequest(wsKey);
402
- // Private topics will be subscribed to once authentication is confirmed as successful
403
- return;
404
- }
405
- // Public topics can be subscribed to immediately
406
- const topics = [
407
- ...this.wsStore.getTopics(wsKey),
408
- ];
409
- // Since public channels have their own ws key, these topics must be public ones already
410
- this.requestSubscribeTopics(wsKey, topics);
411
- });
412
- }
413
- onWsMessage(event, wsKey) {
414
- const logContext = Object.assign(Object.assign({}, loggerCategory), { wsKey, method: 'onWsMessage' });
415
- try {
416
- // any message can clear the pong timer - wouldn't get a message if the ws dropped
417
- this.clearPongTimer(wsKey);
418
- if ((0, util_1.isWsPong)(event)) {
419
- this.logger.silly('Received pong', logContext);
420
- return;
421
- }
422
- const msg = JSON.parse((event === null || event === void 0 ? void 0 : event.data) || event);
423
- if ((0, util_1.isWsErrorEvent)(msg)) {
424
- this.logger.error('WS error event: ', Object.assign(Object.assign({}, msg), { wsKey }));
425
- return this.emit('error', Object.assign(Object.assign({}, msg), { wsKey }));
426
- }
427
- if ((0, util_1.isWsDataEvent)(msg)) {
428
- return this.emit('update', Object.assign(Object.assign({}, msg), { wsKey }));
429
- }
430
- if ((0, util_1.isWsLoginEvent)(msg)) {
431
- // Successfully authenticated
432
- if (msg.code === websocket_util_1.WS_EVENT_CODE_ENUM.OK) {
433
- this.logger.info(`Authenticated successfully on wsKey(${wsKey})`, logContext);
434
- this.emit('response', Object.assign(Object.assign({}, msg), { wsKey }));
435
- const topics = [
436
- ...this.wsStore.getTopics(wsKey),
437
- ];
438
- // Since private topics have a dedicated WsKey, these are automatically all private topics (no filtering required before the subscribe call)
439
- this.requestSubscribeTopics(wsKey, topics);
440
- return;
441
- }
442
- this.logger.error('Authentication failed: ', Object.assign(Object.assign(Object.assign({}, logContext), msg), { wsKey }));
443
- return this.emit('error', Object.assign(Object.assign({}, msg), { wsKey }));
444
- }
445
- if ((0, util_1.isWsSubscribeEvent)(msg) || (0, util_1.isWsUnsubscribeEvent)(msg)) {
446
- // this.logger.silly(`Ws subscribe reply:`, { ...msg, wsKey });
447
- return this.emit('response', Object.assign(Object.assign({}, msg), { wsKey }));
448
- }
449
- if ((0, util_1.isConnCountEvent)(msg)) {
450
- return this.emit('response', Object.assign(Object.assign({}, msg), { wsKey }));
451
- }
452
- this.logger.error('Unhandled/unrecognised ws event message', Object.assign(Object.assign({}, logContext), { eventName: msg.event, msg: JSON.stringify(msg, null, 2), wsKey }));
453
- }
454
- catch (e) {
455
- this.logger.error('Failed to parse ws event message', Object.assign(Object.assign({}, logContext), { error: e, event,
456
- wsKey }));
457
- }
458
- }
459
- onWsClose(event, wsKey) {
460
- this.logger.info('Websocket connection closed', Object.assign(Object.assign({}, loggerCategory), { wsKey }));
461
- if (this.wsStore.getConnectionState(wsKey) !== util_1.WsConnectionStateEnum.CLOSING) {
462
- this.reconnectWithDelay(wsKey, this.options.reconnectTimeout);
463
- this.emit('reconnect', { wsKey, event });
464
- }
465
- else {
466
- this.wsStore.setConnectionState(wsKey, util_1.WsConnectionStateEnum.INITIAL);
467
- this.emit('close', { wsKey, event });
468
- }
469
- }
470
- }
471
- exports.WebsocketClient = WebsocketClient;
472
- //# sourceMappingURL=websocket-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"websocket-client.js","sourceRoot":"","sources":["../src/websocket-client.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes