@3rd-eye-labs/openmm 0.1.1 → 0.1.4

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 (273) hide show
  1. package/README.md +34 -1
  2. package/dist/cli/cli.js +55 -36
  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/setup.d.ts +3 -0
  9. package/dist/cli/commands/setup.d.ts.map +1 -0
  10. package/dist/cli/commands/setup.js +253 -0
  11. package/dist/cli/commands/setup.js.map +1 -0
  12. package/dist/cli/commands/wallet.d.ts +7 -0
  13. package/dist/cli/commands/wallet.d.ts.map +1 -0
  14. package/dist/cli/commands/wallet.js +271 -0
  15. package/dist/cli/commands/wallet.js.map +1 -0
  16. package/dist/core/exchange/base-exchange-connector.d.ts +2 -1
  17. package/dist/core/exchange/base-exchange-connector.d.ts.map +1 -1
  18. package/dist/core/exchange/base-exchange-connector.js.map +1 -1
  19. package/dist/exchanges/bitget/bitget-connector.d.ts +11 -1
  20. package/dist/exchanges/bitget/bitget-connector.d.ts.map +1 -1
  21. package/dist/exchanges/bitget/bitget-connector.js +52 -0
  22. package/dist/exchanges/bitget/bitget-connector.js.map +1 -1
  23. package/dist/exchanges/gateio/gateio-connector.d.ts +11 -1
  24. package/dist/exchanges/gateio/gateio-connector.d.ts.map +1 -1
  25. package/dist/exchanges/gateio/gateio-connector.js +54 -0
  26. package/dist/exchanges/gateio/gateio-connector.js.map +1 -1
  27. package/dist/exchanges/kraken/kraken-connector.d.ts +6 -1
  28. package/dist/exchanges/kraken/kraken-connector.d.ts.map +1 -1
  29. package/dist/exchanges/kraken/kraken-connector.js +44 -0
  30. package/dist/exchanges/kraken/kraken-connector.js.map +1 -1
  31. package/dist/exchanges/mexc/mexc-auth.d.ts +1 -0
  32. package/dist/exchanges/mexc/mexc-auth.d.ts.map +1 -1
  33. package/dist/exchanges/mexc/mexc-auth.js +4 -1
  34. package/dist/exchanges/mexc/mexc-auth.js.map +1 -1
  35. package/dist/exchanges/mexc/mexc-connector.d.ts +6 -1
  36. package/dist/exchanges/mexc/mexc-connector.d.ts.map +1 -1
  37. package/dist/exchanges/mexc/mexc-connector.js +37 -0
  38. package/dist/exchanges/mexc/mexc-connector.js.map +1 -1
  39. package/dist/index.d.ts +1 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +25 -1
  42. package/dist/index.js.map +1 -1
  43. package/dist/types/market.d.ts +15 -0
  44. package/dist/types/market.d.ts.map +1 -1
  45. package/dist/x402/crypto.d.ts +79 -0
  46. package/dist/x402/crypto.d.ts.map +1 -0
  47. package/dist/x402/crypto.js +300 -0
  48. package/dist/x402/crypto.js.map +1 -0
  49. package/dist/x402/evm.d.ts +41 -0
  50. package/dist/x402/evm.d.ts.map +1 -0
  51. package/dist/x402/evm.js +229 -0
  52. package/dist/x402/evm.js.map +1 -0
  53. package/dist/x402/handler.d.ts +53 -0
  54. package/dist/x402/handler.d.ts.map +1 -0
  55. package/dist/x402/handler.js +233 -0
  56. package/dist/x402/handler.js.map +1 -0
  57. package/dist/x402/index.d.ts +29 -0
  58. package/dist/x402/index.d.ts.map +1 -0
  59. package/dist/x402/index.js +67 -0
  60. package/dist/x402/index.js.map +1 -0
  61. package/dist/x402/types.d.ts +185 -0
  62. package/dist/x402/types.d.ts.map +1 -0
  63. package/dist/x402/types.js +7 -0
  64. package/dist/x402/types.js.map +1 -0
  65. package/dist/x402/wallet.d.ts +65 -0
  66. package/dist/x402/wallet.d.ts.map +1 -0
  67. package/dist/x402/wallet.js +282 -0
  68. package/dist/x402/wallet.js.map +1 -0
  69. package/package.json +1 -1
  70. package/dist/cli/commands/grid.d.ts +0 -3
  71. package/dist/cli/commands/grid.d.ts.map +0 -1
  72. package/dist/cli/commands/grid.js +0 -103
  73. package/dist/cli/commands/grid.js.map +0 -1
  74. package/dist/cli/commands/multi-trade.d.ts +0 -3
  75. package/dist/cli/commands/multi-trade.d.ts.map +0 -1
  76. package/dist/cli/commands/multi-trade.js +0 -175
  77. package/dist/cli/commands/multi-trade.js.map +0 -1
  78. package/dist/cli/pool-discovery.d.ts +0 -56
  79. package/dist/cli/pool-discovery.d.ts.map +0 -1
  80. package/dist/cli/pool-discovery.js +0 -283
  81. package/dist/cli/pool-discovery.js.map +0 -1
  82. package/dist/core/price-aggregation/price-cache.d.ts +0 -55
  83. package/dist/core/price-aggregation/price-cache.d.ts.map +0 -1
  84. package/dist/core/price-aggregation/price-cache.js +0 -152
  85. package/dist/core/price-aggregation/price-cache.js.map +0 -1
  86. package/dist/examples/mexc-connector-comprehensive-test.d.ts +0 -15
  87. package/dist/examples/mexc-connector-comprehensive-test.d.ts.map +0 -1
  88. package/dist/examples/mexc-connector-comprehensive-test.js +0 -514
  89. package/dist/examples/mexc-connector-comprehensive-test.js.map +0 -1
  90. package/dist/examples/mexc-order-update-test.d.ts +0 -4
  91. package/dist/examples/mexc-order-update-test.d.ts.map +0 -1
  92. package/dist/examples/mexc-order-update-test.js +0 -186
  93. package/dist/examples/mexc-order-update-test.js.map +0 -1
  94. package/dist/examples/mexc-test.d.ts +0 -9
  95. package/dist/examples/mexc-test.d.ts.map +0 -1
  96. package/dist/examples/mexc-test.js +0 -218
  97. package/dist/examples/mexc-test.js.map +0 -1
  98. package/dist/examples/mexc-trades-debug.d.ts +0 -2
  99. package/dist/examples/mexc-trades-debug.d.ts.map +0 -1
  100. package/dist/examples/mexc-trades-debug.js +0 -101
  101. package/dist/examples/mexc-trades-debug.js.map +0 -1
  102. package/dist/examples/mexc-trades-subscription-debug.d.ts +0 -2
  103. package/dist/examples/mexc-trades-subscription-debug.d.ts.map +0 -1
  104. package/dist/examples/mexc-trades-subscription-debug.js +0 -150
  105. package/dist/examples/mexc-trades-subscription-debug.js.map +0 -1
  106. package/dist/examples/mexc-websocket-test.d.ts +0 -8
  107. package/dist/examples/mexc-websocket-test.d.ts.map +0 -1
  108. package/dist/examples/mexc-websocket-test.js +0 -115
  109. package/dist/examples/mexc-websocket-test.js.map +0 -1
  110. package/dist/examples/test-protobuf-status-detection.d.ts +0 -9
  111. package/dist/examples/test-protobuf-status-detection.d.ts.map +0 -1
  112. package/dist/examples/test-protobuf-status-detection.js +0 -83
  113. package/dist/examples/test-protobuf-status-detection.js.map +0 -1
  114. package/dist/exchanges/base-exchange-connector.d.ts +0 -33
  115. package/dist/exchanges/base-exchange-connector.d.ts.map +0 -1
  116. package/dist/exchanges/base-exchange-connector.js +0 -55
  117. package/dist/exchanges/base-exchange-connector.js.map +0 -1
  118. package/dist/exchanges/kraken/test-kraken-websocket.d.ts +0 -19
  119. package/dist/exchanges/kraken/test-kraken-websocket.d.ts.map +0 -1
  120. package/dist/exchanges/kraken/test-kraken-websocket.js +0 -413
  121. package/dist/exchanges/kraken/test-kraken-websocket.js.map +0 -1
  122. package/dist/mcp/resources/index.d.ts +0 -3
  123. package/dist/mcp/resources/index.d.ts.map +0 -1
  124. package/dist/mcp/resources/index.js +0 -11
  125. package/dist/mcp/resources/index.js.map +0 -1
  126. package/dist/mcp/server.d.ts +0 -4
  127. package/dist/mcp/server.d.ts.map +0 -1
  128. package/dist/mcp/server.js +0 -29
  129. package/dist/mcp/server.js.map +0 -1
  130. package/dist/mcp/tools/index.d.ts +0 -3
  131. package/dist/mcp/tools/index.d.ts.map +0 -1
  132. package/dist/mcp/tools/index.js +0 -12
  133. package/dist/mcp/tools/index.js.map +0 -1
  134. package/dist/tests/fixtures/test-helpers.d.ts +0 -5
  135. package/dist/tests/fixtures/test-helpers.d.ts.map +0 -1
  136. package/dist/tests/fixtures/test-helpers.js +0 -8
  137. package/dist/tests/fixtures/test-helpers.js.map +0 -1
  138. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.d.ts +0 -2
  139. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.d.ts.map +0 -1
  140. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.js +0 -237
  141. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.js.map +0 -1
  142. package/dist/tests/integration/price-aggregation/cardano-price-service.test.d.ts +0 -2
  143. package/dist/tests/integration/price-aggregation/cardano-price-service.test.d.ts.map +0 -1
  144. package/dist/tests/integration/price-aggregation/cardano-price-service.test.js +0 -57
  145. package/dist/tests/integration/price-aggregation/cardano-price-service.test.js.map +0 -1
  146. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.d.ts +0 -2
  147. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.d.ts.map +0 -1
  148. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.js +0 -141
  149. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.js.map +0 -1
  150. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.d.ts +0 -2
  151. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.d.ts.map +0 -1
  152. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.js +0 -375
  153. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.js.map +0 -1
  154. package/dist/tests/unit/cli/exchange-factory.test.d.ts +0 -2
  155. package/dist/tests/unit/cli/exchange-factory.test.d.ts.map +0 -1
  156. package/dist/tests/unit/cli/exchange-factory.test.js +0 -148
  157. package/dist/tests/unit/cli/exchange-factory.test.js.map +0 -1
  158. package/dist/tests/unit/config/environment.test.d.ts +0 -2
  159. package/dist/tests/unit/config/environment.test.d.ts.map +0 -1
  160. package/dist/tests/unit/config/environment.test.js +0 -158
  161. package/dist/tests/unit/config/environment.test.js.map +0 -1
  162. package/dist/tests/unit/config/launcher-config.test.d.ts +0 -2
  163. package/dist/tests/unit/config/launcher-config.test.d.ts.map +0 -1
  164. package/dist/tests/unit/config/launcher-config.test.js +0 -117
  165. package/dist/tests/unit/config/launcher-config.test.js.map +0 -1
  166. package/dist/tests/unit/config/price-aggregation.test.d.ts +0 -2
  167. package/dist/tests/unit/config/price-aggregation.test.d.ts.map +0 -1
  168. package/dist/tests/unit/config/price-aggregation.test.js +0 -144
  169. package/dist/tests/unit/config/price-aggregation.test.js.map +0 -1
  170. package/dist/tests/unit/core/exchange/base-exchange-connector.test.d.ts +0 -2
  171. package/dist/tests/unit/core/exchange/base-exchange-connector.test.d.ts.map +0 -1
  172. package/dist/tests/unit/core/exchange/base-exchange-connector.test.js +0 -191
  173. package/dist/tests/unit/core/exchange/base-exchange-connector.test.js.map +0 -1
  174. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.d.ts +0 -2
  175. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.d.ts.map +0 -1
  176. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.js +0 -324
  177. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.js.map +0 -1
  178. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.d.ts +0 -2
  179. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.d.ts.map +0 -1
  180. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.js +0 -177
  181. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.js.map +0 -1
  182. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.d.ts +0 -2
  183. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.d.ts.map +0 -1
  184. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.js +0 -168
  185. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.js.map +0 -1
  186. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.d.ts +0 -2
  187. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.d.ts.map +0 -1
  188. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.js +0 -217
  189. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.js.map +0 -1
  190. package/dist/tests/unit/core/price-aggregation/price-calculator.test.d.ts +0 -2
  191. package/dist/tests/unit/core/price-aggregation/price-calculator.test.d.ts.map +0 -1
  192. package/dist/tests/unit/core/price-aggregation/price-calculator.test.js +0 -229
  193. package/dist/tests/unit/core/price-aggregation/price-calculator.test.js.map +0 -1
  194. package/dist/tests/unit/core/risk-management/risk-manager.test.d.ts +0 -2
  195. package/dist/tests/unit/core/risk-management/risk-manager.test.d.ts.map +0 -1
  196. package/dist/tests/unit/core/risk-management/risk-manager.test.js +0 -194
  197. package/dist/tests/unit/core/risk-management/risk-manager.test.js.map +0 -1
  198. package/dist/tests/unit/core/strategy/base-strategy.test.d.ts +0 -2
  199. package/dist/tests/unit/core/strategy/base-strategy.test.d.ts.map +0 -1
  200. package/dist/tests/unit/core/strategy/base-strategy.test.js +0 -254
  201. package/dist/tests/unit/core/strategy/base-strategy.test.js.map +0 -1
  202. package/dist/tests/unit/core/strategy/strategy-factory.test.d.ts +0 -2
  203. package/dist/tests/unit/core/strategy/strategy-factory.test.d.ts.map +0 -1
  204. package/dist/tests/unit/core/strategy/strategy-factory.test.js +0 -213
  205. package/dist/tests/unit/core/strategy/strategy-factory.test.js.map +0 -1
  206. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.d.ts +0 -2
  207. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.d.ts.map +0 -1
  208. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.js +0 -452
  209. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.js.map +0 -1
  210. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.d.ts +0 -2
  211. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.d.ts.map +0 -1
  212. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.js +0 -1419
  213. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.js.map +0 -1
  214. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.d.ts +0 -2
  215. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.d.ts.map +0 -1
  216. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.js +0 -435
  217. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.js.map +0 -1
  218. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.d.ts +0 -2
  219. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.d.ts.map +0 -1
  220. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.js +0 -314
  221. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.js.map +0 -1
  222. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.d.ts +0 -2
  223. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.d.ts.map +0 -1
  224. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.js +0 -178
  225. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.js.map +0 -1
  226. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.d.ts +0 -2
  227. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.d.ts.map +0 -1
  228. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.js +0 -502
  229. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.js.map +0 -1
  230. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.d.ts +0 -2
  231. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.d.ts.map +0 -1
  232. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.js +0 -317
  233. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.js.map +0 -1
  234. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.d.ts +0 -2
  235. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.d.ts.map +0 -1
  236. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.js +0 -843
  237. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.js.map +0 -1
  238. package/dist/tests/unit/strategies/grid/grid-calculator.test.d.ts +0 -2
  239. package/dist/tests/unit/strategies/grid/grid-calculator.test.d.ts.map +0 -1
  240. package/dist/tests/unit/strategies/grid/grid-calculator.test.js +0 -67
  241. package/dist/tests/unit/strategies/grid/grid-calculator.test.js.map +0 -1
  242. package/dist/tests/unit/strategies/grid/grid-order-manager.test.d.ts +0 -2
  243. package/dist/tests/unit/strategies/grid/grid-order-manager.test.d.ts.map +0 -1
  244. package/dist/tests/unit/strategies/grid/grid-order-manager.test.js +0 -211
  245. package/dist/tests/unit/strategies/grid/grid-order-manager.test.js.map +0 -1
  246. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.d.ts +0 -2
  247. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.d.ts.map +0 -1
  248. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.js +0 -197
  249. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.js.map +0 -1
  250. package/dist/tests/unit/strategies/grid/grid-strategy.test.d.ts +0 -2
  251. package/dist/tests/unit/strategies/grid/grid-strategy.test.d.ts.map +0 -1
  252. package/dist/tests/unit/strategies/grid/grid-strategy.test.js +0 -429
  253. package/dist/tests/unit/strategies/grid/grid-strategy.test.js.map +0 -1
  254. package/dist/tests/unit/utils/logger.test.d.ts +0 -2
  255. package/dist/tests/unit/utils/logger.test.d.ts.map +0 -1
  256. package/dist/tests/unit/utils/logger.test.js +0 -260
  257. package/dist/tests/unit/utils/logger.test.js.map +0 -1
  258. package/dist/tests/unit/utils/symbol-utils.test.d.ts +0 -2
  259. package/dist/tests/unit/utils/symbol-utils.test.d.ts.map +0 -1
  260. package/dist/tests/unit/utils/symbol-utils.test.js +0 -178
  261. package/dist/tests/unit/utils/symbol-utils.test.js.map +0 -1
  262. package/dist/types/price-aggregation.d.ts +0 -31
  263. package/dist/types/price-aggregation.d.ts.map +0 -1
  264. package/dist/types/price-aggregation.js +0 -6
  265. package/dist/types/price-aggregation.js.map +0 -1
  266. package/dist/utils/crypto.d.ts +0 -15
  267. package/dist/utils/crypto.d.ts.map +0 -1
  268. package/dist/utils/crypto.js +0 -50
  269. package/dist/utils/crypto.js.map +0 -1
  270. package/dist/utils/validation.d.ts +0 -36
  271. package/dist/utils/validation.d.ts.map +0 -1
  272. package/dist/utils/validation.js +0 -174
  273. package/dist/utils/validation.js.map +0 -1
