@3rd-eye-labs/openmm 0.0.1 → 0.1.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 (441) hide show
  1. package/dist/cli/cli.js +4 -5
  2. package/dist/cli/cli.js.map +1 -1
  3. package/dist/cli/commands/balance.d.ts.map +1 -1
  4. package/dist/cli/commands/balance.js +1 -1
  5. package/dist/cli/commands/balance.js.map +1 -1
  6. package/dist/cli/commands/grid.d.ts +3 -0
  7. package/dist/cli/commands/grid.d.ts.map +1 -0
  8. package/dist/cli/commands/grid.js +103 -0
  9. package/dist/cli/commands/grid.js.map +1 -0
  10. package/dist/cli/commands/multi-trade.d.ts +3 -0
  11. package/dist/cli/commands/multi-trade.d.ts.map +1 -0
  12. package/dist/cli/commands/multi-trade.js +175 -0
  13. package/dist/cli/commands/multi-trade.js.map +1 -0
  14. package/dist/cli/commands/orderbook.js +1 -1
  15. package/dist/cli/commands/orderbook.js.map +1 -1
  16. package/dist/cli/commands/orders.d.ts.map +1 -1
  17. package/dist/cli/commands/orders.js +3 -4
  18. package/dist/cli/commands/orders.js.map +1 -1
  19. package/dist/cli/commands/pool-discovery.d.ts.map +1 -1
  20. package/dist/cli/commands/pool-discovery.js +2 -4
  21. package/dist/cli/commands/pool-discovery.js.map +1 -1
  22. package/dist/cli/commands/price-comparison.d.ts +3 -0
  23. package/dist/cli/commands/price-comparison.d.ts.map +1 -0
  24. package/dist/cli/commands/price-comparison.js +103 -0
  25. package/dist/cli/commands/price-comparison.js.map +1 -0
  26. package/dist/cli/commands/ticker.d.ts.map +1 -1
  27. package/dist/cli/commands/ticker.js.map +1 -1
  28. package/dist/cli/commands/trade.d.ts.map +1 -1
  29. package/dist/cli/commands/trade.js +135 -18
  30. package/dist/cli/commands/trade.js.map +1 -1
  31. package/dist/cli/commands/trades.d.ts.map +1 -1
  32. package/dist/cli/commands/trades.js +2 -3
  33. package/dist/cli/commands/trades.js.map +1 -1
  34. package/dist/cli/exchange-factory.d.ts.map +1 -1
  35. package/dist/cli/exchange-factory.js +6 -6
  36. package/dist/cli/exchange-factory.js.map +1 -1
  37. package/dist/cli/pool-discovery-core.d.ts.map +1 -1
  38. package/dist/cli/pool-discovery-core.js +3 -9
  39. package/dist/cli/pool-discovery-core.js.map +1 -1
  40. package/dist/cli/pool-discovery.d.ts +56 -0
  41. package/dist/cli/pool-discovery.d.ts.map +1 -0
  42. package/dist/cli/pool-discovery.js +283 -0
  43. package/dist/cli/pool-discovery.js.map +1 -0
  44. package/dist/cli/utils/error-handler.d.ts.map +1 -1
  45. package/dist/cli/utils/error-handler.js +6 -5
  46. package/dist/cli/utils/error-handler.js.map +1 -1
  47. package/dist/config/environment.d.ts.map +1 -1
  48. package/dist/config/environment.js +3 -1
  49. package/dist/config/environment.js.map +1 -1
  50. package/dist/config/launcher-config.d.ts +13 -0
  51. package/dist/config/launcher-config.d.ts.map +1 -1
  52. package/dist/config/launcher-config.js +3 -1
  53. package/dist/config/launcher-config.js.map +1 -1
  54. package/dist/config/price-aggregation.d.ts +1 -1
  55. package/dist/config/price-aggregation.d.ts.map +1 -1
  56. package/dist/config/price-aggregation.js +20 -20
  57. package/dist/config/price-aggregation.js.map +1 -1
  58. package/dist/core/exchange/base-exchange-connector.d.ts.map +1 -1
  59. package/dist/core/exchange/base-exchange-connector.js +1 -5
  60. package/dist/core/exchange/base-exchange-connector.js.map +1 -1
  61. package/dist/core/exchange/base-exchange-data-mapper.d.ts.map +1 -1
  62. package/dist/core/exchange/base-exchange-data-mapper.js +1 -1
  63. package/dist/core/exchange/base-exchange-data-mapper.js.map +1 -1
  64. package/dist/core/price-aggregation/cardano-price-service.d.ts +2 -2
  65. package/dist/core/price-aggregation/cardano-price-service.d.ts.map +1 -1
  66. package/dist/core/price-aggregation/cardano-price-service.js +13 -13
  67. package/dist/core/price-aggregation/cardano-price-service.js.map +1 -1
  68. package/dist/core/price-aggregation/index.d.ts +1 -1
  69. package/dist/core/price-aggregation/index.d.ts.map +1 -1
  70. package/dist/core/price-aggregation/iris-api-client.d.ts.map +1 -1
  71. package/dist/core/price-aggregation/iris-api-client.js +5 -5
  72. package/dist/core/price-aggregation/iris-api-client.js.map +1 -1
  73. package/dist/core/price-aggregation/iris-pool-discovery.d.ts +2 -2
  74. package/dist/core/price-aggregation/iris-pool-discovery.d.ts.map +1 -1
  75. package/dist/core/price-aggregation/iris-pool-discovery.js +3 -3
  76. package/dist/core/price-aggregation/iris-pool-discovery.js.map +1 -1
  77. package/dist/core/price-aggregation/multi-exchange-price-service.d.ts +38 -0
  78. package/dist/core/price-aggregation/multi-exchange-price-service.d.ts.map +1 -0
  79. package/dist/core/price-aggregation/multi-exchange-price-service.js +123 -0
  80. package/dist/core/price-aggregation/multi-exchange-price-service.js.map +1 -0
  81. package/dist/core/price-aggregation/price-cache.d.ts +55 -0
  82. package/dist/core/price-aggregation/price-cache.d.ts.map +1 -0
  83. package/dist/core/price-aggregation/price-cache.js +152 -0
  84. package/dist/core/price-aggregation/price-cache.js.map +1 -0
  85. package/dist/core/price-aggregation/price-calculator.d.ts.map +1 -1
  86. package/dist/core/price-aggregation/price-calculator.js +3 -3
  87. package/dist/core/price-aggregation/price-calculator.js.map +1 -1
  88. package/dist/core/risk-management/risk-manager.d.ts.map +1 -1
  89. package/dist/core/risk-management/risk-manager.js +2 -2
  90. package/dist/core/risk-management/risk-manager.js.map +1 -1
  91. package/dist/core/strategy/strategy-factory.d.ts +5 -0
  92. package/dist/core/strategy/strategy-factory.d.ts.map +1 -1
  93. package/dist/core/strategy/strategy-factory.js +127 -5
  94. package/dist/core/strategy/strategy-factory.js.map +1 -1
  95. package/dist/examples/mexc-connector-comprehensive-test.d.ts +15 -0
  96. package/dist/examples/mexc-connector-comprehensive-test.d.ts.map +1 -0
  97. package/dist/examples/mexc-connector-comprehensive-test.js +514 -0
  98. package/dist/examples/mexc-connector-comprehensive-test.js.map +1 -0
  99. package/dist/examples/mexc-order-update-test.d.ts +4 -0
  100. package/dist/examples/mexc-order-update-test.d.ts.map +1 -0
  101. package/dist/examples/mexc-order-update-test.js +186 -0
  102. package/dist/examples/mexc-order-update-test.js.map +1 -0
  103. package/dist/examples/mexc-test.d.ts +9 -0
  104. package/dist/examples/mexc-test.d.ts.map +1 -0
  105. package/dist/examples/mexc-test.js +218 -0
  106. package/dist/examples/mexc-test.js.map +1 -0
  107. package/dist/examples/mexc-trades-debug.d.ts +2 -0
  108. package/dist/examples/mexc-trades-debug.d.ts.map +1 -0
  109. package/dist/examples/mexc-trades-debug.js +101 -0
  110. package/dist/examples/mexc-trades-debug.js.map +1 -0
  111. package/dist/examples/mexc-trades-subscription-debug.d.ts +2 -0
  112. package/dist/examples/mexc-trades-subscription-debug.d.ts.map +1 -0
  113. package/dist/examples/mexc-trades-subscription-debug.js +150 -0
  114. package/dist/examples/mexc-trades-subscription-debug.js.map +1 -0
  115. package/dist/examples/mexc-websocket-test.d.ts +8 -0
  116. package/dist/examples/mexc-websocket-test.d.ts.map +1 -0
  117. package/dist/examples/mexc-websocket-test.js +115 -0
  118. package/dist/examples/mexc-websocket-test.js.map +1 -0
  119. package/dist/examples/test-protobuf-status-detection.d.ts +9 -0
  120. package/dist/examples/test-protobuf-status-detection.d.ts.map +1 -0
  121. package/dist/examples/test-protobuf-status-detection.js +83 -0
  122. package/dist/examples/test-protobuf-status-detection.js.map +1 -0
  123. package/dist/exchanges/base-exchange-connector.d.ts +33 -0
  124. package/dist/exchanges/base-exchange-connector.d.ts.map +1 -0
  125. package/dist/exchanges/base-exchange-connector.js +55 -0
  126. package/dist/exchanges/base-exchange-connector.js.map +1 -0
  127. package/dist/exchanges/bitget/bitget-auth.d.ts +66 -0
  128. package/dist/exchanges/bitget/bitget-auth.d.ts.map +1 -0
  129. package/dist/exchanges/bitget/bitget-auth.js +203 -0
  130. package/dist/exchanges/bitget/bitget-auth.js.map +1 -0
  131. package/dist/exchanges/bitget/bitget-connector.d.ts +255 -0
  132. package/dist/exchanges/bitget/bitget-connector.d.ts.map +1 -0
  133. package/dist/exchanges/bitget/bitget-connector.js +709 -0
  134. package/dist/exchanges/bitget/bitget-connector.js.map +1 -0
  135. package/dist/exchanges/bitget/bitget-data-mapper.d.ts +47 -0
  136. package/dist/exchanges/bitget/bitget-data-mapper.d.ts.map +1 -0
  137. package/dist/exchanges/bitget/bitget-data-mapper.js +147 -0
  138. package/dist/exchanges/bitget/bitget-data-mapper.js.map +1 -0
  139. package/dist/exchanges/bitget/bitget-user-stream.d.ts +126 -0
  140. package/dist/exchanges/bitget/bitget-user-stream.d.ts.map +1 -0
  141. package/dist/exchanges/bitget/bitget-user-stream.js +474 -0
  142. package/dist/exchanges/bitget/bitget-user-stream.js.map +1 -0
  143. package/dist/exchanges/bitget/bitget-utils.d.ts +17 -0
  144. package/dist/exchanges/bitget/bitget-utils.d.ts.map +1 -0
  145. package/dist/exchanges/bitget/bitget-utils.js +60 -0
  146. package/dist/exchanges/bitget/bitget-utils.js.map +1 -0
  147. package/dist/exchanges/bitget/bitget-websocket.d.ts +124 -0
  148. package/dist/exchanges/bitget/bitget-websocket.d.ts.map +1 -0
  149. package/dist/exchanges/bitget/bitget-websocket.js +434 -0
  150. package/dist/exchanges/bitget/bitget-websocket.js.map +1 -0
  151. package/dist/exchanges/gateio/gateio-auth.d.ts +69 -0
  152. package/dist/exchanges/gateio/gateio-auth.d.ts.map +1 -0
  153. package/dist/exchanges/gateio/gateio-auth.js +205 -0
  154. package/dist/exchanges/gateio/gateio-auth.js.map +1 -0
  155. package/dist/exchanges/gateio/gateio-connector.d.ts +182 -0
  156. package/dist/exchanges/gateio/gateio-connector.d.ts.map +1 -0
  157. package/dist/exchanges/gateio/gateio-connector.js +605 -0
  158. package/dist/exchanges/gateio/gateio-connector.js.map +1 -0
  159. package/dist/exchanges/gateio/gateio-data-mapper.d.ts +57 -0
  160. package/dist/exchanges/gateio/gateio-data-mapper.d.ts.map +1 -0
  161. package/dist/exchanges/gateio/gateio-data-mapper.js +184 -0
  162. package/dist/exchanges/gateio/gateio-data-mapper.js.map +1 -0
  163. package/dist/exchanges/gateio/gateio-user-stream.d.ts +120 -0
  164. package/dist/exchanges/gateio/gateio-user-stream.d.ts.map +1 -0
  165. package/dist/exchanges/gateio/gateio-user-stream.js +384 -0
  166. package/dist/exchanges/gateio/gateio-user-stream.js.map +1 -0
  167. package/dist/exchanges/gateio/gateio-utils.d.ts +45 -0
  168. package/dist/exchanges/gateio/gateio-utils.d.ts.map +1 -0
  169. package/dist/exchanges/gateio/gateio-utils.js +138 -0
  170. package/dist/exchanges/gateio/gateio-utils.js.map +1 -0
  171. package/dist/exchanges/gateio/gateio-websocket.d.ts +145 -0
  172. package/dist/exchanges/gateio/gateio-websocket.d.ts.map +1 -0
  173. package/dist/exchanges/gateio/gateio-websocket.js +469 -0
  174. package/dist/exchanges/gateio/gateio-websocket.js.map +1 -0
  175. package/dist/exchanges/kraken/kraken-auth.d.ts +12 -0
  176. package/dist/exchanges/kraken/kraken-auth.d.ts.map +1 -0
  177. package/dist/exchanges/kraken/kraken-auth.js +68 -0
  178. package/dist/exchanges/kraken/kraken-auth.js.map +1 -0
  179. package/dist/exchanges/kraken/kraken-connector.d.ts +38 -0
  180. package/dist/exchanges/kraken/kraken-connector.d.ts.map +1 -0
  181. package/dist/exchanges/kraken/kraken-connector.js +355 -0
  182. package/dist/exchanges/kraken/kraken-connector.js.map +1 -0
  183. package/dist/exchanges/kraken/kraken-data-mapper.d.ts +14 -0
  184. package/dist/exchanges/kraken/kraken-data-mapper.d.ts.map +1 -0
  185. package/dist/exchanges/kraken/kraken-data-mapper.js +169 -0
  186. package/dist/exchanges/kraken/kraken-data-mapper.js.map +1 -0
  187. package/dist/exchanges/kraken/kraken-utils.d.ts +52 -0
  188. package/dist/exchanges/kraken/kraken-utils.d.ts.map +1 -0
  189. package/dist/exchanges/kraken/kraken-utils.js +206 -0
  190. package/dist/exchanges/kraken/kraken-utils.js.map +1 -0
  191. package/dist/exchanges/kraken/kraken-websocket.d.ts +64 -0
  192. package/dist/exchanges/kraken/kraken-websocket.d.ts.map +1 -0
  193. package/dist/exchanges/kraken/kraken-websocket.js +667 -0
  194. package/dist/exchanges/kraken/kraken-websocket.js.map +1 -0
  195. package/dist/exchanges/kraken/test-kraken-websocket.d.ts +19 -0
  196. package/dist/exchanges/kraken/test-kraken-websocket.d.ts.map +1 -0
  197. package/dist/exchanges/kraken/test-kraken-websocket.js +413 -0
  198. package/dist/exchanges/kraken/test-kraken-websocket.js.map +1 -0
  199. package/dist/exchanges/mexc/mexc-auth.d.ts.map +1 -1
  200. package/dist/exchanges/mexc/mexc-auth.js +5 -5
  201. package/dist/exchanges/mexc/mexc-auth.js.map +1 -1
  202. package/dist/exchanges/mexc/mexc-connector.d.ts.map +1 -1
  203. package/dist/exchanges/mexc/mexc-connector.js +12 -13
  204. package/dist/exchanges/mexc/mexc-connector.js.map +1 -1
  205. package/dist/exchanges/mexc/mexc-data-mapper.d.ts.map +1 -1
  206. package/dist/exchanges/mexc/mexc-data-mapper.js +6 -6
  207. package/dist/exchanges/mexc/mexc-data-mapper.js.map +1 -1
  208. package/dist/exchanges/mexc/mexc-protobuf-decoder.d.ts.map +1 -1
  209. package/dist/exchanges/mexc/mexc-protobuf-decoder.js +14 -13
  210. package/dist/exchanges/mexc/mexc-protobuf-decoder.js.map +1 -1
  211. package/dist/exchanges/mexc/mexc-user-stream.d.ts.map +1 -1
  212. package/dist/exchanges/mexc/mexc-user-stream.js +5 -5
  213. package/dist/exchanges/mexc/mexc-user-stream.js.map +1 -1
  214. package/dist/exchanges/mexc/mexc-utils.d.ts +1 -5
  215. package/dist/exchanges/mexc/mexc-utils.d.ts.map +1 -1
  216. package/dist/exchanges/mexc/mexc-utils.js +33 -39
  217. package/dist/exchanges/mexc/mexc-utils.js.map +1 -1
  218. package/dist/exchanges/mexc/mexc-websocket.d.ts.map +1 -1
  219. package/dist/exchanges/mexc/mexc-websocket.js +45 -31
  220. package/dist/exchanges/mexc/mexc-websocket.js.map +1 -1
  221. package/dist/index.d.ts +4 -0
  222. package/dist/index.d.ts.map +1 -1
  223. package/dist/index.js +10 -1
  224. package/dist/index.js.map +1 -1
  225. package/dist/mcp/resources/index.d.ts +3 -0
  226. package/dist/mcp/resources/index.d.ts.map +1 -0
  227. package/dist/mcp/resources/index.js +11 -0
  228. package/dist/mcp/resources/index.js.map +1 -0
  229. package/dist/mcp/server.d.ts +4 -0
  230. package/dist/mcp/server.d.ts.map +1 -0
  231. package/dist/mcp/server.js +29 -0
  232. package/dist/mcp/server.js.map +1 -0
  233. package/dist/mcp/tools/index.d.ts +3 -0
  234. package/dist/mcp/tools/index.d.ts.map +1 -0
  235. package/dist/mcp/tools/index.js +12 -0
  236. package/dist/mcp/tools/index.js.map +1 -0
  237. package/dist/strategies/grid/grid-calculator.d.ts +63 -4
  238. package/dist/strategies/grid/grid-calculator.d.ts.map +1 -1
  239. package/dist/strategies/grid/grid-calculator.js +190 -15
  240. package/dist/strategies/grid/grid-calculator.js.map +1 -1
  241. package/dist/strategies/grid/grid-order-manager.d.ts +9 -4
  242. package/dist/strategies/grid/grid-order-manager.d.ts.map +1 -1
  243. package/dist/strategies/grid/grid-order-manager.js +58 -15
  244. package/dist/strategies/grid/grid-order-manager.js.map +1 -1
  245. package/dist/strategies/grid/grid-strategy.d.ts +11 -0
  246. package/dist/strategies/grid/grid-strategy.d.ts.map +1 -1
  247. package/dist/strategies/grid/grid-strategy.js +127 -20
  248. package/dist/strategies/grid/grid-strategy.js.map +1 -1
  249. package/dist/strategies/grid/volatility-tracker.d.ts +67 -0
  250. package/dist/strategies/grid/volatility-tracker.d.ts.map +1 -0
  251. package/dist/strategies/grid/volatility-tracker.js +109 -0
  252. package/dist/strategies/grid/volatility-tracker.js.map +1 -0
  253. package/dist/tests/fixtures/test-helpers.d.ts +5 -0
  254. package/dist/tests/fixtures/test-helpers.d.ts.map +1 -0
  255. package/dist/tests/fixtures/test-helpers.js +8 -0
  256. package/dist/tests/fixtures/test-helpers.js.map +1 -0
  257. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.d.ts +2 -0
  258. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.d.ts.map +1 -0
  259. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.js +237 -0
  260. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.js.map +1 -0
  261. package/dist/tests/integration/price-aggregation/cardano-price-service.test.d.ts +2 -0
  262. package/dist/tests/integration/price-aggregation/cardano-price-service.test.d.ts.map +1 -0
  263. package/dist/tests/integration/price-aggregation/cardano-price-service.test.js +57 -0
  264. package/dist/tests/integration/price-aggregation/cardano-price-service.test.js.map +1 -0
  265. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.d.ts +2 -0
  266. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.d.ts.map +1 -0
  267. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.js +141 -0
  268. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.js.map +1 -0
  269. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.d.ts +2 -0
  270. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.d.ts.map +1 -0
  271. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.js +375 -0
  272. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.js.map +1 -0
  273. package/dist/tests/unit/cli/exchange-factory.test.d.ts +2 -0
  274. package/dist/tests/unit/cli/exchange-factory.test.d.ts.map +1 -0
  275. package/dist/tests/unit/cli/exchange-factory.test.js +148 -0
  276. package/dist/tests/unit/cli/exchange-factory.test.js.map +1 -0
  277. package/dist/tests/unit/config/environment.test.d.ts +2 -0
  278. package/dist/tests/unit/config/environment.test.d.ts.map +1 -0
  279. package/dist/tests/unit/config/environment.test.js +158 -0
  280. package/dist/tests/unit/config/environment.test.js.map +1 -0
  281. package/dist/tests/unit/config/launcher-config.test.d.ts +2 -0
  282. package/dist/tests/unit/config/launcher-config.test.d.ts.map +1 -0
  283. package/dist/tests/unit/config/launcher-config.test.js +117 -0
  284. package/dist/tests/unit/config/launcher-config.test.js.map +1 -0
  285. package/dist/tests/unit/config/price-aggregation.test.d.ts +2 -0
  286. package/dist/tests/unit/config/price-aggregation.test.d.ts.map +1 -0
  287. package/dist/tests/unit/config/price-aggregation.test.js +144 -0
  288. package/dist/tests/unit/config/price-aggregation.test.js.map +1 -0
  289. package/dist/tests/unit/core/exchange/base-exchange-connector.test.d.ts +2 -0
  290. package/dist/tests/unit/core/exchange/base-exchange-connector.test.d.ts.map +1 -0
  291. package/dist/tests/unit/core/exchange/base-exchange-connector.test.js +191 -0
  292. package/dist/tests/unit/core/exchange/base-exchange-connector.test.js.map +1 -0
  293. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.d.ts +2 -0
  294. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.d.ts.map +1 -0
  295. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.js +324 -0
  296. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.js.map +1 -0
  297. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.d.ts +2 -0
  298. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.d.ts.map +1 -0
  299. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.js +177 -0
  300. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.js.map +1 -0
  301. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.d.ts +2 -0
  302. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.d.ts.map +1 -0
  303. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.js +168 -0
  304. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.js.map +1 -0
  305. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.d.ts +2 -0
  306. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.d.ts.map +1 -0
  307. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.js +217 -0
  308. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.js.map +1 -0
  309. package/dist/tests/unit/core/price-aggregation/price-calculator.test.d.ts +2 -0
  310. package/dist/tests/unit/core/price-aggregation/price-calculator.test.d.ts.map +1 -0
  311. package/dist/tests/unit/core/price-aggregation/price-calculator.test.js +229 -0
  312. package/dist/tests/unit/core/price-aggregation/price-calculator.test.js.map +1 -0
  313. package/dist/tests/unit/core/risk-management/risk-manager.test.d.ts +2 -0
  314. package/dist/tests/unit/core/risk-management/risk-manager.test.d.ts.map +1 -0
  315. package/dist/tests/unit/core/risk-management/risk-manager.test.js +194 -0
  316. package/dist/tests/unit/core/risk-management/risk-manager.test.js.map +1 -0
  317. package/dist/tests/unit/core/strategy/base-strategy.test.d.ts +2 -0
  318. package/dist/tests/unit/core/strategy/base-strategy.test.d.ts.map +1 -0
  319. package/dist/tests/unit/core/strategy/base-strategy.test.js +254 -0
  320. package/dist/tests/unit/core/strategy/base-strategy.test.js.map +1 -0
  321. package/dist/tests/unit/core/strategy/strategy-factory.test.d.ts +2 -0
  322. package/dist/tests/unit/core/strategy/strategy-factory.test.d.ts.map +1 -0
  323. package/dist/tests/unit/core/strategy/strategy-factory.test.js +213 -0
  324. package/dist/tests/unit/core/strategy/strategy-factory.test.js.map +1 -0
  325. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.d.ts +2 -0
  326. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.d.ts.map +1 -0
  327. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.js +452 -0
  328. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.js.map +1 -0
  329. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.d.ts +2 -0
  330. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.d.ts.map +1 -0
  331. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.js +1419 -0
  332. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.js.map +1 -0
  333. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.d.ts +2 -0
  334. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.d.ts.map +1 -0
  335. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.js +435 -0
  336. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.js.map +1 -0
  337. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.d.ts +2 -0
  338. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.d.ts.map +1 -0
  339. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.js +314 -0
  340. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.js.map +1 -0
  341. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.d.ts +2 -0
  342. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.d.ts.map +1 -0
  343. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.js +178 -0
  344. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.js.map +1 -0
  345. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.d.ts +2 -0
  346. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.d.ts.map +1 -0
  347. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.js +502 -0
  348. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.js.map +1 -0
  349. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.d.ts +2 -0
  350. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.d.ts.map +1 -0
  351. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.js +317 -0
  352. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.js.map +1 -0
  353. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.d.ts +2 -0
  354. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.d.ts.map +1 -0
  355. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.js +843 -0
  356. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.js.map +1 -0
  357. package/dist/tests/unit/strategies/grid/grid-calculator.test.d.ts +2 -0
  358. package/dist/tests/unit/strategies/grid/grid-calculator.test.d.ts.map +1 -0
  359. package/dist/tests/unit/strategies/grid/grid-calculator.test.js +67 -0
  360. package/dist/tests/unit/strategies/grid/grid-calculator.test.js.map +1 -0
  361. package/dist/tests/unit/strategies/grid/grid-order-manager.test.d.ts +2 -0
  362. package/dist/tests/unit/strategies/grid/grid-order-manager.test.d.ts.map +1 -0
  363. package/dist/tests/unit/strategies/grid/grid-order-manager.test.js +211 -0
  364. package/dist/tests/unit/strategies/grid/grid-order-manager.test.js.map +1 -0
  365. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.d.ts +2 -0
  366. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.d.ts.map +1 -0
  367. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.js +197 -0
  368. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.js.map +1 -0
  369. package/dist/tests/unit/strategies/grid/grid-strategy.test.d.ts +2 -0
  370. package/dist/tests/unit/strategies/grid/grid-strategy.test.d.ts.map +1 -0
  371. package/dist/tests/unit/strategies/grid/grid-strategy.test.js +429 -0
  372. package/dist/tests/unit/strategies/grid/grid-strategy.test.js.map +1 -0
  373. package/dist/tests/unit/utils/logger.test.d.ts +2 -0
  374. package/dist/tests/unit/utils/logger.test.d.ts.map +1 -0
  375. package/dist/tests/unit/utils/logger.test.js +260 -0
  376. package/dist/tests/unit/utils/logger.test.js.map +1 -0
  377. package/dist/tests/unit/utils/symbol-utils.test.d.ts +2 -0
  378. package/dist/tests/unit/utils/symbol-utils.test.d.ts.map +1 -0
  379. package/dist/tests/unit/utils/symbol-utils.test.js +178 -0
  380. package/dist/tests/unit/utils/symbol-utils.test.js.map +1 -0
  381. package/dist/types/bitget-raw.d.ts +75 -0
  382. package/dist/types/bitget-raw.d.ts.map +1 -0
  383. package/dist/types/bitget-raw.js +10 -0
  384. package/dist/types/bitget-raw.js.map +1 -0
  385. package/dist/types/bitget.d.ts +35 -0
  386. package/dist/types/bitget.d.ts.map +1 -0
  387. package/dist/types/bitget.js +8 -0
  388. package/dist/types/bitget.js.map +1 -0
  389. package/dist/types/gateio-raw.d.ts +104 -0
  390. package/dist/types/gateio-raw.d.ts.map +1 -0
  391. package/dist/types/gateio-raw.js +7 -0
  392. package/dist/types/gateio-raw.js.map +1 -0
  393. package/dist/types/gateio.d.ts +41 -0
  394. package/dist/types/gateio.d.ts.map +1 -0
  395. package/dist/types/gateio.js +8 -0
  396. package/dist/types/gateio.js.map +1 -0
  397. package/dist/types/grid.d.ts +77 -0
  398. package/dist/types/grid.d.ts.map +1 -1
  399. package/dist/types/index.d.ts +6 -0
  400. package/dist/types/index.d.ts.map +1 -1
  401. package/dist/types/index.js +6 -0
  402. package/dist/types/index.js.map +1 -1
  403. package/dist/types/kraken-raw.d.ts +89 -0
  404. package/dist/types/kraken-raw.d.ts.map +1 -0
  405. package/dist/types/kraken-raw.js +10 -0
  406. package/dist/types/kraken-raw.js.map +1 -0
  407. package/dist/types/kraken.d.ts +44 -0
  408. package/dist/types/kraken.d.ts.map +1 -0
  409. package/dist/types/kraken.js +3 -0
  410. package/dist/types/kraken.js.map +1 -0
  411. package/dist/types/mexc.d.ts +9 -0
  412. package/dist/types/mexc.d.ts.map +1 -1
  413. package/dist/types/price-aggregation.d.ts +31 -0
  414. package/dist/types/price-aggregation.d.ts.map +1 -0
  415. package/dist/types/price-aggregation.js +6 -0
  416. package/dist/types/price-aggregation.js.map +1 -0
  417. package/dist/types/price.d.ts +23 -0
  418. package/dist/types/price.d.ts.map +1 -1
  419. package/dist/types/strategy.d.ts +5 -0
  420. package/dist/types/strategy.d.ts.map +1 -1
  421. package/dist/utils/crypto.d.ts +15 -0
  422. package/dist/utils/crypto.d.ts.map +1 -0
  423. package/dist/utils/crypto.js +50 -0
  424. package/dist/utils/crypto.js.map +1 -0
  425. package/dist/utils/exchange-utils.d.ts +194 -0
  426. package/dist/utils/exchange-utils.d.ts.map +1 -0
  427. package/dist/utils/exchange-utils.js +455 -0
  428. package/dist/utils/exchange-utils.js.map +1 -0
  429. package/dist/utils/index.d.ts +1 -0
  430. package/dist/utils/index.d.ts.map +1 -1
  431. package/dist/utils/index.js +3 -1
  432. package/dist/utils/index.js.map +1 -1
  433. package/dist/utils/logger.d.ts +1 -1
  434. package/dist/utils/logger.d.ts.map +1 -1
  435. package/dist/utils/logger.js +7 -7
  436. package/dist/utils/logger.js.map +1 -1
  437. package/dist/utils/validation.d.ts +36 -0
  438. package/dist/utils/validation.d.ts.map +1 -0
  439. package/dist/utils/validation.js +174 -0
  440. package/dist/utils/validation.js.map +1 -0
  441. package/package.json +7 -1
