@grvt/client 1.4.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 (539) hide show
  1. package/LICENSE +0 -0
  2. package/MDG/index.d.ts +53 -0
  3. package/MDG/index.js +106 -0
  4. package/README.md +62 -0
  5. package/TDG/index.d.ts +118 -0
  6. package/TDG/index.js +253 -0
  7. package/index.d.ts +10 -0
  8. package/index.js +25 -0
  9. package/interfaces/codegen/data.interface.d.ts +1581 -0
  10. package/interfaces/codegen/data.interface.js +403 -0
  11. package/interfaces/codegen/enum-int.d.ts +23 -0
  12. package/interfaces/codegen/enum-int.js +207 -0
  13. package/interfaces/codegen/hex-string-map.d.ts +1 -0
  14. package/interfaces/codegen/hex-string-map.js +28 -0
  15. package/interfaces/codegen/index.d.ts +5 -0
  16. package/interfaces/codegen/index.js +21 -0
  17. package/interfaces/codegen/schema-maps/ack.d.ts +2 -0
  18. package/interfaces/codegen/schema-maps/ack.js +12 -0
  19. package/interfaces/codegen/schema-maps/ack_response.d.ts +2 -0
  20. package/interfaces/codegen/schema-maps/ack_response.js +13 -0
  21. package/interfaces/codegen/schema-maps/aggregated_account_summary.d.ts +2 -0
  22. package/interfaces/codegen/schema-maps/aggregated_account_summary.js +17 -0
  23. package/interfaces/codegen/schema-maps/api_aggregated_account_summary_response.d.ts +2 -0
  24. package/interfaces/codegen/schema-maps/api_aggregated_account_summary_response.js +13 -0
  25. package/interfaces/codegen/schema-maps/api_cancel_all_orders_request.d.ts +2 -0
  26. package/interfaces/codegen/schema-maps/api_cancel_all_orders_request.js +18 -0
  27. package/interfaces/codegen/schema-maps/api_cancel_all_orders_response.d.ts +2 -0
  28. package/interfaces/codegen/schema-maps/api_cancel_all_orders_response.js +12 -0
  29. package/interfaces/codegen/schema-maps/api_cancel_on_disconnect_request.d.ts +2 -0
  30. package/interfaces/codegen/schema-maps/api_cancel_on_disconnect_request.js +14 -0
  31. package/interfaces/codegen/schema-maps/api_cancel_order_request.d.ts +2 -0
  32. package/interfaces/codegen/schema-maps/api_cancel_order_request.js +18 -0
  33. package/interfaces/codegen/schema-maps/api_cancel_order_response.d.ts +2 -0
  34. package/interfaces/codegen/schema-maps/api_cancel_order_response.js +13 -0
  35. package/interfaces/codegen/schema-maps/api_candlestick_request.d.ts +2 -0
  36. package/interfaces/codegen/schema-maps/api_candlestick_request.js +24 -0
  37. package/interfaces/codegen/schema-maps/api_candlestick_response.d.ts +2 -0
  38. package/interfaces/codegen/schema-maps/api_candlestick_response.js +15 -0
  39. package/interfaces/codegen/schema-maps/api_category_affinity_score_request.d.ts +2 -0
  40. package/interfaces/codegen/schema-maps/api_category_affinity_score_request.js +14 -0
  41. package/interfaces/codegen/schema-maps/api_category_affinity_score_response.d.ts +2 -0
  42. package/interfaces/codegen/schema-maps/api_category_affinity_score_response.js +13 -0
  43. package/interfaces/codegen/schema-maps/api_create_bulk_orders_request.d.ts +2 -0
  44. package/interfaces/codegen/schema-maps/api_create_bulk_orders_request.js +13 -0
  45. package/interfaces/codegen/schema-maps/api_create_bulk_orders_response.d.ts +2 -0
  46. package/interfaces/codegen/schema-maps/api_create_bulk_orders_response.js +13 -0
  47. package/interfaces/codegen/schema-maps/api_create_order_request.d.ts +2 -0
  48. package/interfaces/codegen/schema-maps/api_create_order_request.js +13 -0
  49. package/interfaces/codegen/schema-maps/api_create_order_response.d.ts +2 -0
  50. package/interfaces/codegen/schema-maps/api_create_order_response.js +13 -0
  51. package/interfaces/codegen/schema-maps/api_dedust_position_request.d.ts +2 -0
  52. package/interfaces/codegen/schema-maps/api_dedust_position_request.js +13 -0
  53. package/interfaces/codegen/schema-maps/api_dedust_position_response.d.ts +2 -0
  54. package/interfaces/codegen/schema-maps/api_dedust_position_response.js +13 -0
  55. package/interfaces/codegen/schema-maps/api_deposit_history_request.d.ts +2 -0
  56. package/interfaces/codegen/schema-maps/api_deposit_history_request.js +22 -0
  57. package/interfaces/codegen/schema-maps/api_deposit_history_response.d.ts +2 -0
  58. package/interfaces/codegen/schema-maps/api_deposit_history_response.js +15 -0
  59. package/interfaces/codegen/schema-maps/api_drop_client_ws_request.d.ts +2 -0
  60. package/interfaces/codegen/schema-maps/api_drop_client_ws_request.js +12 -0
  61. package/interfaces/codegen/schema-maps/api_drop_client_ws_response.d.ts +2 -0
  62. package/interfaces/codegen/schema-maps/api_drop_client_ws_response.js +12 -0
  63. package/interfaces/codegen/schema-maps/api_fill_history_request.d.ts +2 -0
  64. package/interfaces/codegen/schema-maps/api_fill_history_request.js +26 -0
  65. package/interfaces/codegen/schema-maps/api_fill_history_response.d.ts +2 -0
  66. package/interfaces/codegen/schema-maps/api_fill_history_response.js +15 -0
  67. package/interfaces/codegen/schema-maps/api_find_ecosystem_epoch_metric_response.d.ts +2 -0
  68. package/interfaces/codegen/schema-maps/api_find_ecosystem_epoch_metric_response.js +23 -0
  69. package/interfaces/codegen/schema-maps/api_find_ecosystem_leaderboard_response.d.ts +2 -0
  70. package/interfaces/codegen/schema-maps/api_find_ecosystem_leaderboard_response.js +13 -0
  71. package/interfaces/codegen/schema-maps/api_find_first_epoch_metric_response.d.ts +2 -0
  72. package/interfaces/codegen/schema-maps/api_find_first_epoch_metric_response.js +23 -0
  73. package/interfaces/codegen/schema-maps/api_find_trader_epoch_metric_response.d.ts +2 -0
  74. package/interfaces/codegen/schema-maps/api_find_trader_epoch_metric_response.js +19 -0
  75. package/interfaces/codegen/schema-maps/api_find_trader_leaderboard_response.d.ts +2 -0
  76. package/interfaces/codegen/schema-maps/api_find_trader_leaderboard_response.js +13 -0
  77. package/interfaces/codegen/schema-maps/api_funding_account_summary_response.d.ts +2 -0
  78. package/interfaces/codegen/schema-maps/api_funding_account_summary_response.js +13 -0
  79. package/interfaces/codegen/schema-maps/api_funding_payment_history_request.d.ts +2 -0
  80. package/interfaces/codegen/schema-maps/api_funding_payment_history_request.js +22 -0
  81. package/interfaces/codegen/schema-maps/api_funding_payment_history_response.d.ts +2 -0
  82. package/interfaces/codegen/schema-maps/api_funding_payment_history_response.js +15 -0
  83. package/interfaces/codegen/schema-maps/api_funding_rate_request.d.ts +2 -0
  84. package/interfaces/codegen/schema-maps/api_funding_rate_request.js +20 -0
  85. package/interfaces/codegen/schema-maps/api_funding_rate_response.d.ts +2 -0
  86. package/interfaces/codegen/schema-maps/api_funding_rate_response.js +15 -0
  87. package/interfaces/codegen/schema-maps/api_get_all_initial_leverage_request.d.ts +2 -0
  88. package/interfaces/codegen/schema-maps/api_get_all_initial_leverage_request.js +12 -0
  89. package/interfaces/codegen/schema-maps/api_get_all_initial_leverage_response.d.ts +2 -0
  90. package/interfaces/codegen/schema-maps/api_get_all_initial_leverage_response.js +13 -0
  91. package/interfaces/codegen/schema-maps/api_get_all_instruments_request.d.ts +2 -0
  92. package/interfaces/codegen/schema-maps/api_get_all_instruments_request.js +12 -0
  93. package/interfaces/codegen/schema-maps/api_get_all_instruments_response.d.ts +2 -0
  94. package/interfaces/codegen/schema-maps/api_get_all_instruments_response.js +13 -0
  95. package/interfaces/codegen/schema-maps/api_get_ecosystem_leaderboard_request.d.ts +2 -0
  96. package/interfaces/codegen/schema-maps/api_get_ecosystem_leaderboard_request.js +14 -0
  97. package/interfaces/codegen/schema-maps/api_get_ecosystem_leaderboard_response.d.ts +2 -0
  98. package/interfaces/codegen/schema-maps/api_get_ecosystem_leaderboard_response.js +13 -0
  99. package/interfaces/codegen/schema-maps/api_get_ecosystem_referral_stat_response.d.ts +2 -0
  100. package/interfaces/codegen/schema-maps/api_get_ecosystem_referral_stat_response.js +18 -0
  101. package/interfaces/codegen/schema-maps/api_get_filtered_instruments_request.d.ts +2 -0
  102. package/interfaces/codegen/schema-maps/api_get_filtered_instruments_request.js +20 -0
  103. package/interfaces/codegen/schema-maps/api_get_filtered_instruments_response.d.ts +2 -0
  104. package/interfaces/codegen/schema-maps/api_get_filtered_instruments_response.js +13 -0
  105. package/interfaces/codegen/schema-maps/api_get_instrument_request.d.ts +2 -0
  106. package/interfaces/codegen/schema-maps/api_get_instrument_request.js +12 -0
  107. package/interfaces/codegen/schema-maps/api_get_instrument_response.d.ts +2 -0
  108. package/interfaces/codegen/schema-maps/api_get_instrument_response.js +13 -0
  109. package/interfaces/codegen/schema-maps/api_get_latest_lp_snapshot_request.d.ts +2 -0
  110. package/interfaces/codegen/schema-maps/api_get_latest_lp_snapshot_request.js +14 -0
  111. package/interfaces/codegen/schema-maps/api_get_latest_lp_snapshot_response.d.ts +2 -0
  112. package/interfaces/codegen/schema-maps/api_get_latest_lp_snapshot_response.js +13 -0
  113. package/interfaces/codegen/schema-maps/api_get_list_epoch_badge_response.d.ts +2 -0
  114. package/interfaces/codegen/schema-maps/api_get_list_epoch_badge_response.js +13 -0
  115. package/interfaces/codegen/schema-maps/api_get_list_flat_referral_request.d.ts +2 -0
  116. package/interfaces/codegen/schema-maps/api_get_list_flat_referral_request.js +18 -0
  117. package/interfaces/codegen/schema-maps/api_get_list_flat_referral_response.d.ts +2 -0
  118. package/interfaces/codegen/schema-maps/api_get_list_flat_referral_response.js +13 -0
  119. package/interfaces/codegen/schema-maps/api_get_list_reward_epoch_response.d.ts +2 -0
  120. package/interfaces/codegen/schema-maps/api_get_list_reward_epoch_response.js +15 -0
  121. package/interfaces/codegen/schema-maps/api_get_lp_info_request.d.ts +2 -0
  122. package/interfaces/codegen/schema-maps/api_get_lp_info_request.js +14 -0
  123. package/interfaces/codegen/schema-maps/api_get_lp_info_response.d.ts +2 -0
  124. package/interfaces/codegen/schema-maps/api_get_lp_info_response.js +26 -0
  125. package/interfaces/codegen/schema-maps/api_get_lp_leaderboard_request.d.ts +2 -0
  126. package/interfaces/codegen/schema-maps/api_get_lp_leaderboard_request.js +18 -0
  127. package/interfaces/codegen/schema-maps/api_get_lp_leaderboard_response.d.ts +2 -0
  128. package/interfaces/codegen/schema-maps/api_get_lp_leaderboard_response.js +13 -0
  129. package/interfaces/codegen/schema-maps/api_get_lp_point_request.d.ts +2 -0
  130. package/interfaces/codegen/schema-maps/api_get_lp_point_request.js +16 -0
  131. package/interfaces/codegen/schema-maps/api_get_lp_point_response.d.ts +2 -0
  132. package/interfaces/codegen/schema-maps/api_get_lp_point_response.js +15 -0
  133. package/interfaces/codegen/schema-maps/api_get_margin_tiers_response.d.ts +2 -0
  134. package/interfaces/codegen/schema-maps/api_get_margin_tiers_response.js +13 -0
  135. package/interfaces/codegen/schema-maps/api_get_order_group_request.d.ts +2 -0
  136. package/interfaces/codegen/schema-maps/api_get_order_group_request.js +12 -0
  137. package/interfaces/codegen/schema-maps/api_get_order_group_response.d.ts +2 -0
  138. package/interfaces/codegen/schema-maps/api_get_order_group_response.js +13 -0
  139. package/interfaces/codegen/schema-maps/api_get_order_request.d.ts +2 -0
  140. package/interfaces/codegen/schema-maps/api_get_order_request.js +16 -0
  141. package/interfaces/codegen/schema-maps/api_get_order_response.d.ts +2 -0
  142. package/interfaces/codegen/schema-maps/api_get_order_response.js +13 -0
  143. package/interfaces/codegen/schema-maps/api_get_trader_stat_response.d.ts +2 -0
  144. package/interfaces/codegen/schema-maps/api_get_trader_stat_response.js +12 -0
  145. package/interfaces/codegen/schema-maps/api_get_user_ecosystem_point_request.d.ts +2 -0
  146. package/interfaces/codegen/schema-maps/api_get_user_ecosystem_point_request.js +16 -0
  147. package/interfaces/codegen/schema-maps/api_get_user_ecosystem_point_response.d.ts +2 -0
  148. package/interfaces/codegen/schema-maps/api_get_user_ecosystem_point_response.js +13 -0
  149. package/interfaces/codegen/schema-maps/api_get_verified_ecosystem_leaderboard_request.d.ts +2 -0
  150. package/interfaces/codegen/schema-maps/api_get_verified_ecosystem_leaderboard_request.js +14 -0
  151. package/interfaces/codegen/schema-maps/api_latest_snap_sub_accounts_request.d.ts +2 -0
  152. package/interfaces/codegen/schema-maps/api_latest_snap_sub_accounts_request.js +12 -0
  153. package/interfaces/codegen/schema-maps/api_latest_snap_sub_accounts_response.d.ts +2 -0
  154. package/interfaces/codegen/schema-maps/api_latest_snap_sub_accounts_response.js +13 -0
  155. package/interfaces/codegen/schema-maps/api_list_aggregated_account_summary_request.d.ts +2 -0
  156. package/interfaces/codegen/schema-maps/api_list_aggregated_account_summary_request.js +12 -0
  157. package/interfaces/codegen/schema-maps/api_list_aggregated_account_summary_response.d.ts +2 -0
  158. package/interfaces/codegen/schema-maps/api_list_aggregated_account_summary_response.js +13 -0
  159. package/interfaces/codegen/schema-maps/api_mini_ticker_request.d.ts +2 -0
  160. package/interfaces/codegen/schema-maps/api_mini_ticker_request.js +12 -0
  161. package/interfaces/codegen/schema-maps/api_mini_ticker_response.d.ts +2 -0
  162. package/interfaces/codegen/schema-maps/api_mini_ticker_response.js +13 -0
  163. package/interfaces/codegen/schema-maps/api_open_orders_request.d.ts +2 -0
  164. package/interfaces/codegen/schema-maps/api_open_orders_request.js +18 -0
  165. package/interfaces/codegen/schema-maps/api_open_orders_response.d.ts +2 -0
  166. package/interfaces/codegen/schema-maps/api_open_orders_response.js +13 -0
  167. package/interfaces/codegen/schema-maps/api_order_history_request.d.ts +2 -0
  168. package/interfaces/codegen/schema-maps/api_order_history_request.js +26 -0
  169. package/interfaces/codegen/schema-maps/api_order_history_response.d.ts +2 -0
  170. package/interfaces/codegen/schema-maps/api_order_history_response.js +15 -0
  171. package/interfaces/codegen/schema-maps/api_order_state_request.d.ts +2 -0
  172. package/interfaces/codegen/schema-maps/api_order_state_request.js +16 -0
  173. package/interfaces/codegen/schema-maps/api_order_state_response.d.ts +2 -0
  174. package/interfaces/codegen/schema-maps/api_order_state_response.js +13 -0
  175. package/interfaces/codegen/schema-maps/api_orderbook_levels_request.d.ts +2 -0
  176. package/interfaces/codegen/schema-maps/api_orderbook_levels_request.js +14 -0
  177. package/interfaces/codegen/schema-maps/api_orderbook_levels_response.d.ts +2 -0
  178. package/interfaces/codegen/schema-maps/api_orderbook_levels_response.js +13 -0
  179. package/interfaces/codegen/schema-maps/api_position.d.ts +2 -0
  180. package/interfaces/codegen/schema-maps/api_position.js +40 -0
  181. package/interfaces/codegen/schema-maps/api_positions_request.d.ts +2 -0
  182. package/interfaces/codegen/schema-maps/api_positions_request.js +18 -0
  183. package/interfaces/codegen/schema-maps/api_positions_response.d.ts +2 -0
  184. package/interfaces/codegen/schema-maps/api_positions_response.js +13 -0
  185. package/interfaces/codegen/schema-maps/api_pre_deposit_check_request.d.ts +2 -0
  186. package/interfaces/codegen/schema-maps/api_pre_deposit_check_request.js +14 -0
  187. package/interfaces/codegen/schema-maps/api_pre_deposit_check_response.d.ts +2 -0
  188. package/interfaces/codegen/schema-maps/api_pre_deposit_check_response.js +14 -0
  189. package/interfaces/codegen/schema-maps/api_pre_order_check_request.d.ts +2 -0
  190. package/interfaces/codegen/schema-maps/api_pre_order_check_request.js +15 -0
  191. package/interfaces/codegen/schema-maps/api_pre_order_check_response.d.ts +2 -0
  192. package/interfaces/codegen/schema-maps/api_pre_order_check_response.js +13 -0
  193. package/interfaces/codegen/schema-maps/api_query_account_summary_request.d.ts +2 -0
  194. package/interfaces/codegen/schema-maps/api_query_account_summary_request.js +12 -0
  195. package/interfaces/codegen/schema-maps/api_query_account_summary_response.d.ts +2 -0
  196. package/interfaces/codegen/schema-maps/api_query_account_summary_response.js +15 -0
  197. package/interfaces/codegen/schema-maps/api_query_flat_referral_stat_request.d.ts +2 -0
  198. package/interfaces/codegen/schema-maps/api_query_flat_referral_stat_request.js +12 -0
  199. package/interfaces/codegen/schema-maps/api_query_flat_referral_stat_response.d.ts +2 -0
  200. package/interfaces/codegen/schema-maps/api_query_flat_referral_stat_response.js +14 -0
  201. package/interfaces/codegen/schema-maps/api_query_list_funding_account_summary_request.d.ts +2 -0
  202. package/interfaces/codegen/schema-maps/api_query_list_funding_account_summary_request.js +12 -0
  203. package/interfaces/codegen/schema-maps/api_query_list_funding_account_summary_response.d.ts +2 -0
  204. package/interfaces/codegen/schema-maps/api_query_list_funding_account_summary_response.js +15 -0
  205. package/interfaces/codegen/schema-maps/api_query_list_sub_account_summary_request.d.ts +2 -0
  206. package/interfaces/codegen/schema-maps/api_query_list_sub_account_summary_request.js +14 -0
  207. package/interfaces/codegen/schema-maps/api_query_list_sub_account_summary_response.d.ts +2 -0
  208. package/interfaces/codegen/schema-maps/api_query_list_sub_account_summary_response.js +15 -0
  209. package/interfaces/codegen/schema-maps/api_query_trading_performance_request.d.ts +2 -0
  210. package/interfaces/codegen/schema-maps/api_query_trading_performance_request.js +14 -0
  211. package/interfaces/codegen/schema-maps/api_query_trading_performance_response.d.ts +2 -0
  212. package/interfaces/codegen/schema-maps/api_query_trading_performance_response.js +14 -0
  213. package/interfaces/codegen/schema-maps/api_query_trading_performance_trend_request.d.ts +2 -0
  214. package/interfaces/codegen/schema-maps/api_query_trading_performance_trend_request.js +14 -0
  215. package/interfaces/codegen/schema-maps/api_query_trading_performance_trend_response.d.ts +2 -0
  216. package/interfaces/codegen/schema-maps/api_query_trading_performance_trend_response.js +15 -0
  217. package/interfaces/codegen/schema-maps/api_resolve_epoch_ecosystem_metric_response.d.ts +2 -0
  218. package/interfaces/codegen/schema-maps/api_resolve_epoch_ecosystem_metric_response.js +16 -0
  219. package/interfaces/codegen/schema-maps/api_set_initial_leverage_request.d.ts +2 -0
  220. package/interfaces/codegen/schema-maps/api_set_initial_leverage_request.js +16 -0
  221. package/interfaces/codegen/schema-maps/api_set_initial_leverage_response.d.ts +2 -0
  222. package/interfaces/codegen/schema-maps/api_set_initial_leverage_response.js +12 -0
  223. package/interfaces/codegen/schema-maps/api_settlement_price.d.ts +2 -0
  224. package/interfaces/codegen/schema-maps/api_settlement_price.js +18 -0
  225. package/interfaces/codegen/schema-maps/api_settlement_price_request.d.ts +2 -0
  226. package/interfaces/codegen/schema-maps/api_settlement_price_request.js +22 -0
  227. package/interfaces/codegen/schema-maps/api_settlement_price_response.d.ts +2 -0
  228. package/interfaces/codegen/schema-maps/api_settlement_price_response.js +15 -0
  229. package/interfaces/codegen/schema-maps/api_socialized_loss_status_response.d.ts +2 -0
  230. package/interfaces/codegen/schema-maps/api_socialized_loss_status_response.js +14 -0
  231. package/interfaces/codegen/schema-maps/api_spot_balance.d.ts +2 -0
  232. package/interfaces/codegen/schema-maps/api_spot_balance.js +16 -0
  233. package/interfaces/codegen/schema-maps/api_sub_account_history_request.d.ts +2 -0
  234. package/interfaces/codegen/schema-maps/api_sub_account_history_request.js +20 -0
  235. package/interfaces/codegen/schema-maps/api_sub_account_history_response.d.ts +2 -0
  236. package/interfaces/codegen/schema-maps/api_sub_account_history_response.js +15 -0
  237. package/interfaces/codegen/schema-maps/api_sub_account_summary_request.d.ts +2 -0
  238. package/interfaces/codegen/schema-maps/api_sub_account_summary_request.js +12 -0
  239. package/interfaces/codegen/schema-maps/api_sub_account_summary_response.d.ts +2 -0
  240. package/interfaces/codegen/schema-maps/api_sub_account_summary_response.js +13 -0
  241. package/interfaces/codegen/schema-maps/api_sub_account_trade_aggregation_request.d.ts +2 -0
  242. package/interfaces/codegen/schema-maps/api_sub_account_trade_aggregation_request.js +30 -0
  243. package/interfaces/codegen/schema-maps/api_sub_account_trade_aggregation_response.d.ts +2 -0
  244. package/interfaces/codegen/schema-maps/api_sub_account_trade_aggregation_response.js +15 -0
  245. package/interfaces/codegen/schema-maps/api_ticker_feed_data_v_1.d.ts +2 -0
  246. package/interfaces/codegen/schema-maps/api_ticker_feed_data_v_1.js +13 -0
  247. package/interfaces/codegen/schema-maps/api_ticker_request.d.ts +2 -0
  248. package/interfaces/codegen/schema-maps/api_ticker_request.js +12 -0
  249. package/interfaces/codegen/schema-maps/api_ticker_response.d.ts +2 -0
  250. package/interfaces/codegen/schema-maps/api_ticker_response.js +13 -0
  251. package/interfaces/codegen/schema-maps/api_timed_asset_exposure_request.d.ts +2 -0
  252. package/interfaces/codegen/schema-maps/api_timed_asset_exposure_request.js +16 -0
  253. package/interfaces/codegen/schema-maps/api_timed_asset_exposure_response.d.ts +2 -0
  254. package/interfaces/codegen/schema-maps/api_timed_asset_exposure_response.js +15 -0
  255. package/interfaces/codegen/schema-maps/api_trade_history_request.d.ts +2 -0
  256. package/interfaces/codegen/schema-maps/api_trade_history_request.js +20 -0
  257. package/interfaces/codegen/schema-maps/api_trade_history_response.d.ts +2 -0
  258. package/interfaces/codegen/schema-maps/api_trade_history_response.js +15 -0
  259. package/interfaces/codegen/schema-maps/api_trade_request.d.ts +2 -0
  260. package/interfaces/codegen/schema-maps/api_trade_request.js +14 -0
  261. package/interfaces/codegen/schema-maps/api_trade_response.d.ts +2 -0
  262. package/interfaces/codegen/schema-maps/api_trade_response.js +13 -0
  263. package/interfaces/codegen/schema-maps/api_trading_performance_trend.d.ts +2 -0
  264. package/interfaces/codegen/schema-maps/api_trading_performance_trend.js +16 -0
  265. package/interfaces/codegen/schema-maps/api_transfer_history_request.d.ts +2 -0
  266. package/interfaces/codegen/schema-maps/api_transfer_history_request.js +24 -0
  267. package/interfaces/codegen/schema-maps/api_transfer_history_response.d.ts +2 -0
  268. package/interfaces/codegen/schema-maps/api_transfer_history_response.js +15 -0
  269. package/interfaces/codegen/schema-maps/api_transfer_request.d.ts +2 -0
  270. package/interfaces/codegen/schema-maps/api_transfer_request.js +29 -0
  271. package/interfaces/codegen/schema-maps/api_user_category_affinity_score_request.d.ts +2 -0
  272. package/interfaces/codegen/schema-maps/api_user_category_affinity_score_request.js +16 -0
  273. package/interfaces/codegen/schema-maps/api_user_category_affinity_score_response.d.ts +2 -0
  274. package/interfaces/codegen/schema-maps/api_user_category_affinity_score_response.js +13 -0
  275. package/interfaces/codegen/schema-maps/api_withdrawal_history_request.d.ts +2 -0
  276. package/interfaces/codegen/schema-maps/api_withdrawal_history_request.js +22 -0
  277. package/interfaces/codegen/schema-maps/api_withdrawal_history_response.d.ts +2 -0
  278. package/interfaces/codegen/schema-maps/api_withdrawal_history_response.js +15 -0
  279. package/interfaces/codegen/schema-maps/api_withdrawal_request.d.ts +2 -0
  280. package/interfaces/codegen/schema-maps/api_withdrawal_request.js +21 -0
  281. package/interfaces/codegen/schema-maps/approximate_lp_point.d.ts +2 -0
  282. package/interfaces/codegen/schema-maps/approximate_lp_point.js +16 -0
  283. package/interfaces/codegen/schema-maps/approximate_lp_snapshot.d.ts +2 -0
  284. package/interfaces/codegen/schema-maps/approximate_lp_snapshot.js +24 -0
  285. package/interfaces/codegen/schema-maps/asset_exposure_summary.d.ts +2 -0
  286. package/interfaces/codegen/schema-maps/asset_exposure_summary.js +14 -0
  287. package/interfaces/codegen/schema-maps/asset_margin_tier_response.d.ts +2 -0
  288. package/interfaces/codegen/schema-maps/asset_margin_tier_response.js +15 -0
  289. package/interfaces/codegen/schema-maps/asset_max_qty.d.ts +2 -0
  290. package/interfaces/codegen/schema-maps/asset_max_qty.js +16 -0
  291. package/interfaces/codegen/schema-maps/cancel_status_feed.d.ts +2 -0
  292. package/interfaces/codegen/schema-maps/cancel_status_feed.js +22 -0
  293. package/interfaces/codegen/schema-maps/candlestick.d.ts +2 -0
  294. package/interfaces/codegen/schema-maps/candlestick.js +30 -0
  295. package/interfaces/codegen/schema-maps/claim_ecosystem_badge_response.d.ts +2 -0
  296. package/interfaces/codegen/schema-maps/claim_ecosystem_badge_response.js +13 -0
  297. package/interfaces/codegen/schema-maps/client_order_i_ds_by_group.d.ts +2 -0
  298. package/interfaces/codegen/schema-maps/client_order_i_ds_by_group.js +16 -0
  299. package/interfaces/codegen/schema-maps/deposit.d.ts +2 -0
  300. package/interfaces/codegen/schema-maps/deposit.js +18 -0
  301. package/interfaces/codegen/schema-maps/deposit_history.d.ts +2 -0
  302. package/interfaces/codegen/schema-maps/deposit_history.js +26 -0
  303. package/interfaces/codegen/schema-maps/ecosystem_leaderboard_user.d.ts +2 -0
  304. package/interfaces/codegen/schema-maps/ecosystem_leaderboard_user.js +18 -0
  305. package/interfaces/codegen/schema-maps/ecosystem_metric.d.ts +2 -0
  306. package/interfaces/codegen/schema-maps/ecosystem_metric.js +20 -0
  307. package/interfaces/codegen/schema-maps/ecosystem_point.d.ts +2 -0
  308. package/interfaces/codegen/schema-maps/ecosystem_point.js +42 -0
  309. package/interfaces/codegen/schema-maps/empty_request.d.ts +2 -0
  310. package/interfaces/codegen/schema-maps/empty_request.js +8 -0
  311. package/interfaces/codegen/schema-maps/epoch.d.ts +2 -0
  312. package/interfaces/codegen/schema-maps/epoch.js +16 -0
  313. package/interfaces/codegen/schema-maps/epoch_badge.d.ts +2 -0
  314. package/interfaces/codegen/schema-maps/epoch_badge.js +32 -0
  315. package/interfaces/codegen/schema-maps/epoch_badge_point_distribution.d.ts +2 -0
  316. package/interfaces/codegen/schema-maps/epoch_badge_point_distribution.js +28 -0
  317. package/interfaces/codegen/schema-maps/error.d.ts +2 -0
  318. package/interfaces/codegen/schema-maps/error.js +14 -0
  319. package/interfaces/codegen/schema-maps/flat_private_trade.d.ts +2 -0
  320. package/interfaces/codegen/schema-maps/flat_private_trade.js +54 -0
  321. package/interfaces/codegen/schema-maps/flat_public_trade.d.ts +2 -0
  322. package/interfaces/codegen/schema-maps/flat_public_trade.js +36 -0
  323. package/interfaces/codegen/schema-maps/flat_referral.d.ts +2 -0
  324. package/interfaces/codegen/schema-maps/flat_referral.js +32 -0
  325. package/interfaces/codegen/schema-maps/funding_account_summary.d.ts +2 -0
  326. package/interfaces/codegen/schema-maps/funding_account_summary.js +17 -0
  327. package/interfaces/codegen/schema-maps/funding_rate.d.ts +2 -0
  328. package/interfaces/codegen/schema-maps/funding_rate.js +20 -0
  329. package/interfaces/codegen/schema-maps/get_claimable_ecosystem_badge_response.d.ts +2 -0
  330. package/interfaces/codegen/schema-maps/get_claimable_ecosystem_badge_response.js +17 -0
  331. package/interfaces/codegen/schema-maps/index.d.ts +249 -0
  332. package/interfaces/codegen/schema-maps/index.js +265 -0
  333. package/interfaces/codegen/schema-maps/initial_leverage_result.d.ts +2 -0
  334. package/interfaces/codegen/schema-maps/initial_leverage_result.js +18 -0
  335. package/interfaces/codegen/schema-maps/instrument.d.ts +2 -0
  336. package/interfaces/codegen/schema-maps/instrument.js +42 -0
  337. package/interfaces/codegen/schema-maps/jsonrpc_request.d.ts +2 -0
  338. package/interfaces/codegen/schema-maps/jsonrpc_request.js +18 -0
  339. package/interfaces/codegen/schema-maps/jsonrpc_response.d.ts +2 -0
  340. package/interfaces/codegen/schema-maps/jsonrpc_response.js +21 -0
  341. package/interfaces/codegen/schema-maps/lp_point.d.ts +2 -0
  342. package/interfaces/codegen/schema-maps/lp_point.js +16 -0
  343. package/interfaces/codegen/schema-maps/lp_snapshot.d.ts +2 -0
  344. package/interfaces/codegen/schema-maps/lp_snapshot.js +26 -0
  345. package/interfaces/codegen/schema-maps/main_acc_id_request.d.ts +2 -0
  346. package/interfaces/codegen/schema-maps/main_acc_id_request.js +12 -0
  347. package/interfaces/codegen/schema-maps/margin_tier_response.d.ts +2 -0
  348. package/interfaces/codegen/schema-maps/margin_tier_response.js +14 -0
  349. package/interfaces/codegen/schema-maps/mini_ticker.d.ts +2 -0
  350. package/interfaces/codegen/schema-maps/mini_ticker.js +32 -0
  351. package/interfaces/codegen/schema-maps/msg_funding_payment.d.ts +2 -0
  352. package/interfaces/codegen/schema-maps/msg_funding_payment.js +22 -0
  353. package/interfaces/codegen/schema-maps/order.d.ts +2 -0
  354. package/interfaces/codegen/schema-maps/order.js +36 -0
  355. package/interfaces/codegen/schema-maps/order_leg.d.ts +2 -0
  356. package/interfaces/codegen/schema-maps/order_leg.js +18 -0
  357. package/interfaces/codegen/schema-maps/order_metadata.d.ts +2 -0
  358. package/interfaces/codegen/schema-maps/order_metadata.js +19 -0
  359. package/interfaces/codegen/schema-maps/order_state.d.ts +2 -0
  360. package/interfaces/codegen/schema-maps/order_state.js +22 -0
  361. package/interfaces/codegen/schema-maps/order_state_feed.d.ts +2 -0
  362. package/interfaces/codegen/schema-maps/order_state_feed.js +17 -0
  363. package/interfaces/codegen/schema-maps/orderbook_level.d.ts +2 -0
  364. package/interfaces/codegen/schema-maps/orderbook_level.js +16 -0
  365. package/interfaces/codegen/schema-maps/position_summary.d.ts +2 -0
  366. package/interfaces/codegen/schema-maps/position_summary.js +28 -0
  367. package/interfaces/codegen/schema-maps/pre_order_check_result.d.ts +2 -0
  368. package/interfaces/codegen/schema-maps/pre_order_check_result.js +21 -0
  369. package/interfaces/codegen/schema-maps/query_account_summary_request.d.ts +2 -0
  370. package/interfaces/codegen/schema-maps/query_account_summary_request.js +16 -0
  371. package/interfaces/codegen/schema-maps/query_epoch_badge_point_distribution_request.d.ts +2 -0
  372. package/interfaces/codegen/schema-maps/query_epoch_badge_point_distribution_request.js +14 -0
  373. package/interfaces/codegen/schema-maps/query_epoch_badge_point_distribution_response.d.ts +2 -0
  374. package/interfaces/codegen/schema-maps/query_epoch_badge_point_distribution_response.js +13 -0
  375. package/interfaces/codegen/schema-maps/query_epoch_badge_request.d.ts +2 -0
  376. package/interfaces/codegen/schema-maps/query_epoch_badge_request.js +20 -0
  377. package/interfaces/codegen/schema-maps/query_epoch_badge_response.d.ts +2 -0
  378. package/interfaces/codegen/schema-maps/query_epoch_badge_response.js +15 -0
  379. package/interfaces/codegen/schema-maps/query_find_epoch_request.d.ts +2 -0
  380. package/interfaces/codegen/schema-maps/query_find_epoch_request.js +14 -0
  381. package/interfaces/codegen/schema-maps/query_find_epoch_response.d.ts +2 -0
  382. package/interfaces/codegen/schema-maps/query_find_epoch_response.js +13 -0
  383. package/interfaces/codegen/schema-maps/query_get_latest_lp_snapshot_response.d.ts +2 -0
  384. package/interfaces/codegen/schema-maps/query_get_latest_lp_snapshot_response.js +13 -0
  385. package/interfaces/codegen/schema-maps/query_get_list_epoch_request.d.ts +2 -0
  386. package/interfaces/codegen/schema-maps/query_get_list_epoch_request.js +12 -0
  387. package/interfaces/codegen/schema-maps/query_get_list_epoch_response.d.ts +2 -0
  388. package/interfaces/codegen/schema-maps/query_get_list_epoch_response.js +13 -0
  389. package/interfaces/codegen/schema-maps/query_trading_performance_trend_request.d.ts +2 -0
  390. package/interfaces/codegen/schema-maps/query_trading_performance_trend_request.js +14 -0
  391. package/interfaces/codegen/schema-maps/query_trading_performance_trend_response.d.ts +2 -0
  392. package/interfaces/codegen/schema-maps/query_trading_performance_trend_response.js +15 -0
  393. package/interfaces/codegen/schema-maps/reward_epoch_info.d.ts +2 -0
  394. package/interfaces/codegen/schema-maps/reward_epoch_info.js +18 -0
  395. package/interfaces/codegen/schema-maps/session_information.d.ts +2 -0
  396. package/interfaces/codegen/schema-maps/session_information.js +20 -0
  397. package/interfaces/codegen/schema-maps/signature.d.ts +2 -0
  398. package/interfaces/codegen/schema-maps/signature.js +22 -0
  399. package/interfaces/codegen/schema-maps/snap_account_summary.d.ts +2 -0
  400. package/interfaces/codegen/schema-maps/snap_account_summary.js +14 -0
  401. package/interfaces/codegen/schema-maps/snap_funding_account_summary.d.ts +2 -0
  402. package/interfaces/codegen/schema-maps/snap_funding_account_summary.js +21 -0
  403. package/interfaces/codegen/schema-maps/snap_orderbook_levels.d.ts +2 -0
  404. package/interfaces/codegen/schema-maps/snap_orderbook_levels.js +19 -0
  405. package/interfaces/codegen/schema-maps/snap_sub_account.d.ts +2 -0
  406. package/interfaces/codegen/schema-maps/snap_sub_account.js +36 -0
  407. package/interfaces/codegen/schema-maps/snap_sub_account_summary.d.ts +2 -0
  408. package/interfaces/codegen/schema-maps/snap_sub_account_summary.js +23 -0
  409. package/interfaces/codegen/schema-maps/snap_ticker.d.ts +2 -0
  410. package/interfaces/codegen/schema-maps/snap_ticker.js +58 -0
  411. package/interfaces/codegen/schema-maps/stream_reference.d.ts +2 -0
  412. package/interfaces/codegen/schema-maps/stream_reference.js +14 -0
  413. package/interfaces/codegen/schema-maps/sub_account_trade_aggregation.d.ts +2 -0
  414. package/interfaces/codegen/schema-maps/sub_account_trade_aggregation.js +24 -0
  415. package/interfaces/codegen/schema-maps/timed_asset_exposure_summary.d.ts +2 -0
  416. package/interfaces/codegen/schema-maps/timed_asset_exposure_summary.js +15 -0
  417. package/interfaces/codegen/schema-maps/tpsl_order_metadata.d.ts +2 -0
  418. package/interfaces/codegen/schema-maps/tpsl_order_metadata.js +14 -0
  419. package/interfaces/codegen/schema-maps/trader_leaderboard_user.d.ts +2 -0
  420. package/interfaces/codegen/schema-maps/trader_leaderboard_user.js +18 -0
  421. package/interfaces/codegen/schema-maps/trader_metric.d.ts +2 -0
  422. package/interfaces/codegen/schema-maps/trader_metric.js +14 -0
  423. package/interfaces/codegen/schema-maps/trading_performance_point.d.ts +2 -0
  424. package/interfaces/codegen/schema-maps/trading_performance_point.js +16 -0
  425. package/interfaces/codegen/schema-maps/transfer_history.d.ts +2 -0
  426. package/interfaces/codegen/schema-maps/transfer_history.js +33 -0
  427. package/interfaces/codegen/schema-maps/trigger_order_metadata.d.ts +2 -0
  428. package/interfaces/codegen/schema-maps/trigger_order_metadata.js +15 -0
  429. package/interfaces/codegen/schema-maps/types.d.ts +7 -0
  430. package/interfaces/codegen/schema-maps/types.js +2 -0
  431. package/interfaces/codegen/schema-maps/user_category_affinity_score.d.ts +2 -0
  432. package/interfaces/codegen/schema-maps/user_category_affinity_score.js +16 -0
  433. package/interfaces/codegen/schema-maps/user_tracking_event.d.ts +2 -0
  434. package/interfaces/codegen/schema-maps/user_tracking_event.js +42 -0
  435. package/interfaces/codegen/schema-maps/user_vault_category_event_pay_load.d.ts +2 -0
  436. package/interfaces/codegen/schema-maps/user_vault_category_event_pay_load.js +18 -0
  437. package/interfaces/codegen/schema-maps/vault_params.d.ts +2 -0
  438. package/interfaces/codegen/schema-maps/vault_params.js +28 -0
  439. package/interfaces/codegen/schema-maps/withdrawal.d.ts +2 -0
  440. package/interfaces/codegen/schema-maps/withdrawal.js +21 -0
  441. package/interfaces/codegen/schema-maps/withdrawal_history.d.ts +2 -0
  442. package/interfaces/codegen/schema-maps/withdrawal_history.js +25 -0
  443. package/interfaces/codegen/schema-maps/ws_cancel_feed_data_v_1.d.ts +2 -0
  444. package/interfaces/codegen/schema-maps/ws_cancel_feed_data_v_1.js +21 -0
  445. package/interfaces/codegen/schema-maps/ws_cancel_feed_selector_v_1.d.ts +2 -0
  446. package/interfaces/codegen/schema-maps/ws_cancel_feed_selector_v_1.js +12 -0
  447. package/interfaces/codegen/schema-maps/ws_candlestick_feed_data_v_1.d.ts +2 -0
  448. package/interfaces/codegen/schema-maps/ws_candlestick_feed_data_v_1.js +21 -0
  449. package/interfaces/codegen/schema-maps/ws_candlestick_feed_selector_v_1.d.ts +2 -0
  450. package/interfaces/codegen/schema-maps/ws_candlestick_feed_selector_v_1.js +16 -0
  451. package/interfaces/codegen/schema-maps/ws_deposit_feed_data_v_1.d.ts +2 -0
  452. package/interfaces/codegen/schema-maps/ws_deposit_feed_data_v_1.js +21 -0
  453. package/interfaces/codegen/schema-maps/ws_deposit_feed_selector_v_1.d.ts +2 -0
  454. package/interfaces/codegen/schema-maps/ws_deposit_feed_selector_v_1.js +12 -0
  455. package/interfaces/codegen/schema-maps/ws_fill_feed_data_v_1.d.ts +2 -0
  456. package/interfaces/codegen/schema-maps/ws_fill_feed_data_v_1.js +21 -0
  457. package/interfaces/codegen/schema-maps/ws_fill_feed_selector_v_1.d.ts +2 -0
  458. package/interfaces/codegen/schema-maps/ws_fill_feed_selector_v_1.js +14 -0
  459. package/interfaces/codegen/schema-maps/ws_list_streams_params.d.ts +2 -0
  460. package/interfaces/codegen/schema-maps/ws_list_streams_params.js +8 -0
  461. package/interfaces/codegen/schema-maps/ws_list_streams_result.d.ts +2 -0
  462. package/interfaces/codegen/schema-maps/ws_list_streams_result.js +13 -0
  463. package/interfaces/codegen/schema-maps/ws_mini_ticker_feed_data_v_1.d.ts +2 -0
  464. package/interfaces/codegen/schema-maps/ws_mini_ticker_feed_data_v_1.js +21 -0
  465. package/interfaces/codegen/schema-maps/ws_mini_ticker_feed_selector_v_1.d.ts +2 -0
  466. package/interfaces/codegen/schema-maps/ws_mini_ticker_feed_selector_v_1.js +14 -0
  467. package/interfaces/codegen/schema-maps/ws_order_feed_data_v_1.d.ts +2 -0
  468. package/interfaces/codegen/schema-maps/ws_order_feed_data_v_1.js +21 -0
  469. package/interfaces/codegen/schema-maps/ws_order_feed_selector_v_1.d.ts +2 -0
  470. package/interfaces/codegen/schema-maps/ws_order_feed_selector_v_1.js +14 -0
  471. package/interfaces/codegen/schema-maps/ws_order_group_feed_data_v_1.d.ts +2 -0
  472. package/interfaces/codegen/schema-maps/ws_order_group_feed_data_v_1.js +21 -0
  473. package/interfaces/codegen/schema-maps/ws_order_group_feed_selector_v_1.d.ts +2 -0
  474. package/interfaces/codegen/schema-maps/ws_order_group_feed_selector_v_1.js +12 -0
  475. package/interfaces/codegen/schema-maps/ws_order_state_feed_data_v_1.d.ts +2 -0
  476. package/interfaces/codegen/schema-maps/ws_order_state_feed_data_v_1.js +21 -0
  477. package/interfaces/codegen/schema-maps/ws_order_state_feed_selector_v_1.d.ts +2 -0
  478. package/interfaces/codegen/schema-maps/ws_order_state_feed_selector_v_1.js +14 -0
  479. package/interfaces/codegen/schema-maps/ws_orderbook_levels_feed_data_v_1.d.ts +2 -0
  480. package/interfaces/codegen/schema-maps/ws_orderbook_levels_feed_data_v_1.js +21 -0
  481. package/interfaces/codegen/schema-maps/ws_orderbook_levels_feed_selector_v_1.d.ts +2 -0
  482. package/interfaces/codegen/schema-maps/ws_orderbook_levels_feed_selector_v_1.js +16 -0
  483. package/interfaces/codegen/schema-maps/ws_positions_feed_data_v_1.d.ts +2 -0
  484. package/interfaces/codegen/schema-maps/ws_positions_feed_data_v_1.js +21 -0
  485. package/interfaces/codegen/schema-maps/ws_positions_feed_selector_v_1.d.ts +2 -0
  486. package/interfaces/codegen/schema-maps/ws_positions_feed_selector_v_1.js +14 -0
  487. package/interfaces/codegen/schema-maps/ws_subscribe_params.d.ts +2 -0
  488. package/interfaces/codegen/schema-maps/ws_subscribe_params.js +16 -0
  489. package/interfaces/codegen/schema-maps/ws_subscribe_request_v_1_legacy.d.ts +2 -0
  490. package/interfaces/codegen/schema-maps/ws_subscribe_request_v_1_legacy.js +20 -0
  491. package/interfaces/codegen/schema-maps/ws_subscribe_response_v_1_legacy.d.ts +2 -0
  492. package/interfaces/codegen/schema-maps/ws_subscribe_response_v_1_legacy.js +24 -0
  493. package/interfaces/codegen/schema-maps/ws_subscribe_result.d.ts +2 -0
  494. package/interfaces/codegen/schema-maps/ws_subscribe_result.js +22 -0
  495. package/interfaces/codegen/schema-maps/ws_ticker_feed_data_v_1.d.ts +2 -0
  496. package/interfaces/codegen/schema-maps/ws_ticker_feed_data_v_1.js +21 -0
  497. package/interfaces/codegen/schema-maps/ws_ticker_feed_selector_v_1.d.ts +2 -0
  498. package/interfaces/codegen/schema-maps/ws_ticker_feed_selector_v_1.js +14 -0
  499. package/interfaces/codegen/schema-maps/ws_trade_feed_data_v_1.d.ts +2 -0
  500. package/interfaces/codegen/schema-maps/ws_trade_feed_data_v_1.js +21 -0
  501. package/interfaces/codegen/schema-maps/ws_trade_feed_selector_v_1.d.ts +2 -0
  502. package/interfaces/codegen/schema-maps/ws_trade_feed_selector_v_1.js +14 -0
  503. package/interfaces/codegen/schema-maps/ws_transfer_feed_data_v_1.d.ts +2 -0
  504. package/interfaces/codegen/schema-maps/ws_transfer_feed_data_v_1.js +21 -0
  505. package/interfaces/codegen/schema-maps/ws_transfer_feed_selector_v_1.d.ts +2 -0
  506. package/interfaces/codegen/schema-maps/ws_transfer_feed_selector_v_1.js +14 -0
  507. package/interfaces/codegen/schema-maps/ws_unsubscribe_all_params.d.ts +2 -0
  508. package/interfaces/codegen/schema-maps/ws_unsubscribe_all_params.js +8 -0
  509. package/interfaces/codegen/schema-maps/ws_unsubscribe_all_result.d.ts +2 -0
  510. package/interfaces/codegen/schema-maps/ws_unsubscribe_all_result.js +13 -0
  511. package/interfaces/codegen/schema-maps/ws_unsubscribe_params.d.ts +2 -0
  512. package/interfaces/codegen/schema-maps/ws_unsubscribe_params.js +16 -0
  513. package/interfaces/codegen/schema-maps/ws_unsubscribe_result.d.ts +2 -0
  514. package/interfaces/codegen/schema-maps/ws_unsubscribe_result.js +14 -0
  515. package/interfaces/codegen/schema-maps/ws_withdrawal_feed_data_v_1.d.ts +2 -0
  516. package/interfaces/codegen/schema-maps/ws_withdrawal_feed_data_v_1.js +21 -0
  517. package/interfaces/codegen/schema-maps/ws_withdrawal_feed_selector_v_1.d.ts +2 -0
  518. package/interfaces/codegen/schema-maps/ws_withdrawal_feed_selector_v_1.js +12 -0
  519. package/interfaces/config.interface.d.ts +7 -0
  520. package/interfaces/config.interface.js +13 -0
  521. package/interfaces/index.d.ts +2 -0
  522. package/interfaces/index.js +18 -0
  523. package/package.json +50 -0
  524. package/services/index.d.ts +1 -0
  525. package/services/index.js +17 -0
  526. package/services/restful.service.d.ts +1 -0
  527. package/services/restful.service.js +22 -0
  528. package/utils/index.d.ts +15 -0
  529. package/utils/index.js +87 -0
  530. package/utils/json.utils.d.ts +3 -0
  531. package/utils/json.utils.js +17 -0
  532. package/utils/string.utils.d.ts +7 -0
  533. package/utils/string.utils.js +23 -0
  534. package/ws/index.d.ts +2 -0
  535. package/ws/index.js +18 -0
  536. package/ws/interfaces.d.ts +119 -0
  537. package/ws/interfaces.js +22 -0
  538. package/ws/ws.d.ts +61 -0
  539. package/ws/ws.js +714 -0