@@ -1,186 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.testMexcOrderUpdates = testMexcOrderUpdates;
4
- require("dotenv/config");
5
- const mexc_connector_1 = require("../exchanges/mexc/mexc-connector");
6
- async function testMexcOrderUpdates() {
7
- const testCredentials = {
8
- apiKey: process.env.MEXC_API_KEY || '',
9
- secret: process.env.MEXC_SECRET || '',
10
- uid: process.env.MEXC_UID
11
- };
12
- if (!testCredentials.apiKey || !testCredentials.secret) {
13
- console.error('❌ MEXC API credentials not found. Please check your .env file.');
14
- return;
15
- }
16
- const mexc = new mexc_connector_1.MexcConnector();
17
- let orderUpdateCount = 0;
18
- const receivedOrderUpdates = [];
19
- try {
20
- console.log('🔧 Setting up MEXC connector...');
21
- mexc.setCredentials(testCredentials);
22
- console.log('🔌 Connecting to MEXC REST API...');
23
- await mexc.connect();
24
- console.log('🔌 Connecting to MEXC WebSocket...');
25
- await mexc.connectWebSocket();
26
- console.log('🔌 Connecting to MEXC User Data Stream...');
27
- await mexc.connectUserDataStream();
28
- console.log('✅ All connections established successfully!');
29
- console.log('📊 WebSocket Status:', mexc.getWebSocketStatus());
30
- console.log('📊 User Data Stream Connected:', mexc.isUserDataStreamConnected());
31
- console.log('');
32
- // Subscribe to user order updates
33
- console.log('👤 Subscribing to user order updates...');
34
- const userOrdersId = await mexc.subscribeUserOrders((order) => {
35
- orderUpdateCount++;
36
- const timestamp = new Date(order.timestamp).toISOString();
37
- console.log(`📋 Order Update #${orderUpdateCount} [${timestamp}]:`, {
38
- orderId: order.id,
39
- symbol: order.symbol,
40
- type: order.type,
41
- side: order.side,
42
- amount: order.amount,
43
- price: order.price,
44
- filled: order.filled,
45
- remaining: order.remaining,
46
- status: order.status
47
- });
48
- receivedOrderUpdates.push({
49
- updateNumber: orderUpdateCount,
50
- timestamp: order.timestamp,
51
- order: { ...order }
52
- });
53
- });
54
- console.log('✅ User orders subscription ID:', userOrdersId);
55
- console.log('');
56
- // Get current balance and market data
57
- console.log('💰 Getting current balances...');
58
- const balance = await mexc.getBalance('USDT');
59
- console.log('💰 USDT Balance:', balance);
60
- console.log('📊 Getting current ticker...');
61
- const ticker = await mexc.getTicker('INDY/USDT');
62
- console.log('📊 Current INDY/USDT ticker:', {
63
- last: ticker.last,
64
- bid: ticker.bid,
65
- ask: ticker.ask
66
- });
67
- console.log('');
68
- // Test 1: Create a limit buy order well below market price (unlikely to fill)
69
- console.log('🛒 Test 1: Creating limit buy order below market...');
70
- const testBuyPrice = ticker.bid * 0.8; // 20% below current bid
71
- const testAmount = 100; // 100 INDY
72
- if (balance.available < testBuyPrice * testAmount) {
73
- console.log('⚠️ Insufficient USDT balance for test order. Required:', testBuyPrice * testAmount, 'Available:', balance.available);
74
- console.log('📝 Skipping order creation test...');
75
- }
76
- else {
77
- console.log(`📝 Creating limit buy order: ${testAmount} INDY at $${testBuyPrice.toFixed(6)}`);
78
- try {
79
- const buyOrder = await mexc.createOrder('INDY/USDT', 'limit', 'buy', testAmount, testBuyPrice);
80
- console.log('✅ Buy order created:', {
81
- id: buyOrder.id,
82
- symbol: buyOrder.symbol,
83
- type: buyOrder.type,
84
- side: buyOrder.side,
85
- amount: buyOrder.amount,
86
- price: buyOrder.price,
87
- status: buyOrder.status
88
- });
89
- // Wait for order update via WebSocket
90
- console.log('⏰ Waiting 10 seconds for order creation update...');
91
- await new Promise(resolve => setTimeout(resolve, 10000));
92
- // Cancel the order
93
- console.log('❌ Cancelling the test order...');
94
- await mexc.cancelOrder(buyOrder.id, 'INDY/USDT');
95
- console.log('✅ Order cancellation request sent');
96
- // Wait for cancellation update
97
- console.log('⏰ Waiting 10 seconds for order cancellation update...');
98
- await new Promise(resolve => setTimeout(resolve, 10000));
99
- }
100
- catch (orderError) {
101
- console.log('⚠️ Order creation/cancellation failed:', orderError instanceof Error ? orderError.message : orderError);
102
- }
103
- }
104
- console.log('');
105
- // Test 2: Create and immediately cancel a limit sell order above market price
106
- console.log('💰 Test 2: Creating limit sell order above market...');
107
- const testSellPrice = ticker.ask * 1.2; // 20% above current ask
108
- const testSellAmount = 10; // 10 INDY
109
- try {
110
- // Check INDY balance first
111
- const indyBalance = await mexc.getBalance('INDY');
112
- console.log('💰 INDY Balance:', indyBalance);
113
- if (indyBalance.available >= testSellAmount) {
114
- console.log(`📝 Creating limit sell order: ${testSellAmount} INDY at $${testSellPrice.toFixed(6)}`);
115
- const sellOrder = await mexc.createOrder('INDY/USDT', 'limit', 'sell', testSellAmount, testSellPrice);
116
- console.log('✅ Sell order created:', {
117
- id: sellOrder.id,
118
- symbol: sellOrder.symbol,
119
- type: sellOrder.type,
120
- side: sellOrder.side,
121
- amount: sellOrder.amount,
122
- price: sellOrder.price,
123
- status: sellOrder.status
124
- });
125
- // Wait for order update
126
- console.log('⏰ Waiting 5 seconds for order creation update...');
127
- await new Promise(resolve => setTimeout(resolve, 5000));
128
- // Cancel the order quickly
129
- console.log('❌ Cancelling the test sell order...');
130
- await mexc.cancelOrder(sellOrder.id, 'INDY/USDT');
131
- console.log('✅ Sell order cancellation request sent');
132
- // Wait for cancellation update
133
- console.log('⏰ Waiting 10 seconds for final order updates...');
134
- await new Promise(resolve => setTimeout(resolve, 10000));
135
- }
136
- else {
137
- console.log(`⚠️ Insufficient INDY balance for sell test. Required: ${testSellAmount}, Available: ${indyBalance.available}`);
138
- }
139
- }
140
- catch (sellError) {
141
- console.log('⚠️ Sell order test failed:', sellError instanceof Error ? sellError.message : sellError);
142
- }
143
- console.log('');
144
- console.log('📊 Test Summary:');
145
- console.log(` - Total order updates received: ${orderUpdateCount}`);
146
- console.log(` - User data stream connected: ${mexc.isUserDataStreamConnected()}`);
147
- if (receivedOrderUpdates.length > 0) {
148
- console.log('');
149
- console.log('📋 All Received Order Updates:');
150
- receivedOrderUpdates.forEach((update, index) => {
151
- console.log(` ${index + 1}. [${new Date(update.timestamp).toISOString()}] Order ${update.order.id}: ${update.order.status}`);
152
- });
153
- console.log('✅ User data stream is working correctly!');
154
- }
155
- else {
156
- console.log('⚠️ No order updates received via WebSocket');
157
- console.log('🔍 This could indicate:');
158
- console.log(' 1. User data stream authentication issue');
159
- console.log(' 2. WebSocket message parsing problem');
160
- console.log(' 3. MEXC user data stream configuration issue');
161
- console.log(' 4. Orders may have been processed too quickly');
162
- }
163
- }
164
- catch (error) {
165
- console.error('❌ Error during order update test:', error);
166
- }
167
- finally {
168
- console.log('');
169
- console.log('🧹 Cleaning up connections...');
170
- try {
171
- await mexc.disconnectUserDataStream();
172
- console.log('✅ User data stream disconnected');
173
- }
174
- catch (error) {
175
- console.log('⚠️ Error disconnecting user data stream:', error);
176
- }
177
- await mexc.disconnect();
178
- console.log('✅ Order update test completed!');
179
- }
180
- }
181
- // Run the test
182
- if (require.main === module) {
183
- console.log('🚀 Starting MEXC Order Update Test with INDY Analytics approach...\n');
184
- testMexcOrderUpdates().catch(console.error);
185
- }
186
- //# sourceMappingURL=mexc-order-update-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mexc-order-update-test.js","sourceRoot":"","sources":["../../src/examples/mexc-order-update-test.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import 'dotenv/config';
2
- /**
3
- * Comprehensive test script to verify ALL MEXC connector functionality
4
- * Tests every method in the MexcConnector class including order creation/cancellation
5
- * Based on the pattern from your existing INDY Analytics setup
6
- */
7
- declare function testMexcConnector(): Promise<void>;
8
- export { testMexcConnector };
9
- //# sourceMappingURL=mexc-test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mexc-test.d.ts","sourceRoot":"","sources":["../../src/examples/mexc-test.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAKvB;;;;GAIG;AAEH,iBAAe,iBAAiB,kBA0N/B;AAYD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,218 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.testMexcConnector = testMexcConnector;
4
- require("dotenv/config");
5
- const mexc_connector_1 = require("../exchanges/mexc/mexc-connector");
6
- const logger_1 = require("../utils/logger");
7
- /**
8
- * Comprehensive test script to verify ALL MEXC connector functionality
9
- * Tests every method in the MexcConnector class including order creation/cancellation
10
- * Based on the pattern from your existing INDY Analytics setup
11
- */
12
- async function testMexcConnector() {
13
- const logger = (0, logger_1.createLogger)({
14
- level: 'info',
15
- service: 'mexc-test'
16
- });
17
- // Test credentials loaded from .env
18
- const testCredentials = {
19
- apiKey: process.env.MEXC_API_KEY || '',
20
- secret: process.env.MEXC_SECRET || '',
21
- uid: process.env.MEXC_UID
22
- };
23
- // Validate credentials
24
- if (!testCredentials.apiKey || !testCredentials.secret) {
25
- logger.error('MEXC API credentials not found. Please check your .env file.');
26
- return;
27
- }
28
- const mexc = new mexc_connector_1.MexcConnector();
29
- let testOrderId = null;
30
- try {
31
- logger.info('Setting up MEXC connector', { exchangeId: 'mexc' });
32
- mexc.setCredentials(testCredentials);
33
- logger.info('Connecting to MEXC', { exchangeId: 'mexc' });
34
- await mexc.connect();
35
- if (!mexc.isConnected()) {
36
- throw new Error('Failed to connect to MEXC');
37
- }
38
- logger.info('Connected to MEXC successfully', {
39
- exchangeId: mexc.id,
40
- exchangeName: mexc.name
41
- });
42
- // Test 1: Get Ticker
43
- logger.info('Test 1: Getting ticker', { symbol: 'INDY/USDT', test: 'ticker' });
44
- const ticker = await mexc.getTicker('INDY/USDT');
45
- logger.info('Ticker retrieved successfully', {
46
- symbol: 'INDY/USDT',
47
- price: ticker.last,
48
- bid: ticker.bid,
49
- ask: ticker.ask
50
- });
51
- // Test 2: Get Account Balance
52
- logger.info('Test 2: Getting account balance', { test: 'balance' });
53
- const balances = await mexc.getBalance();
54
- logger.info('Account balances retrieved', {
55
- assetsCount: Object.keys(balances).length
56
- });
57
- Object.entries(balances).forEach(([asset, balance]) => {
58
- logger.debug('Asset balance', {
59
- asset,
60
- free: balance.free,
61
- used: balance.used,
62
- total: balance.total
63
- });
64
- });
65
- // Test 3: Get Order Book
66
- logger.info('Test 3: Getting order book', { symbol: 'INDY/USDT', test: 'orderbook' });
67
- const orderBook = await mexc.getOrderBook('INDY/USDT');
68
- logger.info('Order book retrieved', {
69
- symbol: 'INDY/USDT',
70
- bidsCount: orderBook.bids.length,
71
- asksCount: orderBook.asks.length,
72
- bestBid: orderBook.bids[0]?.price,
73
- bestAsk: orderBook.asks[0]?.price
74
- });
75
- // Test 4: Get Recent Trades
76
- logger.info('Test 4: Getting recent trades', { symbol: 'INDY/USDT', test: 'trades' });
77
- const recentTrades = await mexc.getRecentTrades('INDY/USDT');
78
- logger.info('Recent trades retrieved', {
79
- symbol: 'INDY/USDT',
80
- tradesCount: recentTrades.length
81
- });
82
- if (recentTrades.length > 0) {
83
- logger.debug('Latest trade details', {
84
- symbol: 'INDY/USDT',
85
- price: recentTrades[0].price,
86
- amount: recentTrades[0].amount,
87
- side: recentTrades[0].side
88
- });
89
- }
90
- // Test 5: Get Open Orders (before creating new ones)
91
- logger.info('Test 5: Getting initial open orders', { symbol: 'INDY/USDT', test: 'openorders' });
92
- const initialOpenOrders = await mexc.getOpenOrders('INDY/USDT');
93
- logger.info('Initial open orders retrieved', {
94
- symbol: 'INDY/USDT',
95
- openOrdersCount: initialOpenOrders.length
96
- });
97
- // Test 6: Create a Limit Order (Buy order with low price to avoid accidental execution)
98
- logger.info('Test 6: Creating limit buy order', { test: 'createorder' });
99
- const lowBuyPrice = ticker.last * 0.5; // 50% below current price to avoid execution
100
- const testAmount = 10; // Small amount for testing
101
- logger.info('Creating test buy order', {
102
- symbol: 'INDY/USDT',
103
- amount: testAmount,
104
- price: lowBuyPrice,
105
- type: 'limit',
106
- side: 'buy'
107
- });
108
- const createdOrder = await mexc.createOrder('INDY/USDT', 'limit', 'buy', testAmount, lowBuyPrice);
109
- testOrderId = createdOrder.id;
110
- logger.info('Order created successfully', {
111
- orderId: testOrderId,
112
- symbol: createdOrder.symbol,
113
- type: createdOrder.type,
114
- side: createdOrder.side,
115
- amount: createdOrder.amount,
116
- price: createdOrder.price,
117
- status: createdOrder.status
118
- });
119
- // Test 7: Get Order Details
120
- logger.info('Test 7: Getting order details', { orderId: testOrderId, test: 'getorder' });
121
- const orderDetails = await mexc.getOrder(testOrderId, 'INDY/USDT');
122
- logger.info('Order details retrieved', {
123
- orderId: orderDetails.id,
124
- status: orderDetails.status,
125
- filled: orderDetails.filled,
126
- remaining: orderDetails.remaining
127
- });
128
- // Test 8: Get Open Orders (after creating new one)
129
- logger.info('Test 8: Getting open orders after creation', { test: 'openorders_after' });
130
- const openOrdersAfterCreate = await mexc.getOpenOrders('INDY/USDT');
131
- logger.info('Open orders after creation retrieved', {
132
- openOrdersCount: openOrdersAfterCreate.length
133
- });
134
- // Find our test order
135
- const ourOrder = openOrdersAfterCreate.find(order => order.id === testOrderId);
136
- if (ourOrder) {
137
- logger.info('Test order found in open orders list', { orderId: testOrderId });
138
- }
139
- else {
140
- logger.warn('Test order not found in open orders', {
141
- orderId: testOrderId,
142
- reason: 'might be filled or cancelled'
143
- });
144
- }
145
- // Test 9: Cancel the Order
146
- if (testOrderId) {
147
- logger.info('Test 9: Cancelling test order', { orderId: testOrderId, test: 'cancelorder' });
148
- await mexc.cancelOrder(testOrderId, 'INDY/USDT');
149
- logger.info('Order cancelled successfully', { orderId: testOrderId });
150
- // Test 10: Verify order was cancelled
151
- logger.info('Test 10: Verifying order cancellation', { orderId: testOrderId, test: 'verify_cancel' });
152
- const openOrdersAfterCancel = await mexc.getOpenOrders('INDY/USDT');
153
- const cancelledOrderExists = openOrdersAfterCancel.find(order => order.id === testOrderId);
154
- if (!cancelledOrderExists) {
155
- logger.info('Order successfully removed from open orders list', { orderId: testOrderId });
156
- }
157
- else {
158
- logger.warn('Order still appears in open orders', {
159
- orderId: testOrderId,
160
- reason: 'might take time to update'
161
- });
162
- }
163
- }
164
- // Test 12: Test Market Order (commented out for safety)
165
- logger.info('Test 12: Market order test (SKIPPED for safety)', { test: 'market_order_skip' });
166
- logger.debug('Market order test skipped to avoid accidental execution');
167
- // Uncomment below to test market orders (will execute immediately!)
168
- // const marketOrder = await mexc.createOrder("INDY/USDT", "market", "buy", 10);
169
- // logger.info('Market order created', marketOrder);
170
- // await mexc.cancelOrder(marketOrder.id, 'INDY/USDT');
171
- logger.info('ALL TESTS COMPLETED SUCCESSFULLY');
172
- logger.info('Test Summary', {
173
- connectionAuth: true,
174
- tickerRetrieval: true,
175
- balanceRetrieval: true,
176
- orderBookData: true,
177
- tradesData: true,
178
- openOrdersListing: true,
179
- limitOrderCreation: true,
180
- orderDetailsRetrieval: true,
181
- orderCancellation: true,
182
- orderStatusVerification: true,
183
- whitelistedUidAccess: !!testCredentials.uid
184
- });
185
- }
186
- catch (error) {
187
- logger.logError(error instanceof Error ? error : new Error(String(error)), {
188
- exchangeId: 'mexc',
189
- testOrderId: testOrderId || 'none'
190
- });
191
- // Cleanup: Try to cancel test order if it was created
192
- if (testOrderId) {
193
- try {
194
- logger.info('Attempting to cleanup test order', { orderId: testOrderId });
195
- await mexc.cancelOrder(testOrderId, 'INDY/USDT');
196
- logger.info('Test order cleaned up successfully', { orderId: testOrderId });
197
- }
198
- catch (cleanupError) {
199
- logger.logError(cleanupError instanceof Error ? cleanupError : new Error(String(cleanupError)), { orderId: testOrderId, operation: 'cleanup' });
200
- }
201
- }
202
- }
203
- finally {
204
- logger.info('Disconnecting from MEXC', { exchangeId: 'mexc' });
205
- await mexc.disconnect();
206
- logger.info('Test completed and disconnected', { exchangeId: 'mexc' });
207
- }
208
- }
209
- // Run the test if this file is executed directly
210
- if (require.main === module) {
211
- const mainLogger = (0, logger_1.createLogger)({ service: 'mexc-test-main' });
212
- mainLogger.info('Starting comprehensive MEXC connector tests');
213
- testMexcConnector().catch((error) => {
214
- mainLogger.logError(error instanceof Error ? error : new Error(String(error)));
215
- process.exit(1);
216
- });
217
- }
218
- //# sourceMappingURL=mexc-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mexc-test.js","sourceRoot":"","sources":["../../src/examples/mexc-test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=mexc-trades-debug.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mexc-trades-debug.d.ts","sourceRoot":"","sources":["../../src/examples/mexc-trades-debug.ts"],"names":[],"mappings":""}
@@ -1,101 +0,0 @@
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
- const ws_1 = __importDefault(require("ws"));
7
- const mexc_protobuf_decoder_1 = require("../exchanges/mexc/mexc-protobuf-decoder");
8
- const utils_1 = require("../utils");
9
- /**
10
- * Debug trades subscription specifically
11
- */
12
- async function debugTradesSubscription() {
13
- const logger = (0, utils_1.createLogger)('mexc-trades-debug');
14
- try {
15
- logger.info('=== MEXC Trades Subscription Debug ===');
16
- const ws = new ws_1.default('wss://wbs-api.mexc.com/ws');
17
- ws.on('open', () => {
18
- logger.info('✅ WebSocket connected');
19
- // Subscribe to INDYUSDT trades
20
- const tradesSubscription = {
21
- method: 'SUBSCRIPTION',
22
- params: ['spot@public.aggre.deals.v3.api.pb@100ms@INDYUSDT']
23
- };
24
- logger.info('📤 Subscribing to trades:', tradesSubscription);
25
- ws.send(JSON.stringify(tradesSubscription));
26
- });
27
- let messageCount = 0;
28
- ws.on('message', (data) => {
29
- messageCount++;
30
- const messageStr = data.toString();
31
- logger.info(`📥 Message #${messageCount} received (${data.length} bytes)`);
32
- // Try to parse as JSON first
33
- try {
34
- const jsonData = JSON.parse(messageStr);
35
- if (jsonData.id !== undefined) {
36
- if (jsonData.code === 0) {
37
- logger.info(' ✅ Subscription confirmed:', jsonData.msg);
38
- }
39
- else {
40
- logger.error(' ❌ Subscription failed:', jsonData);
41
- }
42
- }
43
- }
44
- catch (jsonError) {
45
- // Check if it's a trade protobuf message
46
- if (messageStr.includes('spot@public.aggre.deals.v3.api.p')) {
47
- logger.info(' 📦 Trade protobuf message detected!');
48
- logger.info(` Raw preview: ${messageStr.substring(0, 100)}...`);
49
- try {
50
- const decoded = mexc_protobuf_decoder_1.MexcProtobufDecoder.decode(messageStr);
51
- logger.info(' 🔓 Decode result:', {
52
- type: decoded.type,
53
- symbol: decoded.symbol,
54
- hasDecoded: !!decoded.decoded,
55
- error: decoded.error
56
- });
57
- if (decoded.decoded) {
58
- logger.info(' 📊 Decoded trade data:', decoded.decoded);
59
- // Check if dealsList format is correct
60
- if (decoded.decoded.dealsList && Array.isArray(decoded.decoded.dealsList)) {
61
- logger.info(` ✅ Found ${decoded.decoded.dealsList.length} deals`);
62
- decoded.decoded.dealsList.forEach((deal, index) => {
63
- logger.info(` Deal ${index + 1}:`, {
64
- price: deal.price,
65
- quantity: deal.quantity,
66
- time: deal.time,
67
- tradetype: deal.tradetype
68
- });
69
- });
70
- }
71
- else {
72
- logger.warn(' ❌ No valid dealsList found');
73
- }
74
- }
75
- }
76
- catch (decodingError) {
77
- logger.error(' ❌ Protobuf decoding failed:', decodingError);
78
- }
79
- }
80
- }
81
- logger.info(''); // Empty line for readability
82
- });
83
- ws.on('error', (error) => {
84
- logger.error('❌ WebSocket error:', error);
85
- });
86
- ws.on('close', () => {
87
- logger.info('🔌 WebSocket connection closed');
88
- });
89
- // Keep connection alive for 30 seconds
90
- logger.info('⏰ Listening for trades for 30 seconds...');
91
- await new Promise(resolve => setTimeout(resolve, 30000));
92
- logger.info(`\\n=== TRADES DEBUG SUMMARY ===`);
93
- logger.info(`Total messages received: ${messageCount}`);
94
- ws.close();
95
- }
96
- catch (error) {
97
- logger.error('❌ Debug test failed:', error);
98
- }
99
- }
100
- debugTradesSubscription().catch(console.error);
101
- //# sourceMappingURL=mexc-trades-debug.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mexc-trades-debug.js","sourceRoot":"","sources":["../../src/examples/mexc-trades-debug.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import 'dotenv/config';
2
- //# sourceMappingURL=mexc-trades-subscription-debug.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mexc-trades-subscription-debug.d.ts","sourceRoot":"","sources":["../../src/examples/mexc-trades-subscription-debug.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC"}