@@ -0,0 +1,57 @@
1
+ import { BaseExchangeDataMapper } from '../../core/exchange/base-exchange-data-mapper';
2
+ import { Order, OrderBook, Ticker, Trade, OrderStatus, Balance } from '../../types';
3
+ import { GateioRawOrder, GateioRawBalance, GateioRawTicker, GateioRawOrderBook, GateioRawTrade } from '../../types';
4
+ /**
5
+ * Gate.io Data Mapper
6
+ * Maps Gate.io API responses to OpenMM standard format
7
+ */
8
+ export declare class GateioDataMapper extends BaseExchangeDataMapper<GateioRawOrder, GateioRawBalance, GateioRawTicker, GateioRawOrderBook, GateioRawTrade, GateioRawBalance[]> {
9
+ /**
10
+ * Map Gate.io order to OpenMM Order format
11
+ */
12
+ mapOrder(gateioOrder: GateioRawOrder): Order;
13
+ /**
14
+ * Map Gate.io order status to OpenMM OrderStatus
15
+ */
16
+ static mapToOrderStatus(status: string): OrderStatus;
17
+ /**
18
+ * Map Gate.io order type to OpenMM OrderType
19
+ */
20
+ private mapOrderType;
21
+ /**
22
+ * Map Gate.io balance to OpenMM Balance format
23
+ */
24
+ mapBalance(gateioBalance: GateioRawBalance): Balance;
25
+ /**
26
+ * Map Gate.io ticker data to OpenMM Ticker format
27
+ */
28
+ mapTicker(gateioTicker: GateioRawTicker): Ticker;
29
+ /**
30
+ * Map Gate.io order book to OpenMM OrderBook format
31
+ */
32
+ mapOrderBook(gateioOrderBook: GateioRawOrderBook, symbol: string): OrderBook;
33
+ /**
34
+ * Map Gate.io trade to OpenMM Trade format
35
+ */
36
+ mapTrade(gateioTrade: GateioRawTrade, symbol: string): Trade;
37
+ /**
38
+ * Map Gate.io account response to OpenMM Balance records
39
+ * Gate.io returns array directly: [{currency, available, locked}, ...]
40
+ */
41
+ mapAccountBalances(gateioBalances: GateioRawBalance[]): Record<string, Balance>;
42
+ /**
43
+ * Map WebSocket order data to OpenMM Order format
44
+ * WebSocket order format is different from REST API format
45
+ */
46
+ mapWebSocketOrder(wsOrderData: any): Order;
47
+ /**
48
+ * Map WebSocket order status to OpenMM OrderStatus
49
+ * WebSocket uses different status fields (finish_as, event) than REST API
50
+ */
51
+ mapWebSocketOrderStatus(finishAs: string, event: string): OrderStatus;
52
+ /**
53
+ * Override symbol normalization for Gate.io format
54
+ */
55
+ protected normalizeSymbol(symbol: string): string;
56
+ }
57
+ //# sourceMappingURL=gateio-data-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateio-data-mapper.d.ts","sourceRoot":"","sources":["../../../src/exchanges/gateio/gateio-data-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EACL,KAAK,EACL,SAAS,EACT,MAAM,EACN,KAAK,EAGL,WAAW,EACX,OAAO,EACR,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,sBAAsB,CAC1D,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAAE,CACnB;IACC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,cAAc,GAAG,KAAK;IA2B5C;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW;IAapD;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;IACH,UAAU,CAAC,aAAa,EAAE,gBAAgB,GAAG,OAAO;IAapD;;OAEG;IACH,SAAS,CAAC,YAAY,EAAE,eAAe,GAAG,MAAM;IAYhD;;OAEG;IACH,YAAY,CAAC,eAAe,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS;IAS5E;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK;IAW5D;;;OAGG;IACH,kBAAkB,CAAC,cAAc,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAe/E;;;OAGG;IACH,iBAAiB,CAAC,WAAW,EAAE,GAAG,GAAG,KAAK;IA2B1C;;;OAGG;IACH,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW;IAcrE;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGlD"}
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GateioDataMapper = void 0;
4
+ const base_exchange_data_mapper_1 = require("../../core/exchange/base-exchange-data-mapper");
5
+ const gateio_utils_1 = require("./gateio-utils");
6
+ /**
7
+ * Gate.io Data Mapper
8
+ * Maps Gate.io API responses to OpenMM standard format
9
+ */
10
+ class GateioDataMapper extends base_exchange_data_mapper_1.BaseExchangeDataMapper {
11
+ /**
12
+ * Map Gate.io order to OpenMM Order format
13
+ */
14
+ mapOrder(gateioOrder) {
15
+ if (!gateioOrder) {
16
+ throw new Error('Gate.io order data is required');
17
+ }
18
+ if (!gateioOrder.currency_pair) {
19
+ throw new Error('Order missing currency_pair field');
20
+ }
21
+ const status = GateioDataMapper.mapToOrderStatus(gateioOrder.status);
22
+ const amount = this.parseAmount(gateioOrder.amount);
23
+ const filled = amount - this.parseAmount(gateioOrder.left);
24
+ return {
25
+ id: gateioOrder.id,
26
+ symbol: gateio_utils_1.GateioUtils.fromGateioSymbol(gateioOrder.currency_pair),
27
+ type: this.mapOrderType(gateioOrder.type),
28
+ side: gateioOrder.side.toLowerCase(),
29
+ amount,
30
+ price: gateioOrder.price ? this.parsePrice(gateioOrder.price) : undefined,
31
+ filled,
32
+ remaining: this.parseAmount(gateioOrder.left),
33
+ status,
34
+ timestamp: gateio_utils_1.GateioUtils.parseTimestamp(gateioOrder.create_time),
35
+ };
36
+ }
37
+ /**
38
+ * Map Gate.io order status to OpenMM OrderStatus
39
+ */
40
+ static mapToOrderStatus(status) {
41
+ switch (status.toLowerCase()) {
42
+ case 'open':
43
+ return 'open';
44
+ case 'closed':
45
+ return 'filled';
46
+ case 'cancelled':
47
+ return 'cancelled';
48
+ default:
49
+ return 'open';
50
+ }
51
+ }
52
+ /**
53
+ * Map Gate.io order type to OpenMM OrderType
54
+ */
55
+ mapOrderType(orderType) {
56
+ switch (orderType.toLowerCase()) {
57
+ case 'limit':
58
+ return 'limit';
59
+ case 'market':
60
+ return 'market';
61
+ default:
62
+ return 'limit';
63
+ }
64
+ }
65
+ /**
66
+ * Map Gate.io balance to OpenMM Balance format
67
+ */
68
+ mapBalance(gateioBalance) {
69
+ const free = this.parseAmount(gateioBalance.available);
70
+ const used = this.parseAmount(gateioBalance.locked);
71
+ return {
72
+ asset: gateioBalance.currency,
73
+ free,
74
+ used,
75
+ total: free + used,
76
+ available: free,
77
+ };
78
+ }
79
+ /**
80
+ * Map Gate.io ticker data to OpenMM Ticker format
81
+ */
82
+ mapTicker(gateioTicker) {
83
+ return {
84
+ symbol: gateio_utils_1.GateioUtils.fromGateioSymbol(gateioTicker.currency_pair),
85
+ last: this.parsePrice(gateioTicker.last),
86
+ bid: this.parsePrice(gateioTicker.highest_bid),
87
+ ask: this.parsePrice(gateioTicker.lowest_ask),
88
+ baseVolume: this.parseAmount(gateioTicker.base_volume),
89
+ quoteVolume: this.parseAmount(gateioTicker.quote_volume),
90
+ timestamp: Date.now(),
91
+ };
92
+ }
93
+ /**
94
+ * Map Gate.io order book to OpenMM OrderBook format
95
+ */
96
+ mapOrderBook(gateioOrderBook, symbol) {
97
+ return {
98
+ symbol: gateio_utils_1.GateioUtils.fromGateioSymbol(symbol),
99
+ bids: this.parseOrderBookEntries(gateioOrderBook.bids),
100
+ asks: this.parseOrderBookEntries(gateioOrderBook.asks),
101
+ timestamp: gateio_utils_1.GateioUtils.parseTimestamp(gateioOrderBook.current),
102
+ };
103
+ }
104
+ /**
105
+ * Map Gate.io trade to OpenMM Trade format
106
+ */
107
+ mapTrade(gateioTrade, symbol) {
108
+ return {
109
+ id: gateioTrade.id,
110
+ symbol: gateio_utils_1.GateioUtils.fromGateioSymbol(symbol),
111
+ side: gateioTrade.side.toLowerCase(),
112
+ amount: this.parseAmount(gateioTrade.amount),
113
+ price: this.parsePrice(gateioTrade.price),
114
+ timestamp: gateio_utils_1.GateioUtils.parseTimestamp(gateioTrade.create_time),
115
+ };
116
+ }
117
+ /**
118
+ * Map Gate.io account response to OpenMM Balance records
119
+ * Gate.io returns array directly: [{currency, available, locked}, ...]
120
+ */
121
+ mapAccountBalances(gateioBalances) {
122
+ const balances = {};
123
+ if (!Array.isArray(gateioBalances)) {
124
+ return balances;
125
+ }
126
+ gateioBalances.forEach((gateioBalance) => {
127
+ const balance = this.mapBalance(gateioBalance);
128
+ balances[balance.asset] = balance;
129
+ });
130
+ return balances;
131
+ }
132
+ /**
133
+ * Map WebSocket order data to OpenMM Order format
134
+ * WebSocket order format is different from REST API format
135
+ */
136
+ mapWebSocketOrder(wsOrderData) {
137
+ if (!wsOrderData || !wsOrderData.currency_pair) {
138
+ throw new Error('Invalid WebSocket order data');
139
+ }
140
+ const status = this.mapWebSocketOrderStatus(wsOrderData.finish_as, wsOrderData.event);
141
+ const amount = this.parseAmount(wsOrderData.amount);
142
+ const filled = amount - this.parseAmount(wsOrderData.left || '0');
143
+ const price = wsOrderData.price ? this.parsePrice(wsOrderData.price) : undefined;
144
+ return {
145
+ id: wsOrderData.id,
146
+ symbol: gateio_utils_1.GateioUtils.fromGateioSymbol(wsOrderData.currency_pair),
147
+ type: wsOrderData.type === 'market' ? 'market' : 'limit',
148
+ side: wsOrderData.side.toLowerCase(),
149
+ amount,
150
+ price,
151
+ filled,
152
+ remaining: this.parseAmount(wsOrderData.left || '0'),
153
+ status,
154
+ timestamp: parseInt(wsOrderData.create_time_ms || wsOrderData.create_time) *
155
+ (wsOrderData.create_time_ms ? 1 : 1000), // Convert seconds to ms if needed
156
+ };
157
+ }
158
+ /**
159
+ * Map WebSocket order status to OpenMM OrderStatus
160
+ * WebSocket uses different status fields (finish_as, event) than REST API
161
+ */
162
+ mapWebSocketOrderStatus(finishAs, event) {
163
+ if (event === 'finish') {
164
+ if (finishAs === 'cancelled')
165
+ return 'cancelled';
166
+ if (finishAs === 'filled')
167
+ return 'filled';
168
+ }
169
+ if (event === 'put' || finishAs === 'open')
170
+ return 'open';
171
+ if (event === 'update') {
172
+ return 'open';
173
+ }
174
+ return 'open';
175
+ }
176
+ /**
177
+ * Override symbol normalization for Gate.io format
178
+ */
179
+ normalizeSymbol(symbol) {
180
+ return gateio_utils_1.GateioUtils.normalizeSymbol(symbol);
181
+ }
182
+ }
183
+ exports.GateioDataMapper = GateioDataMapper;
184
+ //# sourceMappingURL=gateio-data-mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateio-data-mapper.js","sourceRoot":"","sources":["../../../src/exchanges/gateio/gateio-data-mapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ import { Order, Trade, ExchangeCredentials } from '../../types';
2
+ /**
3
+ * Gate.io User Data Stream
4
+ *
5
+ * Handles authenticated WebSocket connections for private user data including:
6
+ * - Order updates (spot.orders channel)
7
+ * - Trade executions (spot.usertrades channel)
8
+ * - Account balance updates (spot.balances channel)
9
+ *
10
+ * Gate.io WebSocket API v4 for User Data:
11
+ * - Uses same WebSocket endpoint as public data: wss://api.gateio.ws/ws/v4/
12
+ * - Authentication required for private channels
13
+ * - Real-time updates for user-specific data
14
+ */
15
+ export declare class GateioUserDataStream {
16
+ private ws?;
17
+ private subscriptions;
18
+ private status;
19
+ private readonly wsUrl;
20
+ private logger;
21
+ private reconnectTimer?;
22
+ private pingTimer?;
23
+ private reconnectAttempts;
24
+ private maxReconnectAttempts;
25
+ private reconnectDelay;
26
+ private autoReconnect;
27
+ private pingInterval;
28
+ private readonly dataMapper;
29
+ private credentials;
30
+ private isAuthenticated;
31
+ private auth;
32
+ constructor(credentials: ExchangeCredentials, wsUrl?: string);
33
+ /**
34
+ * Connect to Gate.io User Data Stream with authentication
35
+ *
36
+ * @returns Promise that resolves when connection is established and authenticated
37
+ */
38
+ connectUserDataStream(): Promise<void>;
39
+ /**
40
+ * WebSocket open event handler
41
+ */
42
+ private onOpen;
43
+ /**
44
+ * WebSocket close event handler
45
+ */
46
+ private onClose;
47
+ /**
48
+ * WebSocket error event handler
49
+ */
50
+ private onError;
51
+ /**
52
+ * WebSocket message handler
53
+ */
54
+ private onMessage;
55
+ /**
56
+ * Process private channel data messages
57
+ */
58
+ private processPrivateChannelData;
59
+ /**
60
+ * Handle order status updates from spot.orders channel
61
+ */
62
+ private handleOrderUpdates;
63
+ /**
64
+ * Handle user trade execution updates from spot.usertrades channel
65
+ */
66
+ private handleUserTradeUpdates;
67
+ /**
68
+ * Handle balance updates from spot.balances channel
69
+ */
70
+ private handleBalanceUpdates;
71
+ /**
72
+ * Subscribe to real-time user order updates
73
+ *
74
+ * @param callback - Function called when user's order status changes
75
+ * @param symbol - Optional trading pair symbol or 'all' for all symbols
76
+ * @returns Promise resolving to subscription ID
77
+ */
78
+ subscribeUserOrders(callback: (order: Order) => void, symbol?: string): Promise<string>;
79
+ /**
80
+ * Subscribe to real-time user trade execution updates
81
+ *
82
+ * @param callback - Function called when user's trades are executed
83
+ * @param symbol - Optional trading pair symbol or 'all' for all symbols
84
+ * @returns Promise resolving to subscription ID
85
+ */
86
+ subscribeUserTrades(callback: (trade: Trade) => void, symbol?: string): Promise<string>;
87
+ /**
88
+ * Send subscription message to Gate.io with authentication
89
+ */
90
+ private subscribe;
91
+ /**
92
+ * Send message to Gate.io WebSocket
93
+ */
94
+ private sendMessage;
95
+ /**
96
+ * Schedule reconnection attempt
97
+ */
98
+ private scheduleReconnect;
99
+ /**
100
+ * Resubscribe to all active subscriptions
101
+ */
102
+ private resubscribeAll;
103
+ /**
104
+ * Start ping interval to keep connection alive
105
+ */
106
+ private startPing;
107
+ /**
108
+ * Stop ping interval
109
+ */
110
+ private stopPing;
111
+ /**
112
+ * Disconnect from user data stream
113
+ */
114
+ disconnectUserDataStream(): Promise<void>;
115
+ /**
116
+ * Check if user data stream is connected
117
+ */
118
+ isUserDataStreamConnected(): boolean;
119
+ }
120
+ //# sourceMappingURL=gateio-user-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateio-user-stream.d.ts","sourceRoot":"","sources":["../../../src/exchanges/gateio/gateio-user-stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAmB,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAOjF;;;;;;;;;;;;GAYG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,EAAE,CAAC,CAAY;IACvB,OAAO,CAAC,aAAa,CAA6C;IAClE,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IACrD,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,IAAI,CAAa;gBAEb,WAAW,EAAE,mBAAmB,EAAE,KAAK,GAAE,MAAqC;IAM1F;;;;OAIG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB5C;;OAEG;IACH,OAAO,CAAC,MAAM;IAiBd;;OAEG;IACH,OAAO,CAAC,OAAO;IAYf;;OAEG;IACH,OAAO,CAAC,OAAO;IASf;;OAEG;IACH,OAAO,CAAC,SAAS;IAiCjB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAoBjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;;;;;OAMG;IACG,mBAAmB,CACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAChC,MAAM,GAAE,MAAc,GACrB,OAAO,CAAC,MAAM,CAAC;IAmBlB;;;;;;OAMG;IACG,mBAAmB,CACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAChC,MAAM,GAAE,MAAc,GACrB,OAAO,CAAC,MAAM,CAAC;IAmBlB;;OAEG;YACW,SAAS;IAuBvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAMnB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;YACW,cAAc;IAyB5B;;OAEG;IACH,OAAO,CAAC,SAAS;IAajB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACG,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB/C;;OAEG;IACH,yBAAyB,IAAI,OAAO;CAGrC"}