@3rd-eye-labs/openmm 0.1.0 → 0.1.3

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 (276) hide show
  1. package/README.md +6 -1
  2. package/dist/cli/cli.js +4 -0
  3. package/dist/cli/cli.js.map +1 -1
  4. package/dist/cli/commands/ohlcv.d.ts +3 -0
  5. package/dist/cli/commands/ohlcv.d.ts.map +1 -0
  6. package/dist/cli/commands/ohlcv.js +115 -0
  7. package/dist/cli/commands/ohlcv.js.map +1 -0
  8. package/dist/cli/commands/pool-discovery.d.ts.map +1 -1
  9. package/dist/cli/commands/pool-discovery.js +13 -4
  10. package/dist/cli/commands/pool-discovery.js.map +1 -1
  11. package/dist/cli/commands/wallet.d.ts +7 -0
  12. package/dist/cli/commands/wallet.d.ts.map +1 -0
  13. package/dist/cli/commands/wallet.js +271 -0
  14. package/dist/cli/commands/wallet.js.map +1 -0
  15. package/dist/cli/pool-discovery-core.d.ts +2 -1
  16. package/dist/cli/pool-discovery-core.d.ts.map +1 -1
  17. package/dist/cli/pool-discovery-core.js +66 -30
  18. package/dist/cli/pool-discovery-core.js.map +1 -1
  19. package/dist/core/exchange/base-exchange-connector.d.ts +2 -1
  20. package/dist/core/exchange/base-exchange-connector.d.ts.map +1 -1
  21. package/dist/core/exchange/base-exchange-connector.js.map +1 -1
  22. package/dist/exchanges/bitget/bitget-connector.d.ts +11 -1
  23. package/dist/exchanges/bitget/bitget-connector.d.ts.map +1 -1
  24. package/dist/exchanges/bitget/bitget-connector.js +52 -0
  25. package/dist/exchanges/bitget/bitget-connector.js.map +1 -1
  26. package/dist/exchanges/gateio/gateio-connector.d.ts +11 -1
  27. package/dist/exchanges/gateio/gateio-connector.d.ts.map +1 -1
  28. package/dist/exchanges/gateio/gateio-connector.js +54 -0
  29. package/dist/exchanges/gateio/gateio-connector.js.map +1 -1
  30. package/dist/exchanges/kraken/kraken-connector.d.ts +6 -1
  31. package/dist/exchanges/kraken/kraken-connector.d.ts.map +1 -1
  32. package/dist/exchanges/kraken/kraken-connector.js +44 -0
  33. package/dist/exchanges/kraken/kraken-connector.js.map +1 -1
  34. package/dist/exchanges/mexc/mexc-auth.d.ts +1 -0
  35. package/dist/exchanges/mexc/mexc-auth.d.ts.map +1 -1
  36. package/dist/exchanges/mexc/mexc-auth.js +4 -1
  37. package/dist/exchanges/mexc/mexc-auth.js.map +1 -1
  38. package/dist/exchanges/mexc/mexc-connector.d.ts +6 -1
  39. package/dist/exchanges/mexc/mexc-connector.d.ts.map +1 -1
  40. package/dist/exchanges/mexc/mexc-connector.js +37 -0
  41. package/dist/exchanges/mexc/mexc-connector.js.map +1 -1
  42. package/dist/index.d.ts +1 -0
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +25 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/types/market.d.ts +15 -0
  47. package/dist/types/market.d.ts.map +1 -1
  48. package/dist/x402/crypto.d.ts +79 -0
  49. package/dist/x402/crypto.d.ts.map +1 -0
  50. package/dist/x402/crypto.js +300 -0
  51. package/dist/x402/crypto.js.map +1 -0
  52. package/dist/x402/evm.d.ts +41 -0
  53. package/dist/x402/evm.d.ts.map +1 -0
  54. package/dist/x402/evm.js +229 -0
  55. package/dist/x402/evm.js.map +1 -0
  56. package/dist/x402/handler.d.ts +53 -0
  57. package/dist/x402/handler.d.ts.map +1 -0
  58. package/dist/x402/handler.js +233 -0
  59. package/dist/x402/handler.js.map +1 -0
  60. package/dist/x402/index.d.ts +29 -0
  61. package/dist/x402/index.d.ts.map +1 -0
  62. package/dist/x402/index.js +67 -0
  63. package/dist/x402/index.js.map +1 -0
  64. package/dist/x402/types.d.ts +185 -0
  65. package/dist/x402/types.d.ts.map +1 -0
  66. package/dist/x402/types.js +7 -0
  67. package/dist/x402/types.js.map +1 -0
  68. package/dist/x402/wallet.d.ts +65 -0
  69. package/dist/x402/wallet.d.ts.map +1 -0
  70. package/dist/x402/wallet.js +282 -0
  71. package/dist/x402/wallet.js.map +1 -0
  72. package/package.json +1 -1
  73. package/dist/cli/commands/grid.d.ts +0 -3
  74. package/dist/cli/commands/grid.d.ts.map +0 -1
  75. package/dist/cli/commands/grid.js +0 -103
  76. package/dist/cli/commands/grid.js.map +0 -1
  77. package/dist/cli/commands/multi-trade.d.ts +0 -3
  78. package/dist/cli/commands/multi-trade.d.ts.map +0 -1
  79. package/dist/cli/commands/multi-trade.js +0 -175
  80. package/dist/cli/commands/multi-trade.js.map +0 -1
  81. package/dist/cli/pool-discovery.d.ts +0 -56
  82. package/dist/cli/pool-discovery.d.ts.map +0 -1
  83. package/dist/cli/pool-discovery.js +0 -283
  84. package/dist/cli/pool-discovery.js.map +0 -1
  85. package/dist/core/price-aggregation/price-cache.d.ts +0 -55
  86. package/dist/core/price-aggregation/price-cache.d.ts.map +0 -1
  87. package/dist/core/price-aggregation/price-cache.js +0 -152
  88. package/dist/core/price-aggregation/price-cache.js.map +0 -1
  89. package/dist/examples/mexc-connector-comprehensive-test.d.ts +0 -15
  90. package/dist/examples/mexc-connector-comprehensive-test.d.ts.map +0 -1
  91. package/dist/examples/mexc-connector-comprehensive-test.js +0 -514
  92. package/dist/examples/mexc-connector-comprehensive-test.js.map +0 -1
  93. package/dist/examples/mexc-order-update-test.d.ts +0 -4
  94. package/dist/examples/mexc-order-update-test.d.ts.map +0 -1
  95. package/dist/examples/mexc-order-update-test.js +0 -186
  96. package/dist/examples/mexc-order-update-test.js.map +0 -1
  97. package/dist/examples/mexc-test.d.ts +0 -9
  98. package/dist/examples/mexc-test.d.ts.map +0 -1
  99. package/dist/examples/mexc-test.js +0 -218
  100. package/dist/examples/mexc-test.js.map +0 -1
  101. package/dist/examples/mexc-trades-debug.d.ts +0 -2
  102. package/dist/examples/mexc-trades-debug.d.ts.map +0 -1
  103. package/dist/examples/mexc-trades-debug.js +0 -101
  104. package/dist/examples/mexc-trades-debug.js.map +0 -1
  105. package/dist/examples/mexc-trades-subscription-debug.d.ts +0 -2
  106. package/dist/examples/mexc-trades-subscription-debug.d.ts.map +0 -1
  107. package/dist/examples/mexc-trades-subscription-debug.js +0 -150
  108. package/dist/examples/mexc-trades-subscription-debug.js.map +0 -1
  109. package/dist/examples/mexc-websocket-test.d.ts +0 -8
  110. package/dist/examples/mexc-websocket-test.d.ts.map +0 -1
  111. package/dist/examples/mexc-websocket-test.js +0 -115
  112. package/dist/examples/mexc-websocket-test.js.map +0 -1
  113. package/dist/examples/test-protobuf-status-detection.d.ts +0 -9
  114. package/dist/examples/test-protobuf-status-detection.d.ts.map +0 -1
  115. package/dist/examples/test-protobuf-status-detection.js +0 -83
  116. package/dist/examples/test-protobuf-status-detection.js.map +0 -1
  117. package/dist/exchanges/base-exchange-connector.d.ts +0 -33
  118. package/dist/exchanges/base-exchange-connector.d.ts.map +0 -1
  119. package/dist/exchanges/base-exchange-connector.js +0 -55
  120. package/dist/exchanges/base-exchange-connector.js.map +0 -1
  121. package/dist/exchanges/kraken/test-kraken-websocket.d.ts +0 -19
  122. package/dist/exchanges/kraken/test-kraken-websocket.d.ts.map +0 -1
  123. package/dist/exchanges/kraken/test-kraken-websocket.js +0 -413
  124. package/dist/exchanges/kraken/test-kraken-websocket.js.map +0 -1
  125. package/dist/mcp/resources/index.d.ts +0 -3
  126. package/dist/mcp/resources/index.d.ts.map +0 -1
  127. package/dist/mcp/resources/index.js +0 -11
  128. package/dist/mcp/resources/index.js.map +0 -1
  129. package/dist/mcp/server.d.ts +0 -4
  130. package/dist/mcp/server.d.ts.map +0 -1
  131. package/dist/mcp/server.js +0 -29
  132. package/dist/mcp/server.js.map +0 -1
  133. package/dist/mcp/tools/index.d.ts +0 -3
  134. package/dist/mcp/tools/index.d.ts.map +0 -1
  135. package/dist/mcp/tools/index.js +0 -12
  136. package/dist/mcp/tools/index.js.map +0 -1
  137. package/dist/tests/fixtures/test-helpers.d.ts +0 -5
  138. package/dist/tests/fixtures/test-helpers.d.ts.map +0 -1
  139. package/dist/tests/fixtures/test-helpers.js +0 -8
  140. package/dist/tests/fixtures/test-helpers.js.map +0 -1
  141. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.d.ts +0 -2
  142. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.d.ts.map +0 -1
  143. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.js +0 -237
  144. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.js.map +0 -1
  145. package/dist/tests/integration/price-aggregation/cardano-price-service.test.d.ts +0 -2
  146. package/dist/tests/integration/price-aggregation/cardano-price-service.test.d.ts.map +0 -1
  147. package/dist/tests/integration/price-aggregation/cardano-price-service.test.js +0 -57
  148. package/dist/tests/integration/price-aggregation/cardano-price-service.test.js.map +0 -1
  149. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.d.ts +0 -2
  150. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.d.ts.map +0 -1
  151. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.js +0 -141
  152. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.js.map +0 -1
  153. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.d.ts +0 -2
  154. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.d.ts.map +0 -1
  155. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.js +0 -375
  156. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.js.map +0 -1
  157. package/dist/tests/unit/cli/exchange-factory.test.d.ts +0 -2
  158. package/dist/tests/unit/cli/exchange-factory.test.d.ts.map +0 -1
  159. package/dist/tests/unit/cli/exchange-factory.test.js +0 -148
  160. package/dist/tests/unit/cli/exchange-factory.test.js.map +0 -1
  161. package/dist/tests/unit/config/environment.test.d.ts +0 -2
  162. package/dist/tests/unit/config/environment.test.d.ts.map +0 -1
  163. package/dist/tests/unit/config/environment.test.js +0 -158
  164. package/dist/tests/unit/config/environment.test.js.map +0 -1
  165. package/dist/tests/unit/config/launcher-config.test.d.ts +0 -2
  166. package/dist/tests/unit/config/launcher-config.test.d.ts.map +0 -1
  167. package/dist/tests/unit/config/launcher-config.test.js +0 -117
  168. package/dist/tests/unit/config/launcher-config.test.js.map +0 -1
  169. package/dist/tests/unit/config/price-aggregation.test.d.ts +0 -2
  170. package/dist/tests/unit/config/price-aggregation.test.d.ts.map +0 -1
  171. package/dist/tests/unit/config/price-aggregation.test.js +0 -144
  172. package/dist/tests/unit/config/price-aggregation.test.js.map +0 -1
  173. package/dist/tests/unit/core/exchange/base-exchange-connector.test.d.ts +0 -2
  174. package/dist/tests/unit/core/exchange/base-exchange-connector.test.d.ts.map +0 -1
  175. package/dist/tests/unit/core/exchange/base-exchange-connector.test.js +0 -191
  176. package/dist/tests/unit/core/exchange/base-exchange-connector.test.js.map +0 -1
  177. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.d.ts +0 -2
  178. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.d.ts.map +0 -1
  179. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.js +0 -324
  180. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.js.map +0 -1
  181. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.d.ts +0 -2
  182. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.d.ts.map +0 -1
  183. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.js +0 -177
  184. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.js.map +0 -1
  185. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.d.ts +0 -2
  186. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.d.ts.map +0 -1
  187. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.js +0 -168
  188. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.js.map +0 -1
  189. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.d.ts +0 -2
  190. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.d.ts.map +0 -1
  191. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.js +0 -217
  192. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.js.map +0 -1
  193. package/dist/tests/unit/core/price-aggregation/price-calculator.test.d.ts +0 -2
  194. package/dist/tests/unit/core/price-aggregation/price-calculator.test.d.ts.map +0 -1
  195. package/dist/tests/unit/core/price-aggregation/price-calculator.test.js +0 -229
  196. package/dist/tests/unit/core/price-aggregation/price-calculator.test.js.map +0 -1
  197. package/dist/tests/unit/core/risk-management/risk-manager.test.d.ts +0 -2
  198. package/dist/tests/unit/core/risk-management/risk-manager.test.d.ts.map +0 -1
  199. package/dist/tests/unit/core/risk-management/risk-manager.test.js +0 -194
  200. package/dist/tests/unit/core/risk-management/risk-manager.test.js.map +0 -1
  201. package/dist/tests/unit/core/strategy/base-strategy.test.d.ts +0 -2
  202. package/dist/tests/unit/core/strategy/base-strategy.test.d.ts.map +0 -1
  203. package/dist/tests/unit/core/strategy/base-strategy.test.js +0 -254
  204. package/dist/tests/unit/core/strategy/base-strategy.test.js.map +0 -1
  205. package/dist/tests/unit/core/strategy/strategy-factory.test.d.ts +0 -2
  206. package/dist/tests/unit/core/strategy/strategy-factory.test.d.ts.map +0 -1
  207. package/dist/tests/unit/core/strategy/strategy-factory.test.js +0 -213
  208. package/dist/tests/unit/core/strategy/strategy-factory.test.js.map +0 -1
  209. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.d.ts +0 -2
  210. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.d.ts.map +0 -1
  211. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.js +0 -452
  212. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.js.map +0 -1
  213. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.d.ts +0 -2
  214. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.d.ts.map +0 -1
  215. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.js +0 -1419
  216. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.js.map +0 -1
  217. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.d.ts +0 -2
  218. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.d.ts.map +0 -1
  219. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.js +0 -435
  220. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.js.map +0 -1
  221. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.d.ts +0 -2
  222. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.d.ts.map +0 -1
  223. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.js +0 -314
  224. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.js.map +0 -1
  225. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.d.ts +0 -2
  226. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.d.ts.map +0 -1
  227. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.js +0 -178
  228. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.js.map +0 -1
  229. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.d.ts +0 -2
  230. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.d.ts.map +0 -1
  231. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.js +0 -502
  232. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.js.map +0 -1
  233. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.d.ts +0 -2
  234. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.d.ts.map +0 -1
  235. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.js +0 -317
  236. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.js.map +0 -1
  237. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.d.ts +0 -2
  238. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.d.ts.map +0 -1
  239. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.js +0 -843
  240. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.js.map +0 -1
  241. package/dist/tests/unit/strategies/grid/grid-calculator.test.d.ts +0 -2
  242. package/dist/tests/unit/strategies/grid/grid-calculator.test.d.ts.map +0 -1
  243. package/dist/tests/unit/strategies/grid/grid-calculator.test.js +0 -67
  244. package/dist/tests/unit/strategies/grid/grid-calculator.test.js.map +0 -1
  245. package/dist/tests/unit/strategies/grid/grid-order-manager.test.d.ts +0 -2
  246. package/dist/tests/unit/strategies/grid/grid-order-manager.test.d.ts.map +0 -1
  247. package/dist/tests/unit/strategies/grid/grid-order-manager.test.js +0 -211
  248. package/dist/tests/unit/strategies/grid/grid-order-manager.test.js.map +0 -1
  249. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.d.ts +0 -2
  250. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.d.ts.map +0 -1
  251. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.js +0 -197
  252. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.js.map +0 -1
  253. package/dist/tests/unit/strategies/grid/grid-strategy.test.d.ts +0 -2
  254. package/dist/tests/unit/strategies/grid/grid-strategy.test.d.ts.map +0 -1
  255. package/dist/tests/unit/strategies/grid/grid-strategy.test.js +0 -429
  256. package/dist/tests/unit/strategies/grid/grid-strategy.test.js.map +0 -1
  257. package/dist/tests/unit/utils/logger.test.d.ts +0 -2
  258. package/dist/tests/unit/utils/logger.test.d.ts.map +0 -1
  259. package/dist/tests/unit/utils/logger.test.js +0 -260
  260. package/dist/tests/unit/utils/logger.test.js.map +0 -1
  261. package/dist/tests/unit/utils/symbol-utils.test.d.ts +0 -2
  262. package/dist/tests/unit/utils/symbol-utils.test.d.ts.map +0 -1
  263. package/dist/tests/unit/utils/symbol-utils.test.js +0 -178
  264. package/dist/tests/unit/utils/symbol-utils.test.js.map +0 -1
  265. package/dist/types/price-aggregation.d.ts +0 -31
  266. package/dist/types/price-aggregation.d.ts.map +0 -1
  267. package/dist/types/price-aggregation.js +0 -6
  268. package/dist/types/price-aggregation.js.map +0 -1
  269. package/dist/utils/crypto.d.ts +0 -15
  270. package/dist/utils/crypto.d.ts.map +0 -1
  271. package/dist/utils/crypto.js +0 -50
  272. package/dist/utils/crypto.js.map +0 -1
  273. package/dist/utils/validation.d.ts +0 -36
  274. package/dist/utils/validation.d.ts.map +0 -1
  275. package/dist/utils/validation.js +0 -174
  276. package/dist/utils/validation.js.map +0 -1