package/ws/ws.js ADDED
@@ -0,0 +1,714 @@
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 __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.WS = void 0;
24
+ const interfaces_1 = require("../interfaces");
25
+ const utils_1 = require("../utils");
26
+ const interfaces_2 = require("./interfaces");
27
+ class WS {
28
+ get _ws() {
29
+ if (!this.__ws) {
30
+ return this._createWs();
31
+ }
32
+ return this.__ws;
33
+ }
34
+ constructor(options) {
35
+ this._retries = 0;
36
+ this._connecting = true;
37
+ this._version = 'v1';
38
+ /**
39
+ * START: Pairs
40
+ */
41
+ this._pairs = {};
42
+ /**
43
+ * END: Pairs
44
+ */
45
+ this._onConnects = [];
46
+ this._onCloses = [];
47
+ this._onErrors = [];
48
+ this._options = options;
49
+ }
50
+ _createWs() {
51
+ if (this.__ws) {
52
+ this._close(this.__ws);
53
+ }
54
+ this._connecting = true;
55
+ this.__ws = new WebSocket(this._options.url, this._options.protocols);
56
+ this._bindWebSocketListeners(this.__ws);
57
+ return this.__ws;
58
+ }
59
+ _close(ws) {
60
+ const close = () => {
61
+ // force close
62
+ ws.close();
63
+ // if (ws.readyState !== WebSocket.CLOSED && ws.readyState !== WebSocket.CONNECTING) {
64
+ // ws.close()
65
+ // }
66
+ };
67
+ ws.addEventListener('open', () => {
68
+ close();
69
+ });
70
+ ws.addEventListener('message', () => {
71
+ close();
72
+ });
73
+ ws.addEventListener('error', () => {
74
+ close();
75
+ });
76
+ close();
77
+ }
78
+ _bindWebSocketListeners(currentWs) {
79
+ for (const onConnect of this._onConnects) {
80
+ currentWs.addEventListener('open', onConnect);
81
+ }
82
+ for (const onClose of this._onCloses) {
83
+ currentWs.addEventListener('close', onClose);
84
+ }
85
+ for (const onError of this._onErrors) {
86
+ currentWs.addEventListener('error', onError);
87
+ }
88
+ const reconnect = () => {
89
+ var _a, _b, _c;
90
+ if (!this._connecting) {
91
+ return;
92
+ }
93
+ const retryTimeout = (_c = (_b = (_a = this._options).reconnectStrategy) === null || _b === void 0 ? void 0 : _b.call(_a, ++this._retries)) !== null && _c !== void 0 ? _c : new Error('No reconnect strategy');
94
+ if (typeof retryTimeout === 'number') {
95
+ return setTimeout(() => {
96
+ if (currentWs !== this.__ws) {
97
+ this._close(currentWs);
98
+ return;
99
+ }
100
+ this._createWs();
101
+ }, retryTimeout);
102
+ }
103
+ throw retryTimeout;
104
+ };
105
+ currentWs.addEventListener('open', (e) => {
106
+ // only keep the latest ws
107
+ if (currentWs !== this.__ws) {
108
+ this._close(currentWs);
109
+ return;
110
+ }
111
+ this._subscribeCurrentPairs();
112
+ });
113
+ currentWs.addEventListener('close', () => {
114
+ // only keep the latest ws
115
+ if (currentWs !== this.__ws) {
116
+ this._close(currentWs);
117
+ return;
118
+ }
119
+ reconnect();
120
+ });
121
+ currentWs.addEventListener('error', () => {
122
+ // only keep the latest ws
123
+ if (currentWs !== this.__ws) {
124
+ this._close(currentWs);
125
+ return;
126
+ }
127
+ reconnect();
128
+ });
129
+ currentWs.addEventListener('message', (e) => {
130
+ var _a, _b, _c, _d, _e, _f;
131
+ // only keep the latest ws
132
+ if (currentWs !== this.__ws) {
133
+ this._close(currentWs);
134
+ return;
135
+ }
136
+ // reset retries
137
+ if (this._retries) {
138
+ this._retries = 0;
139
+ }
140
+ const message = utils_1.JsonUtils.parse(e.data);
141
+ /**
142
+ * Ignore 400 status response messages
143
+ */
144
+ if (message.status === 400) {
145
+ return;
146
+ }
147
+ const stream = message.s = (_b = (_a = message.s) === null || _a === void 0 ? void 0 : _a.replace) === null || _b === void 0 ? void 0 : _b.call(_a, `${this._version}.`, '');
148
+ const result = this._messageLiteToFull(message);
149
+ // no entity found
150
+ if (!result) {
151
+ // if no entity found and not a subscription message
152
+ if (!((_c = message.s1) === null || _c === void 0 ? void 0 : _c.length)) {
153
+ console.warn('Error: something went wrong with message', message);
154
+ }
155
+ return;
156
+ }
157
+ if (!stream) {
158
+ console.warn('Error: cannot parse stream or feed from message', message);
159
+ return;
160
+ }
161
+ const instrument = (_f = (_e = (_d = result === null || result === void 0 ? void 0 : result.legs) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.instrument) !== null && _f !== void 0 ? _f : result === null || result === void 0 ? void 0 : result.instrument;
162
+ /**
163
+ * Handle subscriptions with instrument
164
+ */
165
+ const consumers = instrument
166
+ ? this._getInstrumentConsumers({ stream, instrument, result })
167
+ : this._getNonInstrumentConsumers({ stream, result });
168
+ if (!(consumers === null || consumers === void 0 ? void 0 : consumers.length)) {
169
+ // There are delay in sending unsubscribe message so clients might receive messages after unsubscribing
170
+ // console.log('TODO: send unsubscribe with by message:', message, result)
171
+ return;
172
+ }
173
+ if (result && (consumers === null || consumers === void 0 ? void 0 : consumers.length)) {
174
+ for (const consumer of consumers) {
175
+ typeof consumer === 'function' && consumer(result);
176
+ }
177
+ }
178
+ });
179
+ /**
180
+ * Auto close after 10s of inactivity
181
+ */
182
+ let lastMessageAt = Date.now();
183
+ const autoCloseDelay = 10 * 1000;
184
+ const autoCloseInterval = setInterval(() => {
185
+ if (Date.now() - lastMessageAt > autoCloseDelay) {
186
+ reconnect();
187
+ }
188
+ }, autoCloseDelay);
189
+ /**
190
+ * Heartbeat every 3s
191
+ */
192
+ const heartbeatDelay = 3 * 1000;
193
+ const heartbeat = () => {
194
+ if (currentWs.readyState === WebSocket.OPEN && Date.now() - lastMessageAt > heartbeatDelay) {
195
+ currentWs.send('ping');
196
+ }
197
+ };
198
+ const heartbeatInterval = setInterval(heartbeat, heartbeatDelay);
199
+ currentWs.addEventListener('message', (e) => {
200
+ lastMessageAt = Date.now();
201
+ });
202
+ currentWs.addEventListener('close', () => {
203
+ clearInterval(autoCloseInterval);
204
+ clearInterval(heartbeatInterval);
205
+ });
206
+ }
207
+ /**
208
+ * Only use for TDG
209
+ * Use for TEntities of GROUP | STATE | DEPOSIT | TRANSFER | WITHDRAWAL streams
210
+ */
211
+ _getNonInstrumentConsumers({ result, stream }) {
212
+ return Object.entries(this._pairs).reduce((acc, [key, value]) => {
213
+ if (!key.startsWith(`${stream}__`)) {
214
+ return acc;
215
+ }
216
+ const depositDestinationAccountId = result.to_account_id;
217
+ const transferSourceKey = [
218
+ result.from_account_id,
219
+ result.from_sub_account_id ? result.from_sub_account_id : 0
220
+ ].filter(Boolean).join('-');
221
+ const transferDestinationKey = [
222
+ result.to_account_id,
223
+ result.to_sub_account_id ? result.to_sub_account_id : 0
224
+ ].filter(Boolean).join('-');
225
+ const withdrawalFromAccountId = result.from_account_id;
226
+ switch (stream) {
227
+ case interfaces_2.EStream.GROUP:
228
+ return [...acc, ...Object.values(value)];
229
+ case interfaces_2.EStream.STATE:
230
+ return [...acc, ...Object.values(value)];
231
+ case interfaces_2.EStream.DEPOSIT:
232
+ if (depositDestinationAccountId && key.endsWith(depositDestinationAccountId)) {
233
+ return [...acc, ...Object.values(value)];
234
+ }
235
+ break;
236
+ case interfaces_2.EStream.TRANSFER:
237
+ if ((transferSourceKey && key.endsWith(transferSourceKey)) || (transferDestinationKey && key.endsWith(transferDestinationKey))) {
238
+ return [...acc, ...Object.values(value)];
239
+ }
240
+ break;
241
+ case interfaces_2.EStream.WITHDRAWAL:
242
+ if (withdrawalFromAccountId && key.endsWith(withdrawalFromAccountId)) {
243
+ return [...acc, ...Object.values(value)];
244
+ }
245
+ break;
246
+ }
247
+ return acc;
248
+ }, []);
249
+ }
250
+ /**
251
+ * Use for MDG/TDG
252
+ * Use for TEntityHasInstrument
253
+ */
254
+ _getInstrumentConsumers({ result, stream, instrument }) {
255
+ return Object.entries(this._pairs).reduce((acc, [key, value]) => {
256
+ var _a, _b, _c;
257
+ if (!key.startsWith(`${stream}__`)) {
258
+ return acc;
259
+ }
260
+ const hasSubAccountId = [
261
+ interfaces_2.EStream.ORDER,
262
+ // EStream.STATE,
263
+ interfaces_2.EStream.POSITION,
264
+ interfaces_2.EStream.FILL
265
+ // EStream.DEPOSIT,
266
+ // EStream.TRANSFER,
267
+ // EStream.WITHDRAWAL
268
+ ].includes(stream);
269
+ // no sub account id handling
270
+ if (!hasSubAccountId) {
271
+ return key.includes(instrument)
272
+ ? [...acc, ...Object.values(value)]
273
+ : acc;
274
+ }
275
+ // has sub account id handling
276
+ const subAccountId = String(result.sub_account_id);
277
+ // const subAccountId = String((result as IPositions).sub_account_id)
278
+ // const subAccountId = String((result as IFill).sub_account_id)
279
+ const feed = (_a = this._parseStream({
280
+ stream: stream,
281
+ params: {
282
+ sub_account_id: subAccountId,
283
+ instrument
284
+ }
285
+ })) === null || _a === void 0 ? void 0 : _a.feed;
286
+ const tdgFeedPrefix = (_c = (_b = feed === null || feed === void 0 ? void 0 : feed[0]) === null || _b === void 0 ? void 0 : _b.split('@')) === null || _c === void 0 ? void 0 : _c[0];
287
+ if (tdgFeedPrefix && key.startsWith(`${stream}__${tdgFeedPrefix}`)) {
288
+ return [...acc, ...Object.values(value)];
289
+ }
290
+ return acc;
291
+ }, []);
292
+ }
293
+ _parseStream(options) {
294
+ const candleFeed = (params) => [
295
+ params.instrument,
296
+ [
297
+ params.interval,
298
+ params.type
299
+ ].filter(Boolean).join('-')
300
+ ].filter(Boolean).join('@');
301
+ const bookDeltaFeed = (params) => {
302
+ var _a;
303
+ return [
304
+ params.instrument,
305
+ [
306
+ (_a = params.rate) !== null && _a !== void 0 ? _a : 1000
307
+ ].filter(Boolean).join('-')
308
+ ].filter(Boolean).join('@');
309
+ };
310
+ const bookFeed = (params) => {
311
+ var _a, _b;
312
+ return [
313
+ params.instrument,
314
+ [
315
+ (_a = params.rate) !== null && _a !== void 0 ? _a : 1000,
316
+ (_b = params.depth) !== null && _b !== void 0 ? _b : 10
317
+ ].filter(Boolean).join('-')
318
+ ].filter(Boolean).join('@');
319
+ };
320
+ const miniFeed = (params) => {
321
+ var _a;
322
+ return [
323
+ params.instrument,
324
+ [
325
+ (_a = params.rate) !== null && _a !== void 0 ? _a : 1000
326
+ ].filter(Boolean).join('-')
327
+ ].filter(Boolean).join('@');
328
+ };
329
+ const tickerFeed = (params) => {
330
+ var _a;
331
+ return [
332
+ params.instrument,
333
+ [
334
+ (_a = params.rate) !== null && _a !== void 0 ? _a : 1000
335
+ ].filter(Boolean).join('-')
336
+ ].filter(Boolean).join('@');
337
+ };
338
+ const publicTradesFeed = (params) => {
339
+ var _a;
340
+ return [
341
+ params.instrument,
342
+ [
343
+ (_a = params.limit) !== null && _a !== void 0 ? _a : 500
344
+ ].filter(Boolean).join('-')
345
+ ].filter(Boolean).join('@');
346
+ };
347
+ /**
348
+ * TDG
349
+ */
350
+ const orderGroupFeed = (params) => [
351
+ [
352
+ params.sub_account_id
353
+ ].filter(Boolean).join('-')
354
+ // [
355
+ // {
356
+ // all: 'a',
357
+ // createOnly: 'c',
358
+ // updateOnly: 'u'
359
+ // }[params.state_filter] || 'a'
360
+ // ].filter(Boolean).join('-')
361
+ ].filter(Boolean).join('@');
362
+ const orderFeed = (params) => [
363
+ [
364
+ params.sub_account_id,
365
+ params.instrument
366
+ ].filter(Boolean).join('-')
367
+ // [
368
+ // {
369
+ // all: 'a',
370
+ // createOnly: 'c',
371
+ // updateOnly: 'u'
372
+ // }[params.state_filter] || 'a'
373
+ // ].filter(Boolean).join('-')
374
+ ].filter(Boolean).join('@');
375
+ const orderStateFeed = (params) => [
376
+ [
377
+ params.sub_account_id,
378
+ params.instrument
379
+ ].filter(Boolean).join('-')
380
+ // [
381
+ // {
382
+ // all: 'a',
383
+ // createOnly: 'c',
384
+ // updateOnly: 'u'
385
+ // }[params.state_filter] || 'a'
386
+ // ].filter(Boolean).join('-')
387
+ ].filter(Boolean).join('@');
388
+ const positionFeed = (params) => [
389
+ [
390
+ params.sub_account_id,
391
+ params.instrument
392
+ ].filter(Boolean).join('-')
393
+ // [
394
+ // params.createOnly
395
+ // ].filter(Boolean).join('-')
396
+ ].filter(Boolean).join('@');
397
+ const fillFeed = (params) => [
398
+ [
399
+ params.sub_account_id,
400
+ params.instrument
401
+ ].filter(Boolean).join('-')
402
+ // [
403
+ // params.createOnly
404
+ // ].filter(Boolean).join('-')
405
+ ].filter(Boolean).join('@');
406
+ const depositFeed = (params) => {
407
+ return params.main_account_id;
408
+ };
409
+ const transferFeed = (params) => {
410
+ if (params.sub_account_id) {
411
+ return [params.main_account_id, params.sub_account_id].join('-');
412
+ }
413
+ return params.main_account_id;
414
+ };
415
+ const withdrawalFeed = (params) => {
416
+ return params.main_account_id;
417
+ };
418
+ const { stream, params } = options;
419
+ switch (stream) {
420
+ case interfaces_2.EStream.CANDLE:
421
+ return {
422
+ stream,
423
+ feed: [candleFeed(params)]
424
+ };
425
+ case interfaces_2.EStream.ORDERBOOK_DELTA:
426
+ return {
427
+ stream,
428
+ feed: [bookDeltaFeed(params)]
429
+ };
430
+ case interfaces_2.EStream.ORDERBOOK_SNAP:
431
+ return {
432
+ stream,
433
+ feed: [bookFeed(params)]
434
+ };
435
+ case interfaces_2.EStream.MINI_DELTA:
436
+ case interfaces_2.EStream.MINI_SNAP:
437
+ return {
438
+ stream,
439
+ feed: [miniFeed(params)]
440
+ };
441
+ case interfaces_2.EStream.TICKER_DELTA:
442
+ case interfaces_2.EStream.TICKER_SNAP:
443
+ return {
444
+ stream,
445
+ feed: [tickerFeed(params)]
446
+ };
447
+ case interfaces_2.EStream.TRADE:
448
+ return {
449
+ stream,
450
+ feed: [publicTradesFeed(params)]
451
+ };
452
+ case interfaces_2.EStream.GROUP:
453
+ return {
454
+ stream,
455
+ feed: [orderGroupFeed(params)]
456
+ };
457
+ case interfaces_2.EStream.ORDER:
458
+ return {
459
+ stream,
460
+ feed: [orderFeed(params)]
461
+ };
462
+ case interfaces_2.EStream.STATE:
463
+ return {
464
+ stream,
465
+ feed: [orderStateFeed(params)]
466
+ };
467
+ case interfaces_2.EStream.POSITION:
468
+ return {
469
+ stream,
470
+ feed: [positionFeed(params)]
471
+ };
472
+ case interfaces_2.EStream.FILL:
473
+ return {
474
+ stream,
475
+ feed: [fillFeed(params)]
476
+ };
477
+ case interfaces_2.EStream.DEPOSIT:
478
+ return {
479
+ stream,
480
+ feed: [depositFeed(params)]
481
+ };
482
+ case interfaces_2.EStream.TRANSFER:
483
+ return {
484
+ stream,
485
+ feed: [transferFeed(params)]
486
+ };
487
+ case interfaces_2.EStream.WITHDRAWAL:
488
+ return {
489
+ stream,
490
+ feed: [withdrawalFeed(params)]
491
+ };
492
+ default:
493
+ console.warn('Unknown stream: ' + stream);
494
+ }
495
+ }
496
+ _messageLiteToFull(message) {
497
+ switch (message.s) {
498
+ case interfaces_2.EStream.CANDLE:
499
+ return utils_1.Utils.schemaMap(message, interfaces_1.WS_CANDLESTICK_FEED_DATA_V_1_MAP.LITE_TO_FULL).feed;
500
+ case interfaces_2.EStream.ORDERBOOK_DELTA:
501
+ case interfaces_2.EStream.ORDERBOOK_SNAP:
502
+ return utils_1.Utils.schemaMap(message, interfaces_1.WS_ORDERBOOK_LEVELS_FEED_DATA_V_1_MAP.LITE_TO_FULL).feed;
503
+ case interfaces_2.EStream.MINI_DELTA:
504
+ case interfaces_2.EStream.MINI_SNAP:
505
+ return utils_1.Utils.schemaMap(message, interfaces_1.WS_MINI_TICKER_FEED_DATA_V_1_MAP.LITE_TO_FULL).feed;
506
+ case interfaces_2.EStream.TICKER_DELTA:
507
+ case interfaces_2.EStream.TICKER_SNAP:
508
+ return utils_1.Utils.schemaMap(message, interfaces_1.WS_TICKER_FEED_DATA_V_1_MAP.LITE_TO_FULL).feed;
509
+ case interfaces_2.EStream.TRADE:
510
+ return utils_1.Utils.schemaMap(message, interfaces_1.WS_TRADE_FEED_DATA_V_1_MAP.LITE_TO_FULL).feed;
511
+ case interfaces_2.EStream.GROUP:
512
+ return utils_1.Utils.schemaMap(message, interfaces_1.WS_ORDER_GROUP_FEED_DATA_V_1_MAP.LITE_TO_FULL).feed;
513
+ case interfaces_2.EStream.ORDER:
514
+ return utils_1.Utils.schemaMap(message, interfaces_1.WS_ORDER_FEED_DATA_V_1_MAP.LITE_TO_FULL).feed;
515
+ case interfaces_2.EStream.STATE:
516
+ return utils_1.Utils.schemaMap(message, interfaces_1.WS_ORDER_STATE_FEED_DATA_V_1_MAP.LITE_TO_FULL).feed;
517
+ case interfaces_2.EStream.POSITION:
518
+ return utils_1.Utils.schemaMap(message, interfaces_1.WS_POSITIONS_FEED_DATA_V_1_MAP.LITE_TO_FULL).feed;
519
+ case interfaces_2.EStream.FILL:
520
+ return utils_1.Utils.schemaMap(message, interfaces_1.WS_FILL_FEED_DATA_V_1_MAP.LITE_TO_FULL).feed;
521
+ case interfaces_2.EStream.DEPOSIT:
522
+ return utils_1.Utils.schemaMap(message, interfaces_1.WS_DEPOSIT_FEED_DATA_V_1_MAP.LITE_TO_FULL).feed;
523
+ case interfaces_2.EStream.TRANSFER:
524
+ return utils_1.Utils.schemaMap(message, interfaces_1.WS_TRANSFER_FEED_DATA_V_1_MAP.LITE_TO_FULL).feed;
525
+ case interfaces_2.EStream.WITHDRAWAL:
526
+ return utils_1.Utils.schemaMap(message, interfaces_1.WS_WITHDRAWAL_FEED_DATA_V_1_MAP.LITE_TO_FULL).feed;
527
+ default:
528
+ console.warn('Unknown message:', message);
529
+ }
530
+ }
531
+ _sendMessage(payload) {
532
+ if (this._ws.readyState === WebSocket.OPEN) {
533
+ this._ws.send(JSON.stringify(Object.assign(Object.assign({}, payload), { stream: `${this._version}.${payload.stream}` })));
534
+ }
535
+ }
536
+ _getPair({ stream, feed }) {
537
+ return `${stream}__${feed}`;
538
+ }
539
+ _parsePair(pair) {
540
+ var _a;
541
+ const [stream, feed] = pair.split('__');
542
+ return {
543
+ stream,
544
+ feed,
545
+ asset: (_a = feed === null || feed === void 0 ? void 0 : feed.split('@')) === null || _a === void 0 ? void 0 : _a[0]
546
+ };
547
+ }
548
+ _addConsumer(pair, onMessage) {
549
+ var _a;
550
+ if (!this._pairs[pair]) {
551
+ this._pairs[pair] = {};
552
+ }
553
+ const key = (_a = Object.entries(this._pairs[pair]).find(([, consumer]) => consumer === onMessage)) === null || _a === void 0 ? void 0 : _a[0];
554
+ if (key) {
555
+ return `${pair}__${key}`; // already bound
556
+ }
557
+ const consumerKey = `${Date.now()}${utils_1.StringUtils.randChars(3)}`;
558
+ this._pairs[pair][consumerKey] = onMessage;
559
+ return `${pair}__${consumerKey}`;
560
+ }
561
+ _removeConsumer(pairedConsumerKey) {
562
+ const [stream, feed, consumerKey] = pairedConsumerKey.split('__');
563
+ const pairKey = this._getPair({ stream, feed });
564
+ if (!this._pairs[pairKey]) {
565
+ return;
566
+ }
567
+ let needUnsubscribe = true;
568
+ const pairPrimary = pairKey.split('@')[0];
569
+ for (const key of Object.keys(this._pairs)) {
570
+ if (key.split('@')[0] !== pairPrimary) {
571
+ continue;
572
+ }
573
+ const primaryGroup = this._pairs[key];
574
+ const _a = primaryGroup, _b = consumerKey, _ = _a[_b], keep = __rest(_a, [typeof _b === "symbol" ? _b : _b + ""]);
575
+ this._pairs[key] = keep;
576
+ if (Object.keys(keep).length) {
577
+ needUnsubscribe = false;
578
+ }
579
+ }
580
+ if (needUnsubscribe) {
581
+ this._sendMessage({
582
+ method: 'unsubscribe',
583
+ stream,
584
+ feed: [feed]
585
+ });
586
+ }
587
+ }
588
+ setParams(params) {
589
+ const url = new URL(this._options.url.toString());
590
+ for (const [key, value] of Object.entries(params)) {
591
+ url.searchParams.set(key, value);
592
+ }
593
+ this._options.url = url;
594
+ this._createWs();
595
+ return this;
596
+ }
597
+ onConnect(callback) {
598
+ this._onConnects.push(callback);
599
+ this._ws.addEventListener('open', callback);
600
+ return () => {
601
+ this._ws.removeEventListener('open', callback);
602
+ this._onConnects.splice(this._onConnects.indexOf(callback), 1);
603
+ };
604
+ }
605
+ onClose(callback) {
606
+ this._onCloses.push(callback);
607
+ this._ws.addEventListener('close', callback);
608
+ return () => {
609
+ this._ws.removeEventListener('close', callback);
610
+ this._onCloses.splice(this._onCloses.indexOf(callback), 1);
611
+ };
612
+ }
613
+ onError(callback) {
614
+ this._onErrors.push(callback);
615
+ this._ws.addEventListener('error', callback);
616
+ return () => {
617
+ this._ws.removeEventListener('error', callback);
618
+ this._onErrors.splice(this._onErrors.indexOf(callback), 1);
619
+ };
620
+ }
621
+ _subscribeCurrentPairs() {
622
+ const pairs = Object.keys(this._pairs);
623
+ for (const pair of pairs) {
624
+ const { stream, feed } = this._parsePair(pair);
625
+ this._sendMessage({
626
+ method: 'subscribe',
627
+ stream,
628
+ feed: [feed]
629
+ });
630
+ }
631
+ }
632
+ _subscribe(pair, subscribePayload) {
633
+ var _a;
634
+ return __awaiter(this, void 0, void 0, function* () {
635
+ if (Object.keys(this._pairs[pair] || {}).length) {
636
+ return;
637
+ }
638
+ yield this.ready();
639
+ let _resolve;
640
+ const onPaired = (e) => {
641
+ var _a, _b, _c;
642
+ const message = utils_1.JsonUtils.parse(e.data);
643
+ if (!(message === null || message === void 0 ? void 0 : message.s) || !((_a = message === null || message === void 0 ? void 0 : message.s1) === null || _a === void 0 ? void 0 : _a.length)) {
644
+ return;
645
+ }
646
+ const responseStream = (_c = (_b = message.s) === null || _b === void 0 ? void 0 : _b.replace) === null || _c === void 0 ? void 0 : _c.call(_b, `${this._version}.`, '');
647
+ const { stream, feed } = this._parsePair(pair);
648
+ const asset = feed.split('@')[0];
649
+ const subs = message.s1;
650
+ const isResolved = stream === responseStream && (subs.includes(asset) ||
651
+ subs.includes(asset.toLowerCase()) ||
652
+ subs.includes(feed) ||
653
+ subs.includes(feed.toLowerCase()));
654
+ if (isResolved) {
655
+ _resolve();
656
+ }
657
+ };
658
+ const promise = new Promise((resolve) => {
659
+ _resolve = resolve;
660
+ this._ws.addEventListener('message', onPaired);
661
+ });
662
+ this._sendMessage(subscribePayload);
663
+ return utils_1.Utils.timeout(promise, (_a = this._options.timeout) !== null && _a !== void 0 ? _a : 30000, new Error('Subscribe Timeout: ' + pair)).finally(() => {
664
+ this._ws.removeEventListener('message', onPaired);
665
+ });
666
+ });
667
+ }
668
+ /**
669
+ * Only supports one feed
670
+ */
671
+ subscribe(_options) {
672
+ var _a;
673
+ const { onData: onMessage, onError } = _options, options = __rest(_options, ["onData", "onError"]);
674
+ const subscribePayload = Object.assign(Object.assign({}, this._parseStream(options)), { method: 'subscribe' });
675
+ const stream = subscribePayload.stream;
676
+ const feed = (_a = subscribePayload.feed) === null || _a === void 0 ? void 0 : _a[0];
677
+ if (!stream || !feed) {
678
+ throw new Error('Unknown stream or feed');
679
+ }
680
+ const pair = this._getPair({ stream, feed });
681
+ void this._subscribe(pair, subscribePayload).catch(onError);
682
+ return this._addConsumer(pair, onMessage);
683
+ }
684
+ unsubscribe(pairedConsumerKey) {
685
+ this._removeConsumer(pairedConsumerKey);
686
+ return this;
687
+ }
688
+ connect() {
689
+ this._createWs();
690
+ return this;
691
+ }
692
+ disconnect() {
693
+ if (this.__ws) {
694
+ this._close(this.__ws);
695
+ this.__ws = undefined;
696
+ }
697
+ this._connecting = false;
698
+ return this;
699
+ }
700
+ ready(delay = 100) {
701
+ if (this._ws.readyState === WebSocket.OPEN) {
702
+ return Promise.resolve(this);
703
+ }
704
+ if (this._ws.readyState === WebSocket.CLOSED) {
705
+ return Promise.reject(new Error('WebSocket is closed'));
706
+ }
707
+ return new Promise((resolve) => {
708
+ setTimeout(() => {
709
+ resolve(this.ready());
710
+ }, delay);
711
+ });
712
+ }
713
+ }
714
+ exports.WS = WS;