@3rd-eye-labs/openmm 0.0.1 → 0.1.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 (443) hide show
  1. package/README.md +6 -1
  2. package/dist/cli/cli.js +4 -5
  3. package/dist/cli/cli.js.map +1 -1
  4. package/dist/cli/commands/balance.d.ts.map +1 -1
  5. package/dist/cli/commands/balance.js +1 -1
  6. package/dist/cli/commands/balance.js.map +1 -1
  7. package/dist/cli/commands/grid.d.ts +3 -0
  8. package/dist/cli/commands/grid.d.ts.map +1 -0
  9. package/dist/cli/commands/grid.js +103 -0
  10. package/dist/cli/commands/grid.js.map +1 -0
  11. package/dist/cli/commands/multi-trade.d.ts +3 -0
  12. package/dist/cli/commands/multi-trade.d.ts.map +1 -0
  13. package/dist/cli/commands/multi-trade.js +175 -0
  14. package/dist/cli/commands/multi-trade.js.map +1 -0
  15. package/dist/cli/commands/orderbook.js +1 -1
  16. package/dist/cli/commands/orderbook.js.map +1 -1
  17. package/dist/cli/commands/orders.d.ts.map +1 -1
  18. package/dist/cli/commands/orders.js +3 -4
  19. package/dist/cli/commands/orders.js.map +1 -1
  20. package/dist/cli/commands/pool-discovery.d.ts.map +1 -1
  21. package/dist/cli/commands/pool-discovery.js +15 -8
  22. package/dist/cli/commands/pool-discovery.js.map +1 -1
  23. package/dist/cli/commands/price-comparison.d.ts +3 -0
  24. package/dist/cli/commands/price-comparison.d.ts.map +1 -0
  25. package/dist/cli/commands/price-comparison.js +103 -0
  26. package/dist/cli/commands/price-comparison.js.map +1 -0
  27. package/dist/cli/commands/ticker.d.ts.map +1 -1
  28. package/dist/cli/commands/ticker.js.map +1 -1
  29. package/dist/cli/commands/trade.d.ts.map +1 -1
  30. package/dist/cli/commands/trade.js +135 -18
  31. package/dist/cli/commands/trade.js.map +1 -1
  32. package/dist/cli/commands/trades.d.ts.map +1 -1
  33. package/dist/cli/commands/trades.js +2 -3
  34. package/dist/cli/commands/trades.js.map +1 -1
  35. package/dist/cli/exchange-factory.d.ts.map +1 -1
  36. package/dist/cli/exchange-factory.js +6 -6
  37. package/dist/cli/exchange-factory.js.map +1 -1
  38. package/dist/cli/pool-discovery-core.d.ts +2 -1
  39. package/dist/cli/pool-discovery-core.d.ts.map +1 -1
  40. package/dist/cli/pool-discovery-core.js +69 -39
  41. package/dist/cli/pool-discovery-core.js.map +1 -1
  42. package/dist/cli/pool-discovery.d.ts +56 -0
  43. package/dist/cli/pool-discovery.d.ts.map +1 -0
  44. package/dist/cli/pool-discovery.js +283 -0
  45. package/dist/cli/pool-discovery.js.map +1 -0
  46. package/dist/cli/utils/error-handler.d.ts.map +1 -1
  47. package/dist/cli/utils/error-handler.js +6 -5
  48. package/dist/cli/utils/error-handler.js.map +1 -1
  49. package/dist/config/environment.d.ts.map +1 -1
  50. package/dist/config/environment.js +3 -1
  51. package/dist/config/environment.js.map +1 -1
  52. package/dist/config/launcher-config.d.ts +13 -0
  53. package/dist/config/launcher-config.d.ts.map +1 -1
  54. package/dist/config/launcher-config.js +3 -1
  55. package/dist/config/launcher-config.js.map +1 -1
  56. package/dist/config/price-aggregation.d.ts +1 -1
  57. package/dist/config/price-aggregation.d.ts.map +1 -1
  58. package/dist/config/price-aggregation.js +20 -20
  59. package/dist/config/price-aggregation.js.map +1 -1
  60. package/dist/core/exchange/base-exchange-connector.d.ts.map +1 -1
  61. package/dist/core/exchange/base-exchange-connector.js +1 -5
  62. package/dist/core/exchange/base-exchange-connector.js.map +1 -1
  63. package/dist/core/exchange/base-exchange-data-mapper.d.ts.map +1 -1
  64. package/dist/core/exchange/base-exchange-data-mapper.js +1 -1
  65. package/dist/core/exchange/base-exchange-data-mapper.js.map +1 -1
  66. package/dist/core/price-aggregation/cardano-price-service.d.ts +2 -2
  67. package/dist/core/price-aggregation/cardano-price-service.d.ts.map +1 -1
  68. package/dist/core/price-aggregation/cardano-price-service.js +13 -13
  69. package/dist/core/price-aggregation/cardano-price-service.js.map +1 -1
  70. package/dist/core/price-aggregation/index.d.ts +1 -1
  71. package/dist/core/price-aggregation/index.d.ts.map +1 -1
  72. package/dist/core/price-aggregation/iris-api-client.d.ts.map +1 -1
  73. package/dist/core/price-aggregation/iris-api-client.js +5 -5
  74. package/dist/core/price-aggregation/iris-api-client.js.map +1 -1
  75. package/dist/core/price-aggregation/iris-pool-discovery.d.ts +2 -2
  76. package/dist/core/price-aggregation/iris-pool-discovery.d.ts.map +1 -1
  77. package/dist/core/price-aggregation/iris-pool-discovery.js +3 -3
  78. package/dist/core/price-aggregation/iris-pool-discovery.js.map +1 -1
  79. package/dist/core/price-aggregation/multi-exchange-price-service.d.ts +38 -0
  80. package/dist/core/price-aggregation/multi-exchange-price-service.d.ts.map +1 -0
  81. package/dist/core/price-aggregation/multi-exchange-price-service.js +123 -0
  82. package/dist/core/price-aggregation/multi-exchange-price-service.js.map +1 -0
  83. package/dist/core/price-aggregation/price-cache.d.ts +55 -0
  84. package/dist/core/price-aggregation/price-cache.d.ts.map +1 -0
  85. package/dist/core/price-aggregation/price-cache.js +152 -0
  86. package/dist/core/price-aggregation/price-cache.js.map +1 -0
  87. package/dist/core/price-aggregation/price-calculator.d.ts.map +1 -1
  88. package/dist/core/price-aggregation/price-calculator.js +3 -3
  89. package/dist/core/price-aggregation/price-calculator.js.map +1 -1
  90. package/dist/core/risk-management/risk-manager.d.ts.map +1 -1
  91. package/dist/core/risk-management/risk-manager.js +2 -2
  92. package/dist/core/risk-management/risk-manager.js.map +1 -1
  93. package/dist/core/strategy/strategy-factory.d.ts +5 -0
  94. package/dist/core/strategy/strategy-factory.d.ts.map +1 -1
  95. package/dist/core/strategy/strategy-factory.js +127 -5
  96. package/dist/core/strategy/strategy-factory.js.map +1 -1
  97. package/dist/examples/mexc-connector-comprehensive-test.d.ts +15 -0
  98. package/dist/examples/mexc-connector-comprehensive-test.d.ts.map +1 -0
  99. package/dist/examples/mexc-connector-comprehensive-test.js +514 -0
  100. package/dist/examples/mexc-connector-comprehensive-test.js.map +1 -0
  101. package/dist/examples/mexc-order-update-test.d.ts +4 -0
  102. package/dist/examples/mexc-order-update-test.d.ts.map +1 -0
  103. package/dist/examples/mexc-order-update-test.js +186 -0
  104. package/dist/examples/mexc-order-update-test.js.map +1 -0
  105. package/dist/examples/mexc-test.d.ts +9 -0
  106. package/dist/examples/mexc-test.d.ts.map +1 -0
  107. package/dist/examples/mexc-test.js +218 -0
  108. package/dist/examples/mexc-test.js.map +1 -0
  109. package/dist/examples/mexc-trades-debug.d.ts +2 -0
  110. package/dist/examples/mexc-trades-debug.d.ts.map +1 -0
  111. package/dist/examples/mexc-trades-debug.js +101 -0
  112. package/dist/examples/mexc-trades-debug.js.map +1 -0
  113. package/dist/examples/mexc-trades-subscription-debug.d.ts +2 -0
  114. package/dist/examples/mexc-trades-subscription-debug.d.ts.map +1 -0
  115. package/dist/examples/mexc-trades-subscription-debug.js +150 -0
  116. package/dist/examples/mexc-trades-subscription-debug.js.map +1 -0
  117. package/dist/examples/mexc-websocket-test.d.ts +8 -0
  118. package/dist/examples/mexc-websocket-test.d.ts.map +1 -0
  119. package/dist/examples/mexc-websocket-test.js +115 -0
  120. package/dist/examples/mexc-websocket-test.js.map +1 -0
  121. package/dist/examples/test-protobuf-status-detection.d.ts +9 -0
  122. package/dist/examples/test-protobuf-status-detection.d.ts.map +1 -0
  123. package/dist/examples/test-protobuf-status-detection.js +83 -0
  124. package/dist/examples/test-protobuf-status-detection.js.map +1 -0
  125. package/dist/exchanges/base-exchange-connector.d.ts +33 -0
  126. package/dist/exchanges/base-exchange-connector.d.ts.map +1 -0
  127. package/dist/exchanges/base-exchange-connector.js +55 -0
  128. package/dist/exchanges/base-exchange-connector.js.map +1 -0
  129. package/dist/exchanges/bitget/bitget-auth.d.ts +66 -0
  130. package/dist/exchanges/bitget/bitget-auth.d.ts.map +1 -0
  131. package/dist/exchanges/bitget/bitget-auth.js +203 -0
  132. package/dist/exchanges/bitget/bitget-auth.js.map +1 -0
  133. package/dist/exchanges/bitget/bitget-connector.d.ts +255 -0
  134. package/dist/exchanges/bitget/bitget-connector.d.ts.map +1 -0
  135. package/dist/exchanges/bitget/bitget-connector.js +709 -0
  136. package/dist/exchanges/bitget/bitget-connector.js.map +1 -0
  137. package/dist/exchanges/bitget/bitget-data-mapper.d.ts +47 -0
  138. package/dist/exchanges/bitget/bitget-data-mapper.d.ts.map +1 -0
  139. package/dist/exchanges/bitget/bitget-data-mapper.js +147 -0
  140. package/dist/exchanges/bitget/bitget-data-mapper.js.map +1 -0
  141. package/dist/exchanges/bitget/bitget-user-stream.d.ts +126 -0
  142. package/dist/exchanges/bitget/bitget-user-stream.d.ts.map +1 -0
  143. package/dist/exchanges/bitget/bitget-user-stream.js +474 -0
  144. package/dist/exchanges/bitget/bitget-user-stream.js.map +1 -0
  145. package/dist/exchanges/bitget/bitget-utils.d.ts +17 -0
  146. package/dist/exchanges/bitget/bitget-utils.d.ts.map +1 -0
  147. package/dist/exchanges/bitget/bitget-utils.js +60 -0
  148. package/dist/exchanges/bitget/bitget-utils.js.map +1 -0
  149. package/dist/exchanges/bitget/bitget-websocket.d.ts +124 -0
  150. package/dist/exchanges/bitget/bitget-websocket.d.ts.map +1 -0
  151. package/dist/exchanges/bitget/bitget-websocket.js +434 -0
  152. package/dist/exchanges/bitget/bitget-websocket.js.map +1 -0
  153. package/dist/exchanges/gateio/gateio-auth.d.ts +69 -0
  154. package/dist/exchanges/gateio/gateio-auth.d.ts.map +1 -0
  155. package/dist/exchanges/gateio/gateio-auth.js +205 -0
  156. package/dist/exchanges/gateio/gateio-auth.js.map +1 -0
  157. package/dist/exchanges/gateio/gateio-connector.d.ts +182 -0
  158. package/dist/exchanges/gateio/gateio-connector.d.ts.map +1 -0
  159. package/dist/exchanges/gateio/gateio-connector.js +605 -0
  160. package/dist/exchanges/gateio/gateio-connector.js.map +1 -0
  161. package/dist/exchanges/gateio/gateio-data-mapper.d.ts +57 -0
  162. package/dist/exchanges/gateio/gateio-data-mapper.d.ts.map +1 -0
  163. package/dist/exchanges/gateio/gateio-data-mapper.js +184 -0
  164. package/dist/exchanges/gateio/gateio-data-mapper.js.map +1 -0
  165. package/dist/exchanges/gateio/gateio-user-stream.d.ts +120 -0
  166. package/dist/exchanges/gateio/gateio-user-stream.d.ts.map +1 -0
  167. package/dist/exchanges/gateio/gateio-user-stream.js +384 -0
  168. package/dist/exchanges/gateio/gateio-user-stream.js.map +1 -0
  169. package/dist/exchanges/gateio/gateio-utils.d.ts +45 -0
  170. package/dist/exchanges/gateio/gateio-utils.d.ts.map +1 -0
  171. package/dist/exchanges/gateio/gateio-utils.js +138 -0
  172. package/dist/exchanges/gateio/gateio-utils.js.map +1 -0
  173. package/dist/exchanges/gateio/gateio-websocket.d.ts +145 -0
  174. package/dist/exchanges/gateio/gateio-websocket.d.ts.map +1 -0
  175. package/dist/exchanges/gateio/gateio-websocket.js +469 -0
  176. package/dist/exchanges/gateio/gateio-websocket.js.map +1 -0
  177. package/dist/exchanges/kraken/kraken-auth.d.ts +12 -0
  178. package/dist/exchanges/kraken/kraken-auth.d.ts.map +1 -0
  179. package/dist/exchanges/kraken/kraken-auth.js +68 -0
  180. package/dist/exchanges/kraken/kraken-auth.js.map +1 -0
  181. package/dist/exchanges/kraken/kraken-connector.d.ts +38 -0
  182. package/dist/exchanges/kraken/kraken-connector.d.ts.map +1 -0
  183. package/dist/exchanges/kraken/kraken-connector.js +355 -0
  184. package/dist/exchanges/kraken/kraken-connector.js.map +1 -0
  185. package/dist/exchanges/kraken/kraken-data-mapper.d.ts +14 -0
  186. package/dist/exchanges/kraken/kraken-data-mapper.d.ts.map +1 -0
  187. package/dist/exchanges/kraken/kraken-data-mapper.js +169 -0
  188. package/dist/exchanges/kraken/kraken-data-mapper.js.map +1 -0
  189. package/dist/exchanges/kraken/kraken-utils.d.ts +52 -0
  190. package/dist/exchanges/kraken/kraken-utils.d.ts.map +1 -0
  191. package/dist/exchanges/kraken/kraken-utils.js +206 -0
  192. package/dist/exchanges/kraken/kraken-utils.js.map +1 -0
  193. package/dist/exchanges/kraken/kraken-websocket.d.ts +64 -0
  194. package/dist/exchanges/kraken/kraken-websocket.d.ts.map +1 -0
  195. package/dist/exchanges/kraken/kraken-websocket.js +667 -0
  196. package/dist/exchanges/kraken/kraken-websocket.js.map +1 -0
  197. package/dist/exchanges/kraken/test-kraken-websocket.d.ts +19 -0
  198. package/dist/exchanges/kraken/test-kraken-websocket.d.ts.map +1 -0
  199. package/dist/exchanges/kraken/test-kraken-websocket.js +413 -0
  200. package/dist/exchanges/kraken/test-kraken-websocket.js.map +1 -0
  201. package/dist/exchanges/mexc/mexc-auth.d.ts.map +1 -1
  202. package/dist/exchanges/mexc/mexc-auth.js +5 -5
  203. package/dist/exchanges/mexc/mexc-auth.js.map +1 -1
  204. package/dist/exchanges/mexc/mexc-connector.d.ts.map +1 -1
  205. package/dist/exchanges/mexc/mexc-connector.js +12 -13
  206. package/dist/exchanges/mexc/mexc-connector.js.map +1 -1
  207. package/dist/exchanges/mexc/mexc-data-mapper.d.ts.map +1 -1
  208. package/dist/exchanges/mexc/mexc-data-mapper.js +6 -6
  209. package/dist/exchanges/mexc/mexc-data-mapper.js.map +1 -1
  210. package/dist/exchanges/mexc/mexc-protobuf-decoder.d.ts.map +1 -1
  211. package/dist/exchanges/mexc/mexc-protobuf-decoder.js +14 -13
  212. package/dist/exchanges/mexc/mexc-protobuf-decoder.js.map +1 -1
  213. package/dist/exchanges/mexc/mexc-user-stream.d.ts.map +1 -1
  214. package/dist/exchanges/mexc/mexc-user-stream.js +5 -5
  215. package/dist/exchanges/mexc/mexc-user-stream.js.map +1 -1
  216. package/dist/exchanges/mexc/mexc-utils.d.ts +1 -5
  217. package/dist/exchanges/mexc/mexc-utils.d.ts.map +1 -1
  218. package/dist/exchanges/mexc/mexc-utils.js +33 -39
  219. package/dist/exchanges/mexc/mexc-utils.js.map +1 -1
  220. package/dist/exchanges/mexc/mexc-websocket.d.ts.map +1 -1
  221. package/dist/exchanges/mexc/mexc-websocket.js +45 -31
  222. package/dist/exchanges/mexc/mexc-websocket.js.map +1 -1
  223. package/dist/index.d.ts +4 -0
  224. package/dist/index.d.ts.map +1 -1
  225. package/dist/index.js +10 -1
  226. package/dist/index.js.map +1 -1
  227. package/dist/mcp/resources/index.d.ts +3 -0
  228. package/dist/mcp/resources/index.d.ts.map +1 -0
  229. package/dist/mcp/resources/index.js +11 -0
  230. package/dist/mcp/resources/index.js.map +1 -0
  231. package/dist/mcp/server.d.ts +4 -0
  232. package/dist/mcp/server.d.ts.map +1 -0
  233. package/dist/mcp/server.js +29 -0
  234. package/dist/mcp/server.js.map +1 -0
  235. package/dist/mcp/tools/index.d.ts +3 -0
  236. package/dist/mcp/tools/index.d.ts.map +1 -0
  237. package/dist/mcp/tools/index.js +12 -0
  238. package/dist/mcp/tools/index.js.map +1 -0
  239. package/dist/strategies/grid/grid-calculator.d.ts +63 -4
  240. package/dist/strategies/grid/grid-calculator.d.ts.map +1 -1
  241. package/dist/strategies/grid/grid-calculator.js +190 -15
  242. package/dist/strategies/grid/grid-calculator.js.map +1 -1
  243. package/dist/strategies/grid/grid-order-manager.d.ts +9 -4
  244. package/dist/strategies/grid/grid-order-manager.d.ts.map +1 -1
  245. package/dist/strategies/grid/grid-order-manager.js +58 -15
  246. package/dist/strategies/grid/grid-order-manager.js.map +1 -1
  247. package/dist/strategies/grid/grid-strategy.d.ts +11 -0
  248. package/dist/strategies/grid/grid-strategy.d.ts.map +1 -1
  249. package/dist/strategies/grid/grid-strategy.js +127 -20
  250. package/dist/strategies/grid/grid-strategy.js.map +1 -1
  251. package/dist/strategies/grid/volatility-tracker.d.ts +67 -0
  252. package/dist/strategies/grid/volatility-tracker.d.ts.map +1 -0
  253. package/dist/strategies/grid/volatility-tracker.js +109 -0
  254. package/dist/strategies/grid/volatility-tracker.js.map +1 -0
  255. package/dist/tests/fixtures/test-helpers.d.ts +5 -0
  256. package/dist/tests/fixtures/test-helpers.d.ts.map +1 -0
  257. package/dist/tests/fixtures/test-helpers.js +8 -0
  258. package/dist/tests/fixtures/test-helpers.js.map +1 -0
  259. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.d.ts +2 -0
  260. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.d.ts.map +1 -0
  261. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.js +237 -0
  262. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.js.map +1 -0
  263. package/dist/tests/integration/price-aggregation/cardano-price-service.test.d.ts +2 -0
  264. package/dist/tests/integration/price-aggregation/cardano-price-service.test.d.ts.map +1 -0
  265. package/dist/tests/integration/price-aggregation/cardano-price-service.test.js +57 -0
  266. package/dist/tests/integration/price-aggregation/cardano-price-service.test.js.map +1 -0
  267. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.d.ts +2 -0
  268. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.d.ts.map +1 -0
  269. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.js +141 -0
  270. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.js.map +1 -0
  271. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.d.ts +2 -0
  272. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.d.ts.map +1 -0
  273. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.js +375 -0
  274. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.js.map +1 -0
  275. package/dist/tests/unit/cli/exchange-factory.test.d.ts +2 -0
  276. package/dist/tests/unit/cli/exchange-factory.test.d.ts.map +1 -0
  277. package/dist/tests/unit/cli/exchange-factory.test.js +148 -0
  278. package/dist/tests/unit/cli/exchange-factory.test.js.map +1 -0
  279. package/dist/tests/unit/config/environment.test.d.ts +2 -0
  280. package/dist/tests/unit/config/environment.test.d.ts.map +1 -0
  281. package/dist/tests/unit/config/environment.test.js +158 -0
  282. package/dist/tests/unit/config/environment.test.js.map +1 -0
  283. package/dist/tests/unit/config/launcher-config.test.d.ts +2 -0
  284. package/dist/tests/unit/config/launcher-config.test.d.ts.map +1 -0
  285. package/dist/tests/unit/config/launcher-config.test.js +117 -0
  286. package/dist/tests/unit/config/launcher-config.test.js.map +1 -0
  287. package/dist/tests/unit/config/price-aggregation.test.d.ts +2 -0
  288. package/dist/tests/unit/config/price-aggregation.test.d.ts.map +1 -0
  289. package/dist/tests/unit/config/price-aggregation.test.js +144 -0
  290. package/dist/tests/unit/config/price-aggregation.test.js.map +1 -0
  291. package/dist/tests/unit/core/exchange/base-exchange-connector.test.d.ts +2 -0
  292. package/dist/tests/unit/core/exchange/base-exchange-connector.test.d.ts.map +1 -0
  293. package/dist/tests/unit/core/exchange/base-exchange-connector.test.js +191 -0
  294. package/dist/tests/unit/core/exchange/base-exchange-connector.test.js.map +1 -0
  295. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.d.ts +2 -0
  296. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.d.ts.map +1 -0
  297. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.js +324 -0
  298. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.js.map +1 -0
  299. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.d.ts +2 -0
  300. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.d.ts.map +1 -0
  301. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.js +177 -0
  302. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.js.map +1 -0
  303. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.d.ts +2 -0
  304. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.d.ts.map +1 -0
  305. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.js +168 -0
  306. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.js.map +1 -0
  307. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.d.ts +2 -0
  308. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.d.ts.map +1 -0
  309. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.js +217 -0
  310. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.js.map +1 -0
  311. package/dist/tests/unit/core/price-aggregation/price-calculator.test.d.ts +2 -0
  312. package/dist/tests/unit/core/price-aggregation/price-calculator.test.d.ts.map +1 -0
  313. package/dist/tests/unit/core/price-aggregation/price-calculator.test.js +229 -0
  314. package/dist/tests/unit/core/price-aggregation/price-calculator.test.js.map +1 -0
  315. package/dist/tests/unit/core/risk-management/risk-manager.test.d.ts +2 -0
  316. package/dist/tests/unit/core/risk-management/risk-manager.test.d.ts.map +1 -0
  317. package/dist/tests/unit/core/risk-management/risk-manager.test.js +194 -0
  318. package/dist/tests/unit/core/risk-management/risk-manager.test.js.map +1 -0
  319. package/dist/tests/unit/core/strategy/base-strategy.test.d.ts +2 -0
  320. package/dist/tests/unit/core/strategy/base-strategy.test.d.ts.map +1 -0
  321. package/dist/tests/unit/core/strategy/base-strategy.test.js +254 -0
  322. package/dist/tests/unit/core/strategy/base-strategy.test.js.map +1 -0
  323. package/dist/tests/unit/core/strategy/strategy-factory.test.d.ts +2 -0
  324. package/dist/tests/unit/core/strategy/strategy-factory.test.d.ts.map +1 -0
  325. package/dist/tests/unit/core/strategy/strategy-factory.test.js +213 -0
  326. package/dist/tests/unit/core/strategy/strategy-factory.test.js.map +1 -0
  327. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.d.ts +2 -0
  328. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.d.ts.map +1 -0
  329. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.js +452 -0
  330. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.js.map +1 -0
  331. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.d.ts +2 -0
  332. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.d.ts.map +1 -0
  333. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.js +1419 -0
  334. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.js.map +1 -0
  335. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.d.ts +2 -0
  336. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.d.ts.map +1 -0
  337. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.js +435 -0
  338. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.js.map +1 -0
  339. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.d.ts +2 -0
  340. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.d.ts.map +1 -0
  341. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.js +314 -0
  342. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.js.map +1 -0
  343. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.d.ts +2 -0
  344. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.d.ts.map +1 -0
  345. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.js +178 -0
  346. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.js.map +1 -0
  347. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.d.ts +2 -0
  348. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.d.ts.map +1 -0
  349. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.js +502 -0
  350. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.js.map +1 -0
  351. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.d.ts +2 -0
  352. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.d.ts.map +1 -0
  353. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.js +317 -0
  354. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.js.map +1 -0
  355. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.d.ts +2 -0
  356. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.d.ts.map +1 -0
  357. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.js +843 -0
  358. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.js.map +1 -0
  359. package/dist/tests/unit/strategies/grid/grid-calculator.test.d.ts +2 -0
  360. package/dist/tests/unit/strategies/grid/grid-calculator.test.d.ts.map +1 -0
  361. package/dist/tests/unit/strategies/grid/grid-calculator.test.js +67 -0
  362. package/dist/tests/unit/strategies/grid/grid-calculator.test.js.map +1 -0
  363. package/dist/tests/unit/strategies/grid/grid-order-manager.test.d.ts +2 -0
  364. package/dist/tests/unit/strategies/grid/grid-order-manager.test.d.ts.map +1 -0
  365. package/dist/tests/unit/strategies/grid/grid-order-manager.test.js +211 -0
  366. package/dist/tests/unit/strategies/grid/grid-order-manager.test.js.map +1 -0
  367. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.d.ts +2 -0
  368. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.d.ts.map +1 -0
  369. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.js +197 -0
  370. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.js.map +1 -0
  371. package/dist/tests/unit/strategies/grid/grid-strategy.test.d.ts +2 -0
  372. package/dist/tests/unit/strategies/grid/grid-strategy.test.d.ts.map +1 -0
  373. package/dist/tests/unit/strategies/grid/grid-strategy.test.js +429 -0
  374. package/dist/tests/unit/strategies/grid/grid-strategy.test.js.map +1 -0
  375. package/dist/tests/unit/utils/logger.test.d.ts +2 -0
  376. package/dist/tests/unit/utils/logger.test.d.ts.map +1 -0
  377. package/dist/tests/unit/utils/logger.test.js +260 -0
  378. package/dist/tests/unit/utils/logger.test.js.map +1 -0
  379. package/dist/tests/unit/utils/symbol-utils.test.d.ts +2 -0
  380. package/dist/tests/unit/utils/symbol-utils.test.d.ts.map +1 -0
  381. package/dist/tests/unit/utils/symbol-utils.test.js +178 -0
  382. package/dist/tests/unit/utils/symbol-utils.test.js.map +1 -0
  383. package/dist/types/bitget-raw.d.ts +75 -0
  384. package/dist/types/bitget-raw.d.ts.map +1 -0
  385. package/dist/types/bitget-raw.js +10 -0
  386. package/dist/types/bitget-raw.js.map +1 -0
  387. package/dist/types/bitget.d.ts +35 -0
  388. package/dist/types/bitget.d.ts.map +1 -0
  389. package/dist/types/bitget.js +8 -0
  390. package/dist/types/bitget.js.map +1 -0
  391. package/dist/types/gateio-raw.d.ts +104 -0
  392. package/dist/types/gateio-raw.d.ts.map +1 -0
  393. package/dist/types/gateio-raw.js +7 -0
  394. package/dist/types/gateio-raw.js.map +1 -0
  395. package/dist/types/gateio.d.ts +41 -0
  396. package/dist/types/gateio.d.ts.map +1 -0
  397. package/dist/types/gateio.js +8 -0
  398. package/dist/types/gateio.js.map +1 -0
  399. package/dist/types/grid.d.ts +77 -0
  400. package/dist/types/grid.d.ts.map +1 -1
  401. package/dist/types/index.d.ts +6 -0
  402. package/dist/types/index.d.ts.map +1 -1
  403. package/dist/types/index.js +6 -0
  404. package/dist/types/index.js.map +1 -1
  405. package/dist/types/kraken-raw.d.ts +89 -0
  406. package/dist/types/kraken-raw.d.ts.map +1 -0
  407. package/dist/types/kraken-raw.js +10 -0
  408. package/dist/types/kraken-raw.js.map +1 -0
  409. package/dist/types/kraken.d.ts +44 -0
  410. package/dist/types/kraken.d.ts.map +1 -0
  411. package/dist/types/kraken.js +3 -0
  412. package/dist/types/kraken.js.map +1 -0
  413. package/dist/types/mexc.d.ts +9 -0
  414. package/dist/types/mexc.d.ts.map +1 -1
  415. package/dist/types/price-aggregation.d.ts +31 -0
  416. package/dist/types/price-aggregation.d.ts.map +1 -0
  417. package/dist/types/price-aggregation.js +6 -0
  418. package/dist/types/price-aggregation.js.map +1 -0
  419. package/dist/types/price.d.ts +23 -0
  420. package/dist/types/price.d.ts.map +1 -1
  421. package/dist/types/strategy.d.ts +5 -0
  422. package/dist/types/strategy.d.ts.map +1 -1
  423. package/dist/utils/crypto.d.ts +15 -0
  424. package/dist/utils/crypto.d.ts.map +1 -0
  425. package/dist/utils/crypto.js +50 -0
  426. package/dist/utils/crypto.js.map +1 -0
  427. package/dist/utils/exchange-utils.d.ts +194 -0
  428. package/dist/utils/exchange-utils.d.ts.map +1 -0
  429. package/dist/utils/exchange-utils.js +455 -0
  430. package/dist/utils/exchange-utils.js.map +1 -0
  431. package/dist/utils/index.d.ts +1 -0
  432. package/dist/utils/index.d.ts.map +1 -1
  433. package/dist/utils/index.js +3 -1
  434. package/dist/utils/index.js.map +1 -1
  435. package/dist/utils/logger.d.ts +1 -1
  436. package/dist/utils/logger.d.ts.map +1 -1
  437. package/dist/utils/logger.js +7 -7
  438. package/dist/utils/logger.js.map +1 -1
  439. package/dist/utils/validation.d.ts +36 -0
  440. package/dist/utils/validation.d.ts.map +1 -0
  441. package/dist/utils/validation.js +174 -0
  442. package/dist/utils/validation.js.map +1 -0
  443. package/package.json +7 -1
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BitgetAuth = void 0;
7
+ const crypto_1 = __importDefault(require("crypto"));
8
+ const utils_1 = require("../../utils");
9
+ /**
10
+ * Bitget Authentication and Request Handler
11
+ *
12
+ * Handles API authentication, request signing, and HTTP requests to Bitget API.
13
+ * Implements Bitget's HMAC-SHA256 signature generation with BASE64 encoding.
14
+ *
15
+ * @see https://www.bitget.com/api-doc/common/signature
16
+ */
17
+ class BitgetAuth {
18
+ /**
19
+ * Initialize Bitget authentication handler
20
+ *
21
+ * @param credentials - Bitget API credentials including API key, secret, and passphrase
22
+ * @param baseUrl - Base URL for Bitget API (defaults to production)
23
+ */
24
+ constructor(credentials, baseUrl = 'https://api.bitget.com') {
25
+ this.logger = (0, utils_1.createLogger)('bitget-auth');
26
+ this.credentials = credentials;
27
+ this.baseUrl = baseUrl;
28
+ this.validateCredentials();
29
+ }
30
+ /**
31
+ * Generate HMAC-SHA256 signature for Bitget API requests
32
+ */
33
+ generateSignature(timestamp, method, requestPath, queryString = '', body = '') {
34
+ const queryPart = queryString ? `?${queryString}` : '';
35
+ const signatureString = `${timestamp}${method.toUpperCase()}${requestPath}${queryPart}${body}`;
36
+ try {
37
+ const hmac = crypto_1.default.createHmac('sha256', this.credentials.secret);
38
+ hmac.update(signatureString);
39
+ return hmac.digest('base64');
40
+ }
41
+ catch (error) {
42
+ this.logger.error('Failed to generate signature', { error });
43
+ throw new Error(`Failed to generate Bitget API signature: ${error}`);
44
+ }
45
+ }
46
+ /**
47
+ * Get required headers for authenticated Bitget API requests
48
+ */
49
+ getHeaders(method, requestPath, queryString = '', body = '', timestamp) {
50
+ const requestTimestamp = timestamp || Date.now();
51
+ const signature = this.generateSignature(requestTimestamp, method, requestPath, queryString, body);
52
+ return {
53
+ 'Content-Type': 'application/json',
54
+ 'ACCESS-KEY': this.credentials.apiKey,
55
+ 'ACCESS-SIGN': signature,
56
+ 'ACCESS-TIMESTAMP': requestTimestamp.toString(),
57
+ 'ACCESS-PASSPHRASE': this.credentials.passphrase,
58
+ };
59
+ }
60
+ /**
61
+ * Get headers for public API endpoints
62
+ */
63
+ getPublicHeaders() {
64
+ return {
65
+ 'Content-Type': 'application/json',
66
+ };
67
+ }
68
+ /**
69
+ * Make authenticated request to Bitget API
70
+ */
71
+ async makeRequest(endpoint, params = {}, method = 'GET', body) {
72
+ const timestamp = Date.now();
73
+ const queryString = Object.entries(params)
74
+ .filter(([, value]) => value !== undefined && value !== null && value !== '')
75
+ .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`)
76
+ .join('&');
77
+ const requestBody = body ? JSON.stringify(body) : '';
78
+ const headers = this.getHeaders(method, endpoint, queryString, requestBody, timestamp);
79
+ const url = queryString
80
+ ? `${this.baseUrl}${endpoint}?${queryString}`
81
+ : `${this.baseUrl}${endpoint}`;
82
+ try {
83
+ const response = await fetch(url, {
84
+ method,
85
+ headers,
86
+ body: method !== 'GET' ? requestBody || undefined : undefined,
87
+ });
88
+ return await this.handleResponse(response, endpoint);
89
+ }
90
+ catch (error) {
91
+ this.logger.error('Request failed', { endpoint, method, error });
92
+ throw new Error(`Bitget API request failed: ${error}`);
93
+ }
94
+ }
95
+ /**
96
+ * Make public request to Bitget API
97
+ */
98
+ async makePublicRequest(endpoint, params = {}) {
99
+ const queryString = Object.entries(params)
100
+ .filter(([, value]) => value !== undefined && value !== null && value !== '')
101
+ .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`)
102
+ .join('&');
103
+ const url = queryString
104
+ ? `${this.baseUrl}${endpoint}?${queryString}`
105
+ : `${this.baseUrl}${endpoint}`;
106
+ try {
107
+ const response = await fetch(url, {
108
+ headers: this.getPublicHeaders(),
109
+ });
110
+ return await this.handleResponse(response, endpoint);
111
+ }
112
+ catch (error) {
113
+ this.logger.error('Public request failed', { endpoint, error });
114
+ throw new Error(`Bitget public API request failed: ${error}`);
115
+ }
116
+ }
117
+ /**
118
+ * Handle API response and extract meaningful error messages
119
+ */
120
+ async handleResponse(response, endpoint) {
121
+ const responseText = await response.text();
122
+ if (!response.ok) {
123
+ let errorMessage = `HTTP ${response.status}: ${response.statusText}`;
124
+ try {
125
+ const errorData = JSON.parse(responseText);
126
+ if (errorData.msg) {
127
+ errorMessage = `Bitget API Error: ${errorData.msg} (Code: ${errorData.code || 'Unknown'})`;
128
+ }
129
+ }
130
+ catch {
131
+ errorMessage = `HTTP ${response.status}: ${responseText.substring(0, 200)}`;
132
+ }
133
+ this.logger.error('Bitget API request failed', {
134
+ endpoint,
135
+ status: response.status,
136
+ statusText: response.statusText,
137
+ error: errorMessage,
138
+ });
139
+ throw new Error(errorMessage);
140
+ }
141
+ try {
142
+ const data = JSON.parse(responseText);
143
+ if (data.code && data.code !== '00000') {
144
+ const apiError = `Bitget API Error: ${data.msg || 'Unknown error'} (Code: ${data.code})`;
145
+ this.logger.error('Bitget API returned error', {
146
+ endpoint,
147
+ code: data.code,
148
+ message: data.msg,
149
+ data: data.data,
150
+ });
151
+ throw new Error(apiError);
152
+ }
153
+ return data;
154
+ }
155
+ catch (error) {
156
+ if (error instanceof Error && error.message.includes('Bitget API Error')) {
157
+ throw error;
158
+ }
159
+ this.logger.error('Failed to parse response JSON', {
160
+ endpoint,
161
+ responseText: responseText.substring(0, 200),
162
+ });
163
+ throw new Error(`Invalid JSON response from Bitget API: ${error}`);
164
+ }
165
+ }
166
+ /**
167
+ * Validate that all required credentials are provided
168
+ */
169
+ validateCredentials() {
170
+ const missing = [];
171
+ if (!this.credentials.apiKey)
172
+ missing.push('apiKey');
173
+ if (!this.credentials.secret)
174
+ missing.push('secret');
175
+ if (!this.credentials.passphrase)
176
+ missing.push('passphrase');
177
+ if (missing.length > 0) {
178
+ throw new Error(`Missing required Bitget credentials: ${missing.join(', ')}`);
179
+ }
180
+ }
181
+ /**
182
+ * Check if credentials are properly configured
183
+ */
184
+ validateCredentialsExist() {
185
+ try {
186
+ this.validateCredentials();
187
+ return true;
188
+ }
189
+ catch {
190
+ return false;
191
+ }
192
+ }
193
+ /**
194
+ * Get credentials for WebSocket authentication
195
+ *
196
+ * @returns The BitgetCredentials object
197
+ */
198
+ getCredentials() {
199
+ return this.credentials;
200
+ }
201
+ }
202
+ exports.BitgetAuth = BitgetAuth;
203
+ //# sourceMappingURL=bitget-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitget-auth.js","sourceRoot":"","sources":["../../../src/exchanges/bitget/bitget-auth.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,uCAA2C;AAS3C;;;;;;;GAOG;AACH,MAAa,UAAU;IAKrB;;;;;OAKG;IACH,YAAY,WAA8B,EAAE,UAAkB,wBAAwB;QAR9E,WAAM,GAAG,IAAA,oBAAY,EAAC,aAAa,CAAC,CAAC;QAS3C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,iBAAiB,CACf,SAAiB,EACjB,MAAc,EACd,WAAmB,EACnB,cAAsB,EAAE,EACxB,OAAe,EAAE;QAEjB,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,eAAe,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,EAAE,CAAC;QAE/F,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,gBAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,4CAA4C,KAAK,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU,CACR,MAAc,EACd,WAAmB,EACnB,cAAsB,EAAE,EACxB,OAAe,EAAE,EACjB,SAAkB;QAElB,MAAM,gBAAgB,GAAG,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CACtC,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,WAAW,EACX,IAAI,CACL,CAAC;QAEF,OAAO;YACL,cAAc,EAAE,kBAAkB;YAClC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;YACrC,aAAa,EAAE,SAAS;YACxB,kBAAkB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;YAC/C,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU;SACjD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO;YACL,cAAc,EAAE,kBAAkB;SACnC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,QAAgB,EAChB,SAAkC,EAAE,EACpC,SAA4C,KAAK,EACjD,IAA8B;QAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;aACvC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;aAC5E,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;aACxF,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAErD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAEvF,MAAM,GAAG,GAAG,WAAW;YACrB,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,IAAI,WAAW,EAAE;YAC7C,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;QAEjC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM;gBACN,OAAO;gBACP,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS;aAC9D,CAAC,CAAC;YAEH,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,QAAgB,EAAE,SAAkC,EAAE;QAC5E,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;aACvC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;aAC5E,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;aACxF,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,MAAM,GAAG,GAAG,WAAW;YACrB,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,IAAI,WAAW,EAAE;YAC7C,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;QAEjC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE;aACjC,CAAC,CAAC;YAEH,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,QAAkB,EAAE,QAAgB;QAC/D,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE3C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,IAAI,YAAY,GAAG,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;YAErE,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC3C,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;oBAClB,YAAY,GAAG,qBAAqB,SAAS,CAAC,GAAG,WAAW,SAAS,CAAC,IAAI,IAAI,SAAS,GAAG,CAAC;gBAC7F,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY,GAAG,QAAQ,QAAQ,CAAC,MAAM,KAAK,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YAC9E,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBAC7C,QAAQ;gBACR,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;YAEH,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAEtC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,qBAAqB,IAAI,CAAC,GAAG,IAAI,eAAe,WAAW,IAAI,CAAC,IAAI,GAAG,CAAC;gBACzF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;oBAC7C,QAAQ;oBACR,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,IAAI,CAAC,GAAG;oBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACzE,MAAM,KAAK,CAAC;YACd,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBACjD,QAAQ;gBACR,YAAY,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;aAC7C,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB;QACzB,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU;YAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE7D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,wCAAwC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,wBAAwB;QACtB,IAAI,CAAC;YACH,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF;AAvOD,gCAuOC"}
@@ -0,0 +1,255 @@
1
+ import { BaseExchangeConnector } from '../../core/exchange/base-exchange-connector';
2
+ import { Order, OrderBook, Ticker, Trade, OrderType, OrderSide, Balance, ExchangeCredentials, WebSocketStatus } from '../../types';
3
+ /**
4
+ * Bitget Exchange Connector
5
+ *
6
+ * Implements the BaseExchangeConnector interface for Bitget exchange.
7
+ * Provides trading operations, market data access, and WebSocket streaming.
8
+ */
9
+ export declare class BitgetConnector extends BaseExchangeConnector {
10
+ private auth?;
11
+ private ws?;
12
+ private userStream?;
13
+ private logger;
14
+ private readonly baseUrl;
15
+ private readonly dataMapper;
16
+ constructor();
17
+ /**
18
+ * Set API credentials and initialize authentication handler
19
+ *
20
+ * @param credentials - Bitget API credentials including apiKey, secret, and passphrase
21
+ * @throws Error if credentials are missing required Bitget fields (passphrase)
22
+ */
23
+ setCredentials(credentials: ExchangeCredentials): void;
24
+ /**
25
+ * Connect to Bitget API by testing server time and validating credentials
26
+ *
27
+ * @returns Promise that resolves when successfully connected to Bitget API
28
+ * @throws Error if connection fails or credentials are invalid
29
+ */
30
+ connect(): Promise<void>;
31
+ /**
32
+ * Disconnect from Bitget API and clean up resources
33
+ *
34
+ * @returns Promise that resolves when successfully disconnected from Bitget API
35
+ */
36
+ disconnect(): Promise<void>;
37
+ /**
38
+ * Validate if credentials contain required Bitget fields
39
+ */
40
+ private isValidBitgetCredentials;
41
+ /**
42
+ * Get account balance for all assets or a specific asset
43
+ *
44
+ * @returns Promise resolving to balance data - either all balances or single asset balance
45
+ * @throws Error if API request fails or credentials are invalid
46
+ */
47
+ getBalance(): Promise<Record<string, Balance>>;
48
+ getBalance(asset: string): Promise<Balance>;
49
+ /**
50
+ * Create a new order on Bitget exchange
51
+ *
52
+ * @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
53
+ * @param type - Order type ('market' or 'limit')
54
+ * @param side - Order side ('buy' or 'sell')
55
+ * @param amount - Order quantity/amount
56
+ * @param price - Optional. Price for limit orders (required for limit orders)
57
+ * @returns Promise resolving to the created order details
58
+ * @throws Error if order creation fails or parameters are invalid
59
+ */
60
+ createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number): Promise<Order>;
61
+ /**
62
+ * Cancel an existing order on Bitget exchange
63
+ *
64
+ * @param orderId - The ID of the order to cancel
65
+ * @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
66
+ * @returns Promise that resolves when order is successfully cancelled
67
+ * @throws Error if cancellation fails or order not found
68
+ */
69
+ cancelOrder(orderId: string, symbol: string): Promise<void>;
70
+ /**
71
+ * Cancel all open orders for a specific symbol
72
+ *
73
+ * @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
74
+ * @returns Promise that resolves when all orders are cancelled
75
+ * @throws Error if cancellation fails
76
+ */
77
+ cancelAllOrders(symbol: string): Promise<void>;
78
+ /**
79
+ * Get details of a specific order by ID
80
+ *
81
+ * @param orderId - The ID of the order to retrieve
82
+ * @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
83
+ * @returns Promise resolving to order details
84
+ * @throws Error if order not found or request fails
85
+ */
86
+ getOrder(orderId: string, symbol: string): Promise<Order>;
87
+ /**
88
+ * Get all open orders, optionally filtered by symbol
89
+ *
90
+ * @param symbol - Optional. Trading pair symbol to filter orders (e.g., 'SNEK/USDT')
91
+ * @returns Promise resolving to array of open orders
92
+ * @throws Error if request fails
93
+ */
94
+ getOpenOrders(symbol?: string): Promise<Order[]>;
95
+ /**
96
+ * Get ticker information for a trading pair
97
+ *
98
+ * @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
99
+ * @returns Promise resolving to ticker data including prices and volume
100
+ * @throws Error if ticker data not found or request fails
101
+ */
102
+ getTicker(symbol: string): Promise<Ticker>;
103
+ /**
104
+ * Get order book data for a trading pair
105
+ *
106
+ * @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
107
+ * @returns Promise resolving to order book with bids and asks
108
+ * @throws Error if order book data not found or request fails
109
+ */
110
+ getOrderBook(symbol: string): Promise<OrderBook>;
111
+ /**
112
+ * Get recent trades for a trading pair
113
+ *
114
+ * @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
115
+ * @returns Promise resolving to array of recent trade executions
116
+ * @throws Error if request fails
117
+ */
118
+ getRecentTrades(symbol: string): Promise<Trade[]>;
119
+ /**
120
+ * Connect to Bitget WebSocket for real-time data
121
+ *
122
+ * @returns Promise that resolves when WebSocket connection is established
123
+ * @throws Error if connection fails
124
+ */
125
+ connectWebSocket(): Promise<void>;
126
+ /**
127
+ * Disconnect from Bitget WebSocket
128
+ *
129
+ * @returns Promise that resolves when WebSocket is disconnected
130
+ */
131
+ disconnectWebSocket(): Promise<void>;
132
+ /**
133
+ * Subscribe to real-time ticker updates for a trading pair
134
+ *
135
+ * @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
136
+ * @param callback - Function called when ticker updates are received
137
+ * @returns Promise resolving to subscription ID for managing the subscription
138
+ * @throws Error if WebSocket not connected or subscription fails
139
+ */
140
+ subscribeTicker(symbol: string, callback: (ticker: Ticker) => void): Promise<string>;
141
+ /**
142
+ * Subscribe to real-time order book updates for a trading pair
143
+ *
144
+ * @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
145
+ * @param callback - Function called when order book updates are received
146
+ * @returns Promise resolving to subscription ID for managing the subscription
147
+ * @throws Error if WebSocket not connected or subscription fails
148
+ */
149
+ subscribeOrderBook(symbol: string, callback: (orderbook: OrderBook) => void): Promise<string>;
150
+ /**
151
+ * Subscribe to real-time trade updates for a trading pair
152
+ *
153
+ * @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
154
+ * @param callback - Function called when new trades are executed
155
+ * @returns Promise resolving to subscription ID for managing the subscription
156
+ * @throws Error if WebSocket not connected or subscription fails
157
+ */
158
+ subscribeTrades(symbol: string, callback: (trade: Trade) => void): Promise<string>;
159
+ /**
160
+ * Subscribe to real-time order updates (user data)
161
+ *
162
+ * @param callback - Function called when user's order status changes
163
+ * @returns Promise resolving to subscription ID for managing the subscription
164
+ * @throws Error if WebSocket not connected or subscription fails
165
+ */
166
+ subscribeOrders(callback: (order: Order) => void): Promise<string>;
167
+ /**
168
+ * Unsubscribe from a WebSocket subscription
169
+ *
170
+ * @param subscriptionId - The ID of the subscription to cancel
171
+ * @returns Promise that resolves when subscription is cancelled
172
+ * @throws Error if WebSocket not connected or unsubscribe fails
173
+ */
174
+ unsubscribe(subscriptionId: string): Promise<void>;
175
+ /**
176
+ * Check if WebSocket connection is active
177
+ *
178
+ * @returns Boolean indicating WebSocket connection status
179
+ */
180
+ isWebSocketConnected(): boolean;
181
+ /**
182
+ * Get current WebSocket connection status
183
+ *
184
+ * @returns Current WebSocket status ('connected', 'disconnected', etc.)
185
+ */
186
+ getWebSocketStatus(): WebSocketStatus;
187
+ /**
188
+ * User Data Stream Methods Implementation
189
+ */
190
+ /**
191
+ * Connect to user data stream for real-time account updates
192
+ *
193
+ * @returns Promise that resolves when user data stream is connected
194
+ * @throws Error if authentication fails or connection cannot be established
195
+ */
196
+ connectUserDataStream(): Promise<void>;
197
+ /**
198
+ * Disconnect from user data stream
199
+ *
200
+ * @returns Promise that resolves when user data stream is disconnected
201
+ */
202
+ disconnectUserDataStream(): Promise<void>;
203
+ /**
204
+ * Subscribe to real-time user order updates (limit/market orders)
205
+ *
206
+ * @param callback - Function called when user's orders change status
207
+ * @returns Promise resolving to subscription ID for managing the subscription
208
+ * @throws Error if user data stream not connected or subscription fails
209
+ */
210
+ subscribeUserOrders(callback: (order: Order) => void): Promise<string>;
211
+ /**
212
+ * Subscribe to real-time user trade executions
213
+ * Notifies when user's orders are filled/executed
214
+ *
215
+ * @param callback - Function called when user's trades are executed
216
+ * @returns Promise resolving to subscription ID for managing the subscription
217
+ * @throws Error if user data stream not connected or subscription fails
218
+ */
219
+ subscribeUserTrades(callback: (trade: Trade) => void): Promise<string>;
220
+ /**
221
+ * Subscribe to real-time account balance updates
222
+ *
223
+ * @param callback - Function called when account balance changes
224
+ * @returns Promise resolving to subscription ID for managing the subscription
225
+ * @throws Error if user data stream not connected or subscription fails
226
+ */
227
+ subscribeAccountUpdates(callback: (accountData: any) => void): Promise<string>;
228
+ /**
229
+ * Check if user data stream is connected
230
+ *
231
+ * @returns Boolean indicating user data stream connection status
232
+ */
233
+ isUserDataStreamConnected(): boolean;
234
+ /**
235
+ * Make authenticated request to Bitget API
236
+ *
237
+ * @param endpoint - API endpoint path
238
+ * @param params - Query parameters for the request
239
+ * @param method - HTTP method ('GET', 'POST', 'PUT', 'DELETE')
240
+ * @param body - Request body data for POST/PUT requests
241
+ * @returns Promise resolving to API response data
242
+ * @throws Error if not authenticated or request fails
243
+ */
244
+ private makeRequest;
245
+ /**
246
+ * Make public request to Bitget API (no authentication required)
247
+ *
248
+ * @param endpoint - API endpoint path
249
+ * @param params - Query parameters for the request
250
+ * @returns Promise resolving to API response data
251
+ * @throws Error if request fails
252
+ */
253
+ private makePublicRequest;
254
+ }
255
+ //# sourceMappingURL=bitget-connector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitget-connector.d.ts","sourceRoot":"","sources":["../../../src/exchanges/bitget/bitget-connector.ts"],"names":[],"mappings":"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"}