package/README.md CHANGED
@@ -1,12 +1,17 @@
1
1
  # OpenMM - Cardano's Universal Market Making Toolkit
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/@3rd-eye-labs/openmm)](https://www.npmjs.com/package/@3rd-eye-labs/openmm)
4
+ [![npm downloads](https://img.shields.io/npm/dm/@3rd-eye-labs/openmm)](https://www.npmjs.com/package/@3rd-eye-labs/openmm)
5
+ [![license](https://img.shields.io/npm/l/@3rd-eye-labs/openmm)](https://github.com/3rd-Eye-Labs/OpenMM/blob/main/LICENSE)
6
+ [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/3rd-Eye-Labs/OpenMM)
7
+
3
8
  OpenMM is an open-source SDK designed to democratize market-making for Cardano projects. It provides a unified interface for trading Cardano Native Tokens (CNTs) across multiple centralized exchanges.
4
9
 
5
10
  ## What is OpenMM?
6
11
 
7
12
  Traditional market-making services are expensive and fragmented, making it difficult for smaller Cardano projects to maintain healthy liquidity. OpenMM solves this by offering:
8
13
 
9
- - **Multi-Exchange Support**: Trade on MEXC, Gate.io, Bitget, Kraken and more through a single interface
14
+ - **Multi-Exchange Support**: 13 tools that work across 4 exchanges (MEXC, Gate.io, Bitget, Kraken) for any trading pair one interface, unlimited assets
10
15
  - **Advanced Strategies**: Grid trading, liquidity provision, and dynamic rebalancing
11
16
  - **Complete CNT Integration**: Full support for Cardano Native Tokens
12
17
 
package/dist/cli/cli.js CHANGED
@@ -11,9 +11,11 @@ const orders_1 = require("./commands/orders");
11
11
  const ticker_1 = require("./commands/ticker");
12
12
  const orderbook_1 = require("./commands/orderbook");
13
13
  const trades_1 = require("./commands/trades");
14
+ const ohlcv_1 = require("./commands/ohlcv");
14
15
  const pool_discovery_1 = require("./commands/pool-discovery");
15
16
  const trade_1 = require("./commands/trade");
16
17
  const price_comparison_1 = require("./commands/price-comparison");
18
+ const wallet_1 = require("./commands/wallet");
17
19
  const program = new commander_1.Command();
18
20
  program.name('openmm').description('OpenMM - Universal Market Making Toolkit').version('1.0.0');
19
21
  program.addCommand(balance_1.balanceCommand);
@@ -21,9 +23,11 @@ program.addCommand(orders_1.ordersCommand);
21
23
  program.addCommand(ticker_1.tickerCommand);
22
24
  program.addCommand(orderbook_1.orderbookCommand);
23
25
  program.addCommand(trades_1.tradesCommand);
26
+ program.addCommand(ohlcv_1.ohlcvCommand);
24
27
  program.addCommand(pool_discovery_1.poolDiscoveryCommand);
25
28
  program.addCommand(trade_1.tradeCommand);
26
29
  program.addCommand(price_comparison_1.priceComparisonCommand);
30
+ program.addCommand(wallet_1.walletCommand);
27
31
  program.exitOverride(err => {
28
32
  if (err.code === 'commander.unknownCommand') {
29
33
  console.error(chalk_1.default.red(`Unknown command: ${err.message}`));
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,kDAA0B;AAC1B,gDAAoD;AACpD,8CAAkD;AAClD,8CAAkD;AAClD,oDAAwD;AACxD,8CAAkD;AAClD,8DAAiE;AACjE,4CAAgD;AAChD,kEAAqE;AAErE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,0CAA0C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhG,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,4BAAgB,CAAC,CAAC;AACrC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,qCAAoB,CAAC,CAAC;AACzC,OAAO,CAAC,UAAU,CAAC,oBAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,yCAAsB,CAAC,CAAC;AAE3C,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;IACzB,IAAI,GAAG,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,oBAAoB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,GAAG,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IAC9B,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,kDAA0B;AAC1B,gDAAoD;AACpD,8CAAkD;AAClD,8CAAkD;AAClD,oDAAwD;AACxD,8CAAkD;AAClD,4CAAgD;AAChD,8DAAiE;AACjE,4CAAgD;AAChD,kEAAqE;AACrE,8CAAkD;AAElD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,0CAA0C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhG,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,4BAAgB,CAAC,CAAC;AACrC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,oBAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,qCAAoB,CAAC,CAAC;AACzC,OAAO,CAAC,UAAU,CAAC,oBAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,yCAAsB,CAAC,CAAC;AAC3C,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAElC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;IACzB,IAAI,GAAG,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,oBAAoB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,GAAG,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IAC9B,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const ohlcvCommand: Command;
3
+ //# sourceMappingURL=ohlcv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ohlcv.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ohlcv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,eAAO,MAAM,YAAY,SAqGrB,CAAC"}
@@ -0,0 +1,115 @@
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.ohlcvCommand = void 0;
7
+ const commander_1 = require("commander");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const exchange_factory_1 = require("../exchange-factory");
10
+ const validation_1 = require("../utils/validation");
11
+ const error_handler_1 = require("../utils/error-handler");
12
+ const VALID_TIMEFRAMES = ['1m', '5m', '15m', '30m', '1h', '4h', '1d', '1w'];
13
+ function validateTimeframe(timeframe) {
14
+ if (!VALID_TIMEFRAMES.includes(timeframe)) {
15
+ console.error(chalk_1.default.red(`❌ Invalid timeframe: ${timeframe}`));
16
+ console.log(chalk_1.default.yellow(`Valid timeframes: ${VALID_TIMEFRAMES.join(', ')}`));
17
+ process.exit(1);
18
+ }
19
+ return timeframe;
20
+ }
21
+ exports.ohlcvCommand = new commander_1.Command('ohlcv')
22
+ .description('Get historical OHLCV (candlestick) data for a trading pair')
23
+ .requiredOption('-e, --exchange <exchange>', 'Exchange to query')
24
+ .requiredOption('-s, --symbol <symbol>', 'Trading pair symbol (e.g., BTC/USDT)')
25
+ .option('-t, --timeframe <timeframe>', 'Candle timeframe (1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w)', '1h')
26
+ .option('-l, --limit <limit>', 'Number of candles to fetch (default: 100, max: 1000)', '100')
27
+ .option('--json', 'Output in JSON format')
28
+ .action(async (options) => {
29
+ await (0, error_handler_1.executeCommand)(async () => {
30
+ const exchange = (0, validation_1.validateExchange)(options.exchange);
31
+ const symbol = (0, validation_1.validateSymbol)(options.symbol);
32
+ const timeframe = validateTimeframe(options.timeframe);
33
+ const limit = parseInt(options.limit);
34
+ if (isNaN(limit) || limit <= 0) {
35
+ console.error(chalk_1.default.red('❌ Limit must be a positive number'));
36
+ process.exit(1);
37
+ }
38
+ if (limit > 1000) {
39
+ console.error(chalk_1.default.red('❌ Limit cannot exceed 1000'));
40
+ process.exit(1);
41
+ }
42
+ try {
43
+ const connector = await exchange_factory_1.ExchangeFactory.getExchange(exchange);
44
+ const ohlcv = await connector.getOHLCV(symbol, timeframe, limit);
45
+ if (options.json) {
46
+ console.log(JSON.stringify(ohlcv, null, 2));
47
+ }
48
+ else {
49
+ if (ohlcv.length === 0) {
50
+ console.log(chalk_1.default.yellow(`No OHLCV data found for ${symbol}`));
51
+ return;
52
+ }
53
+ console.log(`\n${chalk_1.default.bold.cyan(`${symbol} OHLCV Data`)} (${timeframe}, ${ohlcv.length} candles):`);
54
+ console.log(chalk_1.default.gray('Date/Time │ Open │ High │ Low │ Close │ Volume'));
55
+ console.log(chalk_1.default.gray('─────────────────────┼──────────────┼──────────────┼──────────────┼──────────────┼──────────────'));
56
+ // Show last 20 candles in table format, or all if less than 20
57
+ const displayCandles = ohlcv.slice(-20);
58
+ displayCandles.forEach(candle => {
59
+ const date = new Date(candle.timestamp).toLocaleString('en-US', {
60
+ month: '2-digit',
61
+ day: '2-digit',
62
+ hour: '2-digit',
63
+ minute: '2-digit',
64
+ });
65
+ const dateStr = date.padEnd(20);
66
+ const open = candle.open.toFixed(8).padStart(12);
67
+ const high = candle.high.toFixed(8).padStart(12);
68
+ const low = candle.low.toFixed(8).padStart(12);
69
+ const close = candle.close.toFixed(8).padStart(12);
70
+ const volume = candle.volume.toLocaleString(undefined, { maximumFractionDigits: 2 }).padStart(12);
71
+ // Color based on candle direction
72
+ const priceColor = candle.close >= candle.open ? chalk_1.default.green : chalk_1.default.red;
73
+ console.log(`${dateStr} │ ${priceColor(open)} │ ${priceColor(high)} │ ${priceColor(low)} │ ${priceColor(close)} │ ${chalk_1.default.blue(volume)}`);
74
+ });
75
+ // Summary stats
76
+ const latestCandle = ohlcv[ohlcv.length - 1];
77
+ const oldestCandle = ohlcv[0];
78
+ const highestHigh = Math.max(...ohlcv.map(c => c.high));
79
+ const lowestLow = Math.min(...ohlcv.map(c => c.low));
80
+ const totalVolume = ohlcv.reduce((sum, c) => sum + c.volume, 0);
81
+ const priceChange = latestCandle.close - oldestCandle.open;
82
+ const priceChangePercent = (priceChange / oldestCandle.open) * 100;
83
+ console.log(`\n${chalk_1.default.bold('Summary')}:`);
84
+ console.log(` Period: ${new Date(oldestCandle.timestamp).toLocaleString()} - ${new Date(latestCandle.timestamp).toLocaleString()}`);
85
+ console.log(` Highest High: ${chalk_1.default.green('$' + highestHigh.toFixed(8))}`);
86
+ console.log(` Lowest Low: ${chalk_1.default.red('$' + lowestLow.toFixed(8))}`);
87
+ console.log(` Total Volume: ${chalk_1.default.blue(totalVolume.toLocaleString(undefined, { maximumFractionDigits: 2 }))}`);
88
+ const changeColor = priceChange >= 0 ? chalk_1.default.green : chalk_1.default.red;
89
+ const changeSign = priceChange >= 0 ? '+' : '';
90
+ console.log(` Price Change: ${changeColor(changeSign + priceChange.toFixed(8) + ' (' + changeSign + priceChangePercent.toFixed(2) + '%)')}`);
91
+ }
92
+ }
93
+ catch (error) {
94
+ (0, error_handler_1.handleError)(error, 'OHLCV Query');
95
+ }
96
+ }, 'ohlcv command');
97
+ });
98
+ exports.ohlcvCommand.addHelpText('after', `
99
+ Examples:
100
+ $ openmm ohlcv --exchange mexc --symbol BTC/USDT # Get 100 hourly candles
101
+ $ openmm ohlcv --exchange mexc --symbol BTC/USDT --timeframe 1h --limit 500
102
+ $ openmm ohlcv --exchange kraken --symbol BTC/USD --timeframe 1d --limit 100 --json
103
+ $ openmm ohlcv -e gateio -s ETH/USDT -t 4h -l 200
104
+
105
+ Supported Timeframes:
106
+ 1m - 1 minute
107
+ 5m - 5 minutes
108
+ 15m - 15 minutes
109
+ 30m - 30 minutes
110
+ 1h - 1 hour
111
+ 4h - 4 hours
112
+ 1d - 1 day
113
+ 1w - 1 week
114
+ `);
115
+ //# sourceMappingURL=ohlcv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ohlcv.js","sourceRoot":"","sources":["../../../src/cli/commands/ohlcv.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pool-discovery.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pool-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,oBAAoB,SA0D9B,CAAC"}
1
+ {"version":3,"file":"pool-discovery.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pool-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,oBAAoB,SAkE9B,CAAC"}
@@ -13,6 +13,7 @@ exports.poolDiscoveryCommand = new commander_1.Command('pool-discovery')
13
13
  .option('--limit <number>', 'Limit number of pools shown', '10')
14
14
  .option('--min-liquidity <number>', 'Filter pools by minimum TVL')
15
15
  .option('--show-all', 'Show all pools (ignore limit)')
16
+ .option('--json', 'Output in JSON format')
16
17
  .action(async (token, options) => {
17
18
  await (0, error_handler_1.executeCommand)(async () => {
18
19
  const cli = new pool_discovery_core_1.PoolDiscoveryCLI();
@@ -20,9 +21,15 @@ exports.poolDiscoveryCommand = new commander_1.Command('pool-discovery')
20
21
  limit: parseInt(options.limit),
21
22
  minLiquidity: options.minLiquidity ? parseInt(options.minLiquidity) : undefined,
22
23
  showAll: options.showAll || false,
24
+ json: options.json || false,
23
25
  };
24
26
  const result = await cli.discoverTokenPools(token, discoverOptions);
25
- cli.displayResults(result);
27
+ if (options.json) {
28
+ console.log(JSON.stringify(result, null, 2));
29
+ }
30
+ else {
31
+ cli.displayResults(result);
32
+ }
26
33
  }, 'pool-discovery discover');
27
34
  }))
28
35
  .addCommand(new commander_1.Command('supported').description('List all supported tokens').action(async () => {
@@ -37,11 +44,13 @@ exports.poolDiscoveryCommand = new commander_1.Command('pool-discovery')
37
44
  .addCommand(new commander_1.Command('prices')
38
45
  .description('Get live prices for token pools')
39
46
  .argument('<token>', 'Token symbol')
40
- .action(async (token) => {
47
+ .option('--json', 'Output in JSON format')
48
+ .action(async (token, options) => {
41
49
  await (0, error_handler_1.executeCommand)(async () => {
42
50
  const cli = new pool_discovery_core_1.PoolDiscoveryCLI();
43
- const result = await cli.discoverTokenPools(token, { limit: 3 });
44
- await cli.getPoolPrices(result.recommendedIdentifiers, token);
51
+ const json = options.json || false;
52
+ const result = await cli.discoverTokenPools(token, { limit: 3, json });
53
+ await cli.getPoolPrices(result.recommendedIdentifiers, token, json);
45
54
  }, 'pool-discovery prices');
46
55
  }))
47
56
  .addCommand(new commander_1.Command('custom')
@@ -1 +1 @@
1
- {"version":3,"file":"pool-discovery.js","sourceRoot":"","sources":["../../../src/cli/commands/pool-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool-discovery.js","sourceRoot":"","sources":["../../../src/cli/commands/pool-discovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * OpenMM Wallet CLI Commands
3
+ * Manage x402 payment wallets for EVM and Solana chains.
4
+ */
5
+ import { Command } from 'commander';
6
+ export declare const walletCommand: Command;
7
+ //# sourceMappingURL=wallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/wallet.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,eAAO,MAAM,aAAa,SAoBvB,CAAC"}
@@ -0,0 +1,271 @@
1
+ "use strict";
2
+ /**
3
+ * OpenMM Wallet CLI Commands
4
+ * Manage x402 payment wallets for EVM and Solana chains.
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.walletCommand = void 0;
11
+ const commander_1 = require("commander");
12
+ const chalk_1 = __importDefault(require("chalk"));
13
+ const x402_1 = require("../../x402");
14
+ exports.walletCommand = new commander_1.Command('wallet')
15
+ .description('Manage x402 payment wallets')
16
+ .addHelpText('after', `
17
+ Examples:
18
+ $ openmm wallet create my-wallet # Create new wallet (requires OPENMM_WALLET_PASSWORD)
19
+ $ openmm wallet create --unsafe-no-password # Create unencrypted wallet (NOT RECOMMENDED)
20
+ $ openmm wallet list # List all wallets
21
+ $ openmm wallet show my-wallet # Show wallet addresses
22
+ $ openmm wallet balance # Check default wallet USDC balance
23
+ $ openmm wallet default my-wallet # Set default wallet
24
+ $ openmm wallet fund # Show deposit addresses
25
+ $ openmm wallet export my-wallet # Export private keys (DANGER)
26
+ $ openmm wallet delete my-wallet # Delete a wallet
27
+
28
+ Environment:
29
+ OPENMM_WALLET_PASSWORD Wallet encryption password (required for create/export/delete)
30
+ OPENMM_BASE_RPC Custom Base network RPC endpoint
31
+ `);
32
+ // Create wallet
33
+ exports.walletCommand
34
+ .command('create [name]')
35
+ .description('Create a new wallet pair (EVM + Solana)')
36
+ .option('--unsafe-no-password', 'Store keys unencrypted (NOT RECOMMENDED)')
37
+ .option('--json', 'Output in JSON format')
38
+ .action(async (name, options) => {
39
+ const walletName = name || 'default';
40
+ let password;
41
+ if (options.unsafeNoPassword) {
42
+ console.error(chalk_1.default.yellow('WARNING: --unsafe-no-password is set. Private keys will be stored UNENCRYPTED on disk.\n' +
43
+ 'Anyone with access to this machine can steal your funds.'));
44
+ password = null;
45
+ }
46
+ else {
47
+ password = (0, x402_1.resolvePassword)();
48
+ if (!password) {
49
+ console.error(chalk_1.default.red('Error: OPENMM_WALLET_PASSWORD environment variable is required.\n\n') +
50
+ 'Set it before creating a wallet:\n' +
51
+ chalk_1.default.cyan(' export OPENMM_WALLET_PASSWORD="your-secure-password-here"\n') +
52
+ ' openmm wallet create ' +
53
+ walletName +
54
+ '\n\n' +
55
+ 'Password must be at least 12 characters.\n' +
56
+ 'Or use --unsafe-no-password to skip encryption (NOT RECOMMENDED).');
57
+ process.exit(1);
58
+ }
59
+ }
60
+ try {
61
+ const result = (0, x402_1.createWallet)(walletName, password);
62
+ if (options.json) {
63
+ console.log(JSON.stringify(result, null, 2));
64
+ }
65
+ else {
66
+ console.log(chalk_1.default.green(`\n✓ Wallet "${result.name}" created\n`));
67
+ console.log(` EVM: ${result.evm}`);
68
+ console.log(` Solana: ${result.solana}`);
69
+ if (result.isDefault)
70
+ console.log(chalk_1.default.cyan(' ★ Set as default wallet'));
71
+ console.log('');
72
+ console.log(chalk_1.default.yellow(' Fund this wallet to start making API calls:'));
73
+ console.log(` Base: send USDC to ${result.evm}`);
74
+ console.log(` Solana: send USDC to ${result.solana}`);
75
+ console.log('');
76
+ if (password === null) {
77
+ console.log(chalk_1.default.red(' ⚠️ This is an UNENCRYPTED hot wallet — private keys are stored in plaintext on disk.'));
78
+ }
79
+ }
80
+ }
81
+ catch (error) {
82
+ console.error(chalk_1.default.red(`Error: ${error.message}`));
83
+ process.exit(1);
84
+ }
85
+ });
86
+ // List wallets
87
+ exports.walletCommand
88
+ .command('list')
89
+ .description('List all wallets')
90
+ .option('--json', 'Output in JSON format')
91
+ .action((options) => {
92
+ const result = (0, x402_1.listWallets)();
93
+ if (options.json) {
94
+ console.log(JSON.stringify(result, null, 2));
95
+ return;
96
+ }
97
+ if (result.wallets.length === 0) {
98
+ console.log(chalk_1.default.yellow('No wallets found. Create one with: openmm wallet create'));
99
+ return;
100
+ }
101
+ console.log('');
102
+ for (const w of result.wallets) {
103
+ const star = w.isDefault ? chalk_1.default.cyan(' ★') : '';
104
+ console.log(` ${w.name}${star}`);
105
+ console.log(` EVM: ${w.evm}`);
106
+ console.log(` Solana: ${w.solana || 'N/A'}`);
107
+ console.log('');
108
+ }
109
+ });
110
+ // Show wallet
111
+ exports.walletCommand
112
+ .command('show <name>')
113
+ .description('Show wallet addresses')
114
+ .option('--json', 'Output in JSON format')
115
+ .action((name, options) => {
116
+ try {
117
+ const result = (0, x402_1.showWallet)(name);
118
+ if (options.json) {
119
+ console.log(JSON.stringify(result, null, 2));
120
+ }
121
+ else {
122
+ const star = result.isDefault ? chalk_1.default.cyan(' ★') : '';
123
+ console.log(`\n ${result.name}${star}`);
124
+ console.log(` EVM: ${result.evm}`);
125
+ console.log(` Solana: ${result.solana || 'N/A'}`);
126
+ console.log(` Created: ${result.createdAt}\n`);
127
+ }
128
+ }
129
+ catch (error) {
130
+ console.error(chalk_1.default.red(`Error: ${error.message}`));
131
+ process.exit(1);
132
+ }
133
+ });
134
+ // Balance
135
+ exports.walletCommand
136
+ .command('balance')
137
+ .description('Check wallet USDC balance')
138
+ .option('--network <network>', 'Network to check (default: eip155:8453 for Base)', 'eip155:8453')
139
+ .option('--json', 'Output in JSON format')
140
+ .action(async (options) => {
141
+ try {
142
+ const result = await (0, x402_1.checkX402Balance)(options.network);
143
+ if (!result) {
144
+ console.error(chalk_1.default.red('Could not check balance. Make sure you have a default wallet.'));
145
+ process.exit(1);
146
+ }
147
+ if (options.json) {
148
+ console.log(JSON.stringify(result, null, 2));
149
+ }
150
+ else {
151
+ console.log('');
152
+ console.log(` Address: ${result.address}`);
153
+ console.log(` Network: ${result.network}`);
154
+ console.log(` Balance: ${chalk_1.default.green(result.balance.toFixed(6))} ${result.symbol}`);
155
+ console.log('');
156
+ }
157
+ }
158
+ catch (error) {
159
+ console.error(chalk_1.default.red(`Error: ${error.message}`));
160
+ process.exit(1);
161
+ }
162
+ });
163
+ // Fund
164
+ exports.walletCommand
165
+ .command('fund')
166
+ .description('Show deposit addresses for default wallet')
167
+ .action(() => {
168
+ const result = (0, x402_1.listWallets)();
169
+ if (!result.defaultWallet) {
170
+ console.error(chalk_1.default.red('No default wallet. Create one with: openmm wallet create'));
171
+ process.exit(1);
172
+ }
173
+ const wallet = result.wallets.find(w => w.name === result.defaultWallet);
174
+ if (!wallet) {
175
+ console.error(chalk_1.default.red('Default wallet not found.'));
176
+ process.exit(1);
177
+ }
178
+ console.log(chalk_1.default.cyan('\n Fund your wallet to enable x402 payments:\n'));
179
+ console.log(` ${chalk_1.default.bold('Base (EVM) - USDC:')}`);
180
+ console.log(` ${wallet.evm}\n`);
181
+ if (wallet.solana) {
182
+ console.log(` ${chalk_1.default.bold('Solana - USDC:')}`);
183
+ console.log(` ${wallet.solana}\n`);
184
+ }
185
+ console.log(chalk_1.default.dim(' Send USDC to the appropriate address for your network.\n'));
186
+ });
187
+ // Default
188
+ exports.walletCommand
189
+ .command('default <name>')
190
+ .description('Set the default wallet')
191
+ .action((name) => {
192
+ try {
193
+ const result = (0, x402_1.setDefaultWallet)(name);
194
+ console.log(chalk_1.default.green(`✓ Default wallet set to "${result.defaultWallet}"`));
195
+ }
196
+ catch (error) {
197
+ console.error(chalk_1.default.red(`Error: ${error.message}`));
198
+ process.exit(1);
199
+ }
200
+ });
201
+ // Export
202
+ exports.walletCommand
203
+ .command('export <name>')
204
+ .description('Export private keys (DANGER: handle with care)')
205
+ .option('--json', 'Output in JSON format')
206
+ .action((name, options) => {
207
+ const config = (0, x402_1.getWalletConfig)();
208
+ let password = null;
209
+ if (config.passwordHash) {
210
+ password = (0, x402_1.resolvePassword)();
211
+ if (!password) {
212
+ console.error(chalk_1.default.red('Error: OPENMM_WALLET_PASSWORD is required for encrypted wallets.'));
213
+ process.exit(1);
214
+ }
215
+ }
216
+ try {
217
+ const result = (0, x402_1.exportWallet)(name, password);
218
+ if (options.json) {
219
+ console.log(JSON.stringify(result, null, 2));
220
+ }
221
+ else {
222
+ console.log(chalk_1.default.red(`\n⚠️ Private keys for "${result.name}" — do not share!\n`));
223
+ console.log(` EVM:`);
224
+ console.log(` Address: ${result.evm.address}`);
225
+ console.log(` Private Key: ${result.evm.privateKey}`);
226
+ if (result.solana) {
227
+ console.log(` Solana:`);
228
+ console.log(` Address: ${result.solana.address}`);
229
+ console.log(` Private Key: ${result.solana.privateKey}`);
230
+ }
231
+ console.log('');
232
+ }
233
+ }
234
+ catch (error) {
235
+ console.error(chalk_1.default.red(`Error: ${error.message}`));
236
+ process.exit(1);
237
+ }
238
+ });
239
+ // Delete
240
+ exports.walletCommand
241
+ .command('delete <name>')
242
+ .description('Delete a wallet')
243
+ .option('--force', 'Skip confirmation')
244
+ .action((name, options) => {
245
+ const config = (0, x402_1.getWalletConfig)();
246
+ let password = null;
247
+ if (config.passwordHash) {
248
+ password = (0, x402_1.resolvePassword)();
249
+ if (!password) {
250
+ console.error(chalk_1.default.red('Error: OPENMM_WALLET_PASSWORD is required for encrypted wallets.'));
251
+ process.exit(1);
252
+ }
253
+ }
254
+ if (!options.force) {
255
+ console.log(chalk_1.default.yellow(`Warning: This will permanently delete wallet "${name}" and its private keys.`));
256
+ console.log(chalk_1.default.yellow('Use --force to skip this warning.'));
257
+ process.exit(1);
258
+ }
259
+ try {
260
+ const result = (0, x402_1.deleteWallet)(name, password);
261
+ console.log(chalk_1.default.green(`✓ Wallet "${result.deleted}" deleted`));
262
+ if (result.newDefault) {
263
+ console.log(` New default: ${result.newDefault}`);
264
+ }
265
+ }
266
+ catch (error) {
267
+ console.error(chalk_1.default.red(`Error: ${error.message}`));
268
+ process.exit(1);
269
+ }
270
+ });
271
+ //# sourceMappingURL=wallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../src/cli/commands/wallet.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,yCAAoC;AACpC,kDAA0B;AAC1B,qCAUoB;AAEP,QAAA,aAAa,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,6BAA6B,CAAC;KAC1C,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;CAeH,CACE,CAAC;AAEJ,gBAAgB;AAChB,qBAAa;KACV,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,sBAAsB,EAAE,0CAA0C,CAAC;KAC1E,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;KACzC,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,OAAuD,EAAE,EAAE;IAClG,MAAM,UAAU,GAAG,IAAI,IAAI,SAAS,CAAC;IAErC,IAAI,QAAuB,CAAC;IAC5B,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,MAAM,CACV,0FAA0F;YACxF,0DAA0D,CAC7D,CACF,CAAC;QACF,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,IAAA,sBAAe,GAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CAAC,qEAAqE,CAAC;gBAC9E,oCAAoC;gBACpC,eAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC;gBAC3E,yBAAyB;gBACzB,UAAU;gBACV,MAAM;gBACN,4CAA4C;gBAC5C,mEAAmE,CACtE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAElD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1C,IAAI,MAAM,CAAC,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CACP,yFAAyF,CAC1F,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAW,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,qBAAa;KACV,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,kBAAkB,CAAC;KAC/B,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;KACzC,MAAM,CAAC,CAAC,OAA2B,EAAE,EAAE;IACtC,MAAM,MAAM,GAAG,IAAA,kBAAW,GAAE,CAAC;IAE7B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yDAAyD,CAAC,CAAC,CAAC;QACrF,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,cAAc;AACd,qBAAa;KACV,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,uBAAuB,CAAC;KACpC,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;KACzC,MAAM,CAAC,CAAC,IAAY,EAAE,OAA2B,EAAE,EAAE;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAW,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,UAAU;AACV,qBAAa;KACV,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,qBAAqB,EAAE,kDAAkD,EAAE,aAAa,CAAC;KAChG,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;KACzC,MAAM,CAAC,KAAK,EAAE,OAA4C,EAAE,EAAE;IAC7D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAgB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC,CAAC;YAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CACT,cAAc,eAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CACxE,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAW,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;AACP,qBAAa;KACV,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,MAAM,GAAG,IAAA,kBAAW,GAAE,CAAC;IAE7B,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,aAAa,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC,CAAC;AACvF,CAAC,CAAC,CAAC;AAEL,UAAU;AACV,qBAAa;KACV,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;IACvB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,uBAAgB,EAAC,IAAI,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAW,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,SAAS;AACT,qBAAa;KACV,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;KACzC,MAAM,CAAC,CAAC,IAAY,EAAE,OAA2B,EAAE,EAAE;IACpD,MAAM,MAAM,GAAG,IAAA,sBAAe,GAAE,CAAC;IACjC,IAAI,QAAQ,GAAkB,IAAI,CAAC;IAEnC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,QAAQ,GAAG,IAAA,sBAAe,GAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAC9E,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE5C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,2BAA2B,MAAM,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC;YACpF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YACzD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAW,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,SAAS;AACT,qBAAa;KACV,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,iBAAiB,CAAC;KAC9B,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;KACtC,MAAM,CAAC,CAAC,IAAY,EAAE,OAA4B,EAAE,EAAE;IACrD,MAAM,MAAM,GAAG,IAAA,sBAAe,GAAE,CAAC;IACjC,IAAI,QAAQ,GAAkB,IAAI,CAAC;IAEnC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,QAAQ,GAAG,IAAA,sBAAe,GAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAC9E,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,iDAAiD,IAAI,yBAAyB,CAC/E,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC;QACjE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAW,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,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,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;KACd,GACL,OAAO,CAAC,eAAe,CAAC;IA2D3B;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IA2C7C;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2C9E;;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"}