@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,103 @@
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.priceComparisonCommand = void 0;
7
+ const commander_1 = require("commander");
8
+ const multi_exchange_price_service_1 = require("../../core/price-aggregation/multi-exchange-price-service");
9
+ const price_aggregation_1 = require("../../core/price-aggregation");
10
+ const error_handler_1 = require("../utils/error-handler");
11
+ const price_aggregation_2 = require("../../config/price-aggregation");
12
+ const chalk_1 = __importDefault(require("chalk"));
13
+ exports.priceComparisonCommand = new commander_1.Command('price-comparison')
14
+ .description('Compare token prices across multiple exchanges and DEX')
15
+ .requiredOption('-s, --symbol <symbol>', 'Token symbol to compare (SNEK, INDY)')
16
+ .option('--exchanges-only', 'Only show CEX prices, skip DEX comparison')
17
+ .option('--json', 'Output in JSON format')
18
+ .action(async (options) => {
19
+ await (0, error_handler_1.executeCommand)(async () => {
20
+ const { symbol, exchangesOnly, json } = options;
21
+ const symbolUpper = symbol.toUpperCase();
22
+ const multiExchangeService = new multi_exchange_price_service_1.MultiExchangePriceService();
23
+ if (exchangesOnly) {
24
+ const aggregatedPrice = await multiExchangeService.getAggregatedPrice(`${symbolUpper}/USDT`);
25
+ if (json) {
26
+ console.log(JSON.stringify(aggregatedPrice, null, 2));
27
+ return;
28
+ }
29
+ displayCEXPrices(aggregatedPrice);
30
+ return;
31
+ }
32
+ if (!(0, price_aggregation_2.isTokenSupported)(symbolUpper)) {
33
+ console.log(chalk_1.default.yellow(`⚠️ ${symbolUpper} not supported for DEX pricing, showing CEX prices only\n`));
34
+ const aggregatedPrice = await multiExchangeService.getAggregatedPrice(`${symbolUpper}/USDT`);
35
+ if (json) {
36
+ console.log(JSON.stringify({ cexOnly: true, aggregatedPrice }, null, 2));
37
+ return;
38
+ }
39
+ displayCEXPrices(aggregatedPrice);
40
+ return;
41
+ }
42
+ console.log(chalk_1.default.blue(`\n📊 Fetching ${symbolUpper} prices from all sources...\n`));
43
+ const [dexPrice, cexAggregated] = await Promise.all([
44
+ new price_aggregation_1.CardanoPriceService().getTokenPrice(symbolUpper),
45
+ multiExchangeService.getAggregatedPrice(`${symbolUpper}/USDT`),
46
+ ]);
47
+ if (json) {
48
+ const comparison = await multiExchangeService.compareDEXvsCEXPrices(`${symbolUpper}/USDT`, dexPrice.price);
49
+ console.log(JSON.stringify({ dexPrice, cexAggregated, comparison }, null, 2));
50
+ return;
51
+ }
52
+ displayDEXPrice(symbolUpper, dexPrice);
53
+ displayCEXPrices(cexAggregated);
54
+ const availableCexPrices = cexAggregated.prices.filter(p => p.available);
55
+ if (availableCexPrices.length > 0 && cexAggregated.averagePrice) {
56
+ displayDEXvsCEXComparison(dexPrice.price, cexAggregated.averagePrice);
57
+ }
58
+ }, 'price comparison');
59
+ });
60
+ function displayDEXPrice(symbol, dexPrice) {
61
+ console.log(chalk_1.default.blue(`🏊 ${symbol} DEX Price (Cardano Pools)`));
62
+ console.log(` Price: $${dexPrice.price.toFixed(8)}`);
63
+ console.log(` Confidence: ${(dexPrice.confidence * 100).toFixed(1)}%`);
64
+ console.log(` Sources: ${dexPrice.sources.length} DEX pools`);
65
+ console.log(` Updated: ${dexPrice.timestamp.toLocaleString()}\n`);
66
+ }
67
+ function displayCEXPrices(aggregated) {
68
+ console.log(chalk_1.default.green('🏪 CEX Prices'));
69
+ aggregated.prices.forEach((price) => {
70
+ if (price.available) {
71
+ console.log(chalk_1.default.green(` ✅ ${price.exchange.toUpperCase()}: $${price.price.toFixed(8)}`));
72
+ }
73
+ else {
74
+ console.log(chalk_1.default.gray(` ❌ ${price.exchange.toUpperCase()}: Not available`));
75
+ }
76
+ });
77
+ if (aggregated.averagePrice) {
78
+ console.log(chalk_1.default.cyan(` 📊 Average CEX Price: $${aggregated.averagePrice.toFixed(8)}`));
79
+ }
80
+ console.log('');
81
+ }
82
+ function displayDEXvsCEXComparison(dexPrice, avgCexPrice) {
83
+ const priceDiff = ((dexPrice - avgCexPrice) / avgCexPrice) * 100;
84
+ console.log(chalk_1.default.blue('🆚 DEX vs CEX Comparison'));
85
+ console.log(` DEX Price: $${dexPrice.toFixed(8)}`);
86
+ console.log(` CEX Avg Price: $${avgCexPrice.toFixed(8)}`);
87
+ if (priceDiff > 0) {
88
+ console.log(chalk_1.default.green(` DEX Premium: +${priceDiff.toFixed(2)}% (DEX higher)`));
89
+ }
90
+ else {
91
+ console.log(chalk_1.default.red(` DEX Discount: ${priceDiff.toFixed(2)}% (DEX lower)`));
92
+ }
93
+ }
94
+ exports.priceComparisonCommand.addHelpText('after', `
95
+ Examples:
96
+ $ openmm price-comparison --symbol SNEK # Compare SNEK prices across DEX and CEX
97
+ $ openmm price-comparison --symbol INDY --exchanges-only # Only CEX prices for INDY
98
+ $ openmm price-comparison --symbol SNEK --json # JSON output
99
+
100
+ Note: Compares prices from Cardano DEX pools and centralized exchanges
101
+ CEX prices are fetched from MEXC, Gate.io, and Bitget (where available)
102
+ `);
103
+ //# sourceMappingURL=price-comparison.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"price-comparison.js","sourceRoot":"","sources":["../../../src/cli/commands/price-comparison.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ticker.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ticker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,aAAa,SAiCtB,CAAC"}
1
+ {"version":3,"file":"ticker.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ticker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,aAAa,SAuCtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ticker.js","sourceRoot":"","sources":["../../../src/cli/commands/ticker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ticker.js","sourceRoot":"","sources":["../../../src/cli/commands/ticker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"trade.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/trade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,YAAY,SA8FrB,CAAC"}
1
+ {"version":3,"file":"trade.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/trade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,YAAY,SAsLrB,CAAC"}
@@ -12,7 +12,7 @@ const chalk_1 = __importDefault(require("chalk"));
12
12
  exports.tradeCommand = new commander_1.Command('trade')
13
13
  .description('Start trading with specified strategy and parameters')
14
14
  .requiredOption('-s, --strategy <strategy>', 'Trading strategy to use (grid)')
15
- .requiredOption('-e, --exchange <exchange>', 'Exchange to trade on (mexc)')
15
+ .requiredOption('-e, --exchange <exchange>', 'Exchange to trade on (mexc, bitget, gateio, kraken)')
16
16
  .requiredOption('--symbol <symbol>', 'Trading pair (INDYUSDT, INDY/USDT, BTCUSDT, etc.)')
17
17
  .option('--levels <number>', 'Grid: Number of levels each side (default: 5)', '5')
18
18
  .option('--spacing <decimal>', 'Grid: Spacing between levels as decimal (0.02 = 2%)', '0.02')
@@ -22,6 +22,15 @@ exports.tradeCommand = new commander_1.Command('trade')
22
22
  .option('--debounce <ms>', 'Grid: Adjustment debounce time in ms (default: 2000)', '2000')
23
23
  .option('--max-position <decimal>', 'Grid: Maximum position size as % of balance (0.8 = 80%)', '0.8')
24
24
  .option('--safety-reserve <decimal>', 'Grid: Safety reserve as % of balance (0.2 = 20%)', '0.2')
25
+ // Dynamic grid options
26
+ .option('--spacing-model <model>', 'Grid: Spacing model - linear, geometric, or custom (default: linear)', 'linear')
27
+ .option('--spacing-factor <number>', 'Grid: Geometric spacing multiplier per level (default: 1.3)')
28
+ .option('--size-model <model>', 'Grid: Size distribution - flat, pyramidal, or custom (default: flat)', 'flat')
29
+ .option('--grid-profile <path>', 'Grid: Load full grid configuration from a JSON profile file')
30
+ // Volatility options
31
+ .option('--volatility', 'Grid: Enable volatility-based dynamic spread adjustment')
32
+ .option('--volatility-low <decimal>', 'Grid: Low volatility threshold (default: 0.02 = 2%)')
33
+ .option('--volatility-high <decimal>', 'Grid: High volatility threshold (default: 0.05 = 5%)')
25
34
  .option('--dry-run', 'Simulate trading without placing real orders')
26
35
  .action(async (options) => {
27
36
  let strategy = null;
@@ -54,24 +63,64 @@ exports.tradeCommand = new commander_1.Command('trade')
54
63
  const config = {
55
64
  strategy: strategyType,
56
65
  exchange: options.exchange,
57
- symbol: options.symbol
66
+ symbol: options.symbol,
58
67
  };
59
68
  let params = {};
60
69
  if (strategyType === 'grid') {
61
- console.log(chalk_1.default.gray(`Grid Levels: ${options.levels} each side`));
70
+ const spacingModel = options.spacingModel;
71
+ const sizeModel = options.sizeModel;
72
+ if (!['linear', 'geometric', 'custom'].includes(spacingModel)) {
73
+ throw new Error(`Invalid spacing model: ${spacingModel}. Must be: linear, geometric, or custom`);
74
+ }
75
+ if (!['flat', 'pyramidal', 'custom'].includes(sizeModel)) {
76
+ throw new Error(`Invalid size model: ${sizeModel}. Must be: flat, pyramidal, or custom`);
77
+ }
78
+ // Validate levels (1-10 per side)
79
+ const levels = parseInt(options.levels);
80
+ if (levels < 1 || levels > 10) {
81
+ throw new Error(`Grid levels must be between 1 and 10, got ${levels}`);
82
+ }
83
+ console.log(chalk_1.default.gray(`Grid Levels: ${options.levels} per side (${levels * 2} total)`));
62
84
  console.log(chalk_1.default.gray(`Grid Spacing: ${(parseFloat(options.spacing) * 100).toFixed(1)}%`));
85
+ console.log(chalk_1.default.gray(`Spacing Model: ${spacingModel}`));
86
+ if (spacingModel === 'geometric' && options.spacingFactor) {
87
+ console.log(chalk_1.default.gray(`Spacing Factor: ${options.spacingFactor}`));
88
+ }
89
+ console.log(chalk_1.default.gray(`Size Model: ${sizeModel}`));
63
90
  console.log(chalk_1.default.gray(`Order Size: $${options.size}`));
64
91
  console.log(chalk_1.default.gray(`Max Position: ${(parseFloat(options.maxPosition) * 100).toFixed(0)}%`));
65
92
  console.log(chalk_1.default.gray(`Safety Reserve: ${(parseFloat(options.safetyReserve) * 100).toFixed(0)}%`));
93
+ if (options.gridProfile) {
94
+ console.log(chalk_1.default.gray(`Grid Profile: ${options.gridProfile}`));
95
+ }
96
+ if (options.volatility) {
97
+ const lowThreshold = options.volatilityLow ? parseFloat(options.volatilityLow) : 0.02;
98
+ const highThreshold = options.volatilityHigh
99
+ ? parseFloat(options.volatilityHigh)
100
+ : 0.05;
101
+ console.log(chalk_1.default.gray(`Volatility Tracking: enabled`));
102
+ console.log(chalk_1.default.gray(`Volatility Thresholds: ${(lowThreshold * 100).toFixed(1)}% / ${(highThreshold * 100).toFixed(1)}%`));
103
+ }
66
104
  params = {
67
- gridLevels: parseInt(options.levels),
105
+ gridLevels: levels,
68
106
  gridSpacing: parseFloat(options.spacing),
69
107
  orderSize: parseFloat(options.size),
70
108
  minConfidence: parseFloat(options.confidence),
71
109
  priceDeviationThreshold: parseFloat(options.deviation),
72
110
  adjustmentDebounce: parseInt(options.debounce),
73
111
  maxPositionSize: parseFloat(options.maxPosition),
74
- safetyReservePercentage: parseFloat(options.safetyReserve)
112
+ safetyReservePercentage: parseFloat(options.safetyReserve),
113
+ spacingModel,
114
+ sizeModel,
115
+ spacingFactor: options.spacingFactor ? parseFloat(options.spacingFactor) : undefined,
116
+ gridProfilePath: options.gridProfile,
117
+ volatilityEnabled: !!options.volatility,
118
+ volatilityLowThreshold: options.volatilityLow
119
+ ? parseFloat(options.volatilityLow)
120
+ : undefined,
121
+ volatilityHighThreshold: options.volatilityHigh
122
+ ? parseFloat(options.volatilityHigh)
123
+ : undefined,
75
124
  };
76
125
  }
77
126
  console.log(chalk_1.default.blue('⚙️ Creating strategy...'));
@@ -90,21 +139,89 @@ exports.tradeCommand = new commander_1.Command('trade')
90
139
  });
91
140
  exports.tradeCommand.addHelpText('after', `
92
141
  Examples:
93
- $ openmm trade --strategy grid --exchange mexc --symbol INDYUSDT # Start INDY/USDT grid with defaults
94
- $ openmm trade --strategy grid --exchange mexc --symbol INDY/USDT --levels 7 --size 100 # Custom parameters
95
- $ openmm trade --strategy grid --exchange mexc --symbol BTCUSDT --spacing 0.015 # BTC grid with 1.5% spacing
96
- $ openmm trade --strategy grid --exchange mexc --symbol INDYUSDT --dry-run # Test mode (no real orders)
142
+
143
+ # 1. Linear spacing + Flat sizing (default behavior)
144
+ $ openmm trade --strategy grid --exchange kraken --symbol SNEK/EUR --levels 5 --spacing 0.02 --size 5
145
+
146
+ # 2. Geometric spacing + Flat sizing
147
+ $ openmm trade --strategy grid --exchange kraken --symbol SNEK/EUR --levels 10 --spacing 0.003 --spacing-model geometric --spacing-factor 1.3 --size 5
148
+
149
+ # 3. Geometric spacing + Pyramidal sizing
150
+ $ openmm trade --strategy grid --exchange kraken --symbol SNEK/EUR --levels 10 --spacing 0.005 --spacing-model geometric --spacing-factor 1.5 --size-model pyramidal --size 5
151
+
152
+ # 4. Linear spacing + Pyramidal sizing
153
+ $ openmm trade --strategy grid --exchange kraken --symbol SNEK/EUR --levels 8 --spacing 0.01 --size-model pyramidal --size 5
154
+
155
+ # 5. Geometric with aggressive factor (wider outer levels)
156
+ $ openmm trade --strategy grid --exchange kraken --symbol SNEK/EUR --levels 10 --spacing 0.002 --spacing-model geometric --spacing-factor 2.0 --size-model pyramidal --size 5
157
+
158
+ # 6. Load full configuration from a JSON profile file
159
+ $ openmm trade --strategy grid --exchange gateio --symbol SNEK/USDT --grid-profile ./profiles/aggressive.json
160
+
161
+ # 7. Volatility-based dynamic spread adjustment
162
+ $ openmm trade --strategy grid --exchange kraken --symbol SNEK/EUR --levels 5 --spacing 0.01 --size 5 --volatility
163
+ $ openmm trade --strategy grid --exchange kraken --symbol SNEK/EUR --levels 5 --spacing 0.01 --size 5 --volatility --volatility-low 0.01 --volatility-high 0.03
164
+
165
+ # 8. Multi-exchange examples
166
+ $ openmm trade --strategy grid --exchange mexc --symbol INDY/USDT --levels 10 --spacing 0.005 --spacing-model geometric --spacing-factor 1.3 --size-model pyramidal --size 5
167
+ $ openmm trade --strategy grid --exchange bitget --symbol SNEK/USDT --levels 7 --spacing 0.01 --size-model pyramidal --size 5
168
+ $ openmm trade --strategy grid --exchange gateio --symbol SNEK/USDT --levels 8 --spacing 0.004 --spacing-model geometric --spacing-factor 1.4 --size-model pyramidal --size 5
97
169
 
98
170
  Grid Strategy Parameters:
99
- --levels: Number of buy and sell orders each side (default: 5, range: 1-20)
100
- --spacing: Price spacing between grid levels (default: 0.02 = 2%)
101
- --size: Order size in quote currency like USDT (default: 50)
102
- --confidence: Minimum price confidence to trade (default: 0.6 = 60%)
103
- --deviation: Price movement % to trigger grid recreation (default: 0.015 = 1.5%)
104
- --debounce: Delay between grid adjustments in ms (default: 2000ms)
105
- --max-position: Maximum position size as % of balance (default: 0.8 = 80%)
106
- --safety-reserve: Safety reserve as % of balance (default: 0.2 = 20%)
171
+ --levels <number> Number of buy and sell orders each side (default: 5, max: 10)
172
+ --spacing <decimal> Base price spacing between grid levels (default: 0.02 = 2%)
173
+ --size <number> Base order size in quote currency like USDT (default: 50)
174
+ --confidence <decimal> Minimum price confidence to trade (default: 0.6 = 60%)
175
+ --deviation <decimal> Price movement % to trigger grid recreation (default: 0.015 = 1.5%)
176
+ --debounce <ms> Delay between grid adjustments in ms (default: 2000ms)
177
+ --max-position <decimal> Maximum position size as % of balance (default: 0.8 = 80%)
178
+ --safety-reserve <decimal> Safety reserve as % of balance (default: 0.2 = 20%)
179
+
180
+ Dynamic Grid Parameters:
181
+ --spacing-model <model> How spacing between levels is calculated (default: linear)
182
+ linear - Equal spacing between all levels
183
+ geometric - Spacing increases by factor per level (wider at edges)
184
+ custom - User-defined via grid profile file
185
+ --spacing-factor <number> Geometric spacing multiplier per level (default: 1.3)
186
+ Example: factor=1.5, base=0.5% → gaps: 0.5%, 0.75%, 1.125%...
187
+ --size-model <model> How order sizes are distributed across levels (default: flat)
188
+ flat - Equal size for all levels
189
+ pyramidal - Larger sizes near center, smaller at edges
190
+ custom - User-defined weights via grid profile file
191
+ --grid-profile <path> Load complete grid config from JSON file (overrides CLI params)
192
+
193
+ Volatility Parameters:
194
+ --volatility Enable volatility-based dynamic spread adjustment (off by default)
195
+ --volatility-low <decimal> Low volatility threshold (default: 0.02 = 2%)
196
+ Below this, grid spacing stays normal (multiplier 1.0)
197
+ --volatility-high <decimal> High volatility threshold (default: 0.05 = 5%)
198
+ Above this, grid spacing is widened maximally (multiplier 2.0)
199
+
200
+ Grid Profile File Format (JSON):
201
+ {
202
+ "name": "my-profile",
203
+ "levels": 10,
204
+ "spacingModel": "geometric",
205
+ "baseSpacing": 0.005,
206
+ "spacingFactor": 1.3,
207
+ "sizeModel": "pyramidal",
208
+ "baseSize": 50
209
+ }
210
+
211
+ For custom spacing/sizing, provide arrays:
212
+ {
213
+ "levels": 5,
214
+ "spacingModel": "custom",
215
+ "customSpacings": [0.005, 0.012, 0.022, 0.035, 0.055],
216
+ "sizeModel": "custom",
217
+ "sizeWeights": [1.5, 1.3, 1.0, 0.8, 0.6],
218
+ "baseSize": 50
219
+ }
107
220
 
108
- Note: Ensure exchange-specific environment variables are set (e.g., MEXC_API_KEY and MEXC_SECRET_KEY for MEXC).
221
+ Note: Ensure exchange-specific environment variables are set:
222
+ - MEXC: MEXC_API_KEY and MEXC_SECRET_KEY
223
+ - Bitget: BITGET_API_KEY, BITGET_SECRET, and BITGET_PASSPHRASE
224
+ - Gate.io: GATEIO_API_KEY and GATEIO_SECRET
225
+ - Kraken: KRAKEN_API_KEY and KRAKEN_SECRET
109
226
  `);
110
227
  //# sourceMappingURL=trade.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trade.js","sourceRoot":"","sources":["../../../src/cli/commands/trade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trade.js","sourceRoot":"","sources":["../../../src/cli/commands/trade.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"trades.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/trades.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,aAAa,SA8DtB,CAAC"}
1
+ {"version":3,"file":"trades.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/trades.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,aAAa,SA0EtB,CAAC"}
@@ -41,8 +41,7 @@ exports.tradesCommand = new commander_1.Command('trades')
41
41
  console.log(chalk_1.default.gray('─────────┼──────┼──────────────┼──────────────┼──────────────┼─────────────'));
42
42
  limitedTrades.forEach(trade => {
43
43
  const id = trade.id.padEnd(8);
44
- const side = trade.side === 'buy' ?
45
- chalk_1.default.green('BUY ') : chalk_1.default.red('SELL');
44
+ const side = trade.side === 'buy' ? chalk_1.default.green('BUY ') : chalk_1.default.red('SELL');
46
45
  const price = `$${trade.price.toFixed(8)}`.padEnd(13);
47
46
  const amount = trade.amount.toFixed(8).padEnd(13);
48
47
  const total = `$${(trade.price * trade.amount).toFixed(8)}`.padEnd(13);
@@ -51,7 +50,7 @@ exports.tradesCommand = new commander_1.Command('trades')
51
50
  });
52
51
  const buyTrades = limitedTrades.filter(t => t.side === 'buy');
53
52
  const sellTrades = limitedTrades.filter(t => t.side === 'sell');
54
- const totalVolume = limitedTrades.reduce((sum, trade) => sum + (trade.price * trade.amount), 0);
53
+ const totalVolume = limitedTrades.reduce((sum, trade) => sum + trade.price * trade.amount, 0);
55
54
  console.log(`\n${chalk_1.default.bold('Summary')}:`);
56
55
  console.log(` Total Trades: ${limitedTrades.length}`);
57
56
  console.log(` Buy Trades: ${chalk_1.default.green(buyTrades.length)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"trades.js","sourceRoot":"","sources":["../../../src/cli/commands/trades.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trades.js","sourceRoot":"","sources":["../../../src/cli/commands/trades.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,0DAAsD;AACtD,oDAAuE;AACvE,0DAAqE;AAExD,QAAA,aAAa,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,sCAAsC,CAAC;KACnD,cAAc,CAAC,2BAA2B,EAAE,mBAAmB,CAAC;KAChE,cAAc,CAAC,uBAAuB,EAAE,sCAAsC,CAAC;KAC/E,MAAM,CAAC,qBAAqB,EAAE,2CAA2C,EAAE,IAAI,CAAC;KAChF,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;KACzC,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;IACtB,MAAM,IAAA,8BAAc,EAAC,KAAK,IAAI,EAAE;QAC9B,MAAM,QAAQ,GAAG,IAAA,6BAAgB,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAA,2BAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,kCAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAE7C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC,CAAC;oBAClE,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAG,CACT,KAAK,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,MAAM,EAAE,CAAC,YAAY,aAAa,CAAC,MAAM,IAAI,CACxF,CAAC;gBAEF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAClF,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CACR,6EAA6E,CAC9E,CACF,CAAC;gBAEF,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAC5B,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC5E,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACtD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACvE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAEvE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,IAAI,MAAM,KAAK,MAAM,MAAM,MAAM,KAAK,MAAM,IAAI,EAAE,CAAC,CAAC;gBAC7E,CAAC,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;gBAC9D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBAChE,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CACtC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,EAChD,CAAC,CACF,CAAC;gBAEF,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,oBAAoB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,oBAAoB,eAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,oBAAoB,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CACT,oBAAoB,eAAK,CAAC,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAC5G,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,2BAAW,EAAC,KAAc,EAAE,qBAAqB,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEL,qBAAa,CAAC,WAAW,CACvB,OAAO,EACP;;;;;CAKD,CACA,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"exchange-factory.d.ts","sourceRoot":"","sources":["../../src/cli/exchange-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAGjF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExE;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,UAAU,CAA4D;IAErF;;;;OAIG;WACU,WAAW,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAazF;;;;OAIG;mBACkB,uBAAuB;IAsB5C;;;OAGG;IACH,MAAM,CAAC,qBAAqB,IAAI,iBAAiB,EAAE;IAInD;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,IAAI,iBAAiB;IAI3E;;OAEG;WACU,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAW5C"}
1
+ {"version":3,"file":"exchange-factory.d.ts","sourceRoot":"","sources":["../../src/cli/exchange-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAMjF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExE;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,UAAU,CAA4D;IAErF;;;;OAIG;WACU,WAAW,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAazF;;;;OAIG;mBACkB,uBAAuB;IAqB5C;;;OAGG;IACH,MAAM,CAAC,qBAAqB,IAAI,iBAAiB,EAAE;IAInD;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,IAAI,iBAAiB;IAI3E;;OAEG;WACU,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAW5C"}
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ExchangeFactory = void 0;
4
4
  const mexc_connector_1 = require("../exchanges/mexc/mexc-connector");
5
+ const bitget_connector_1 = require("../exchanges/bitget/bitget-connector");
6
+ const gateio_connector_1 = require("../exchanges/gateio/gateio-connector");
7
+ const kraken_connector_1 = require("../exchanges/kraken/kraken-connector");
5
8
  /**
6
9
  * Exchange Factory
7
10
  * Creates exchange connector instances dynamically based on exchange name
@@ -31,14 +34,11 @@ class ExchangeFactory {
31
34
  case 'mexc':
32
35
  return new mexc_connector_1.MexcConnector();
33
36
  case 'gateio':
34
- // TODO: Implement GateIO connector
35
- throw new Error('GateIO connector not yet implemented');
37
+ return new gateio_connector_1.GateioConnector();
36
38
  case 'bitget':
37
- // TODO: Implement Bitget connector
38
- throw new Error('Bitget connector not yet implemented');
39
+ return new bitget_connector_1.BitgetConnector();
39
40
  case 'kraken':
40
- // TODO: Implement Kraken connector
41
- throw new Error('Kraken connector not yet implemented');
41
+ return new kraken_connector_1.KrakenConnector();
42
42
  default:
43
43
  throw new Error(`Unsupported exchange: ${exchangeName}`);
44
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"exchange-factory.js","sourceRoot":"","sources":["../../src/cli/exchange-factory.ts"],"names":[],"mappings":";;;AACA,qEAAiE;AAOjE;;;GAGG;AACH,MAAa,eAAe;IAG1B;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,YAA+B;QACtD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;QAC5C,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;QACnE,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAE1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAE7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,YAA+B;QAC1E,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,MAAM;gBACT,OAAO,IAAI,8BAAa,EAAE,CAAC;YAE7B,KAAK,QAAQ;gBACX,mCAAmC;gBACnC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAE1D,KAAK,QAAQ;gBACX,mCAAmC;gBACnC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAE1D,KAAK,QAAQ;gBACX,mCAAmC;gBACnC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAE1D;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,qBAAqB;QAC1B,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,YAAoB;QACrC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,YAAiC,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa;QACxB,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC9E,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC;YAChC,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;;AA9EH,0CA+EC;AA9EgB,0BAAU,GAAkD,IAAI,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"exchange-factory.js","sourceRoot":"","sources":["../../src/cli/exchange-factory.ts"],"names":[],"mappings":";;;AACA,qEAAiE;AACjE,2EAAuE;AACvE,2EAAuE;AACvE,2EAAuE;AAOvE;;;GAGG;AACH,MAAa,eAAe;IAG1B;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,YAA+B;QACtD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;QAC5C,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;QACnE,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAE1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAE7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAC1C,YAA+B;QAE/B,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,MAAM;gBACT,OAAO,IAAI,8BAAa,EAAE,CAAC;YAE7B,KAAK,QAAQ;gBACX,OAAO,IAAI,kCAAe,EAAE,CAAC;YAE/B,KAAK,QAAQ;gBACX,OAAO,IAAI,kCAAe,EAAE,CAAC;YAE/B,KAAK,QAAQ;gBACX,OAAO,IAAI,kCAAe,EAAE,CAAC;YAE/B;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,qBAAqB;QAC1B,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,YAAoB;QACrC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,YAAiC,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa;QACxB,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC9E,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC;YAChC,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;;AA7EH,0CA8EC;AA7EgB,0BAAU,GAAkD,IAAI,GAAG,EAAE,CAAC"}
@@ -33,6 +33,7 @@ export declare class PoolDiscoveryCLI {
33
33
  limit?: number;
34
34
  minLiquidity?: number;
35
35
  showAll?: boolean;
36
+ json?: boolean;
36
37
  }): Promise<DiscoveryResult>;
37
38
  /**
38
39
  * Display discovery results in a formatted table
@@ -41,7 +42,7 @@ export declare class PoolDiscoveryCLI {
41
42
  /**
42
43
  * Get live price information for discovered pools
43
44
  */
44
- getPoolPrices(identifiers: string[], tokenSymbol: string): Promise<void>;
45
+ getPoolPrices(identifiers: string[], tokenSymbol: string, json?: boolean): Promise<void>;
45
46
  /**
46
47
  * Format currency with K/M suffixes
47
48
  */
@@ -1 +1 @@
1
- {"version":3,"file":"pool-discovery-core.d.ts","sourceRoot":"","sources":["../../src/cli/pool-discovery-core.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,YAAY,CAAsB;;IAQ1C;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE;QACrD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,OAAO,CAAC;KACd,GAAG,OAAO,CAAC,eAAe,CAAC;IA2DjC;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAkD7C;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C9E;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,kBAAkB;CAsB/F"}
1
+ {"version":3,"file":"pool-discovery-core.d.ts","sourceRoot":"","sources":["../../src/cli/pool-discovery-core.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,YAAY,CAAsB;;IAQ1C;;OAEG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,IAAI,CAAC,EAAE,OAAO,CAAC;KACX,GACL,OAAO,CAAC,eAAe,CAAC;IA6D3B;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IA2C7C;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA2E5F;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,kBAAkB;CAsB/F"}