@3rd-eye-labs/openmm 0.1.6 → 0.1.7

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 (210) hide show
  1. package/README.md +0 -2
  2. package/dist/cli/commands/grid.d.ts +3 -0
  3. package/dist/cli/commands/grid.d.ts.map +1 -0
  4. package/dist/cli/commands/grid.js +103 -0
  5. package/dist/cli/commands/grid.js.map +1 -0
  6. package/dist/cli/commands/multi-trade.d.ts +3 -0
  7. package/dist/cli/commands/multi-trade.d.ts.map +1 -0
  8. package/dist/cli/commands/multi-trade.js +175 -0
  9. package/dist/cli/commands/multi-trade.js.map +1 -0
  10. package/dist/cli/pool-discovery.d.ts +56 -0
  11. package/dist/cli/pool-discovery.d.ts.map +1 -0
  12. package/dist/cli/pool-discovery.js +283 -0
  13. package/dist/cli/pool-discovery.js.map +1 -0
  14. package/dist/config/environment.d.ts +19 -0
  15. package/dist/config/environment.d.ts.map +1 -1
  16. package/dist/config/environment.js +87 -58
  17. package/dist/config/environment.js.map +1 -1
  18. package/dist/core/price-aggregation/price-cache.d.ts +55 -0
  19. package/dist/core/price-aggregation/price-cache.d.ts.map +1 -0
  20. package/dist/core/price-aggregation/price-cache.js +152 -0
  21. package/dist/core/price-aggregation/price-cache.js.map +1 -0
  22. package/dist/examples/mexc-connector-comprehensive-test.d.ts +15 -0
  23. package/dist/examples/mexc-connector-comprehensive-test.d.ts.map +1 -0
  24. package/dist/examples/mexc-connector-comprehensive-test.js +514 -0
  25. package/dist/examples/mexc-connector-comprehensive-test.js.map +1 -0
  26. package/dist/examples/mexc-order-update-test.d.ts +4 -0
  27. package/dist/examples/mexc-order-update-test.d.ts.map +1 -0
  28. package/dist/examples/mexc-order-update-test.js +186 -0
  29. package/dist/examples/mexc-order-update-test.js.map +1 -0
  30. package/dist/examples/mexc-test.d.ts +9 -0
  31. package/dist/examples/mexc-test.d.ts.map +1 -0
  32. package/dist/examples/mexc-test.js +218 -0
  33. package/dist/examples/mexc-test.js.map +1 -0
  34. package/dist/examples/mexc-trades-debug.d.ts +2 -0
  35. package/dist/examples/mexc-trades-debug.d.ts.map +1 -0
  36. package/dist/examples/mexc-trades-debug.js +101 -0
  37. package/dist/examples/mexc-trades-debug.js.map +1 -0
  38. package/dist/examples/mexc-trades-subscription-debug.d.ts +2 -0
  39. package/dist/examples/mexc-trades-subscription-debug.d.ts.map +1 -0
  40. package/dist/examples/mexc-trades-subscription-debug.js +150 -0
  41. package/dist/examples/mexc-trades-subscription-debug.js.map +1 -0
  42. package/dist/examples/mexc-websocket-test.d.ts +8 -0
  43. package/dist/examples/mexc-websocket-test.d.ts.map +1 -0
  44. package/dist/examples/mexc-websocket-test.js +115 -0
  45. package/dist/examples/mexc-websocket-test.js.map +1 -0
  46. package/dist/examples/test-protobuf-status-detection.d.ts +9 -0
  47. package/dist/examples/test-protobuf-status-detection.d.ts.map +1 -0
  48. package/dist/examples/test-protobuf-status-detection.js +83 -0
  49. package/dist/examples/test-protobuf-status-detection.js.map +1 -0
  50. package/dist/exchanges/base-exchange-connector.d.ts +33 -0
  51. package/dist/exchanges/base-exchange-connector.d.ts.map +1 -0
  52. package/dist/exchanges/base-exchange-connector.js +55 -0
  53. package/dist/exchanges/base-exchange-connector.js.map +1 -0
  54. package/dist/exchanges/kraken/test-kraken-websocket.d.ts +19 -0
  55. package/dist/exchanges/kraken/test-kraken-websocket.d.ts.map +1 -0
  56. package/dist/exchanges/kraken/test-kraken-websocket.js +413 -0
  57. package/dist/exchanges/kraken/test-kraken-websocket.js.map +1 -0
  58. package/dist/mcp/resources/index.d.ts +3 -0
  59. package/dist/mcp/resources/index.d.ts.map +1 -0
  60. package/dist/mcp/resources/index.js +11 -0
  61. package/dist/mcp/resources/index.js.map +1 -0
  62. package/dist/mcp/server.d.ts +4 -0
  63. package/dist/mcp/server.d.ts.map +1 -0
  64. package/dist/mcp/server.js +29 -0
  65. package/dist/mcp/server.js.map +1 -0
  66. package/dist/mcp/tools/index.d.ts +3 -0
  67. package/dist/mcp/tools/index.d.ts.map +1 -0
  68. package/dist/mcp/tools/index.js +12 -0
  69. package/dist/mcp/tools/index.js.map +1 -0
  70. package/dist/tests/fixtures/test-helpers.d.ts +5 -0
  71. package/dist/tests/fixtures/test-helpers.d.ts.map +1 -0
  72. package/dist/tests/fixtures/test-helpers.js +8 -0
  73. package/dist/tests/fixtures/test-helpers.js.map +1 -0
  74. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.d.ts +2 -0
  75. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.d.ts.map +1 -0
  76. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.js +237 -0
  77. package/dist/tests/integration/exchanges/mexc/mexc-integration.test.js.map +1 -0
  78. package/dist/tests/integration/price-aggregation/cardano-price-service.test.d.ts +2 -0
  79. package/dist/tests/integration/price-aggregation/cardano-price-service.test.d.ts.map +1 -0
  80. package/dist/tests/integration/price-aggregation/cardano-price-service.test.js +57 -0
  81. package/dist/tests/integration/price-aggregation/cardano-price-service.test.js.map +1 -0
  82. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.d.ts +2 -0
  83. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.d.ts.map +1 -0
  84. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.js +141 -0
  85. package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.js.map +1 -0
  86. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.d.ts +2 -0
  87. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.d.ts.map +1 -0
  88. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.js +375 -0
  89. package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.js.map +1 -0
  90. package/dist/tests/unit/cli/exchange-factory.test.d.ts +2 -0
  91. package/dist/tests/unit/cli/exchange-factory.test.d.ts.map +1 -0
  92. package/dist/tests/unit/cli/exchange-factory.test.js +148 -0
  93. package/dist/tests/unit/cli/exchange-factory.test.js.map +1 -0
  94. package/dist/tests/unit/config/environment.test.d.ts +2 -0
  95. package/dist/tests/unit/config/environment.test.d.ts.map +1 -0
  96. package/dist/tests/unit/config/environment.test.js +158 -0
  97. package/dist/tests/unit/config/environment.test.js.map +1 -0
  98. package/dist/tests/unit/config/launcher-config.test.d.ts +2 -0
  99. package/dist/tests/unit/config/launcher-config.test.d.ts.map +1 -0
  100. package/dist/tests/unit/config/launcher-config.test.js +117 -0
  101. package/dist/tests/unit/config/launcher-config.test.js.map +1 -0
  102. package/dist/tests/unit/config/price-aggregation.test.d.ts +2 -0
  103. package/dist/tests/unit/config/price-aggregation.test.d.ts.map +1 -0
  104. package/dist/tests/unit/config/price-aggregation.test.js +144 -0
  105. package/dist/tests/unit/config/price-aggregation.test.js.map +1 -0
  106. package/dist/tests/unit/core/exchange/base-exchange-connector.test.d.ts +2 -0
  107. package/dist/tests/unit/core/exchange/base-exchange-connector.test.d.ts.map +1 -0
  108. package/dist/tests/unit/core/exchange/base-exchange-connector.test.js +191 -0
  109. package/dist/tests/unit/core/exchange/base-exchange-connector.test.js.map +1 -0
  110. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.d.ts +2 -0
  111. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.d.ts.map +1 -0
  112. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.js +324 -0
  113. package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.js.map +1 -0
  114. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.d.ts +2 -0
  115. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.d.ts.map +1 -0
  116. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.js +177 -0
  117. package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.js.map +1 -0
  118. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.d.ts +2 -0
  119. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.d.ts.map +1 -0
  120. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.js +168 -0
  121. package/dist/tests/unit/core/price-aggregation/iris-api-client.test.js.map +1 -0
  122. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.d.ts +2 -0
  123. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.d.ts.map +1 -0
  124. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.js +217 -0
  125. package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.js.map +1 -0
  126. package/dist/tests/unit/core/price-aggregation/price-calculator.test.d.ts +2 -0
  127. package/dist/tests/unit/core/price-aggregation/price-calculator.test.d.ts.map +1 -0
  128. package/dist/tests/unit/core/price-aggregation/price-calculator.test.js +229 -0
  129. package/dist/tests/unit/core/price-aggregation/price-calculator.test.js.map +1 -0
  130. package/dist/tests/unit/core/risk-management/risk-manager.test.d.ts +2 -0
  131. package/dist/tests/unit/core/risk-management/risk-manager.test.d.ts.map +1 -0
  132. package/dist/tests/unit/core/risk-management/risk-manager.test.js +194 -0
  133. package/dist/tests/unit/core/risk-management/risk-manager.test.js.map +1 -0
  134. package/dist/tests/unit/core/strategy/base-strategy.test.d.ts +2 -0
  135. package/dist/tests/unit/core/strategy/base-strategy.test.d.ts.map +1 -0
  136. package/dist/tests/unit/core/strategy/base-strategy.test.js +254 -0
  137. package/dist/tests/unit/core/strategy/base-strategy.test.js.map +1 -0
  138. package/dist/tests/unit/core/strategy/strategy-factory.test.d.ts +2 -0
  139. package/dist/tests/unit/core/strategy/strategy-factory.test.d.ts.map +1 -0
  140. package/dist/tests/unit/core/strategy/strategy-factory.test.js +213 -0
  141. package/dist/tests/unit/core/strategy/strategy-factory.test.js.map +1 -0
  142. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.d.ts +2 -0
  143. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.d.ts.map +1 -0
  144. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.js +452 -0
  145. package/dist/tests/unit/exchanges/mexc/mexc-auth.test.js.map +1 -0
  146. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.d.ts +2 -0
  147. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.d.ts.map +1 -0
  148. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.js +1419 -0
  149. package/dist/tests/unit/exchanges/mexc/mexc-connector.test.js.map +1 -0
  150. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.d.ts +2 -0
  151. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.d.ts.map +1 -0
  152. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.js +435 -0
  153. package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.js.map +1 -0
  154. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.d.ts +2 -0
  155. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.d.ts.map +1 -0
  156. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.js +314 -0
  157. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.js.map +1 -0
  158. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.d.ts +2 -0
  159. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.d.ts.map +1 -0
  160. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.js +178 -0
  161. package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.js.map +1 -0
  162. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.d.ts +2 -0
  163. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.d.ts.map +1 -0
  164. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.js +502 -0
  165. package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.js.map +1 -0
  166. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.d.ts +2 -0
  167. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.d.ts.map +1 -0
  168. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.js +317 -0
  169. package/dist/tests/unit/exchanges/mexc/mexc-utils.test.js.map +1 -0
  170. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.d.ts +2 -0
  171. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.d.ts.map +1 -0
  172. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.js +843 -0
  173. package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.js.map +1 -0
  174. package/dist/tests/unit/strategies/grid/grid-calculator.test.d.ts +2 -0
  175. package/dist/tests/unit/strategies/grid/grid-calculator.test.d.ts.map +1 -0
  176. package/dist/tests/unit/strategies/grid/grid-calculator.test.js +67 -0
  177. package/dist/tests/unit/strategies/grid/grid-calculator.test.js.map +1 -0
  178. package/dist/tests/unit/strategies/grid/grid-order-manager.test.d.ts +2 -0
  179. package/dist/tests/unit/strategies/grid/grid-order-manager.test.d.ts.map +1 -0
  180. package/dist/tests/unit/strategies/grid/grid-order-manager.test.js +211 -0
  181. package/dist/tests/unit/strategies/grid/grid-order-manager.test.js.map +1 -0
  182. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.d.ts +2 -0
  183. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.d.ts.map +1 -0
  184. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.js +197 -0
  185. package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.js.map +1 -0
  186. package/dist/tests/unit/strategies/grid/grid-strategy.test.d.ts +2 -0
  187. package/dist/tests/unit/strategies/grid/grid-strategy.test.d.ts.map +1 -0
  188. package/dist/tests/unit/strategies/grid/grid-strategy.test.js +429 -0
  189. package/dist/tests/unit/strategies/grid/grid-strategy.test.js.map +1 -0
  190. package/dist/tests/unit/utils/logger.test.d.ts +2 -0
  191. package/dist/tests/unit/utils/logger.test.d.ts.map +1 -0
  192. package/dist/tests/unit/utils/logger.test.js +260 -0
  193. package/dist/tests/unit/utils/logger.test.js.map +1 -0
  194. package/dist/tests/unit/utils/symbol-utils.test.d.ts +2 -0
  195. package/dist/tests/unit/utils/symbol-utils.test.d.ts.map +1 -0
  196. package/dist/tests/unit/utils/symbol-utils.test.js +178 -0
  197. package/dist/tests/unit/utils/symbol-utils.test.js.map +1 -0
  198. package/dist/types/price-aggregation.d.ts +31 -0
  199. package/dist/types/price-aggregation.d.ts.map +1 -0
  200. package/dist/types/price-aggregation.js +6 -0
  201. package/dist/types/price-aggregation.js.map +1 -0
  202. package/dist/utils/crypto.d.ts +15 -0
  203. package/dist/utils/crypto.d.ts.map +1 -0
  204. package/dist/utils/crypto.js +50 -0
  205. package/dist/utils/crypto.js.map +1 -0
  206. package/dist/utils/validation.d.ts +36 -0
  207. package/dist/utils/validation.d.ts.map +1 -0
  208. package/dist/utils/validation.js +174 -0
  209. package/dist/utils/validation.js.map +1 -0
  210. package/package.json +1 -1
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ jest.mock('../../../utils', () => ({
4
+ createLogger: jest.fn(() => ({
5
+ error: jest.fn(),
6
+ warn: jest.fn(),
7
+ info: jest.fn(),
8
+ debug: jest.fn()
9
+ }))
10
+ }));
11
+ jest.mock('dotenv', () => ({
12
+ config: jest.fn()
13
+ }));
14
+ describe('Environment Configuration', () => {
15
+ let originalEnv;
16
+ let mockProcessExit;
17
+ beforeEach(() => {
18
+ originalEnv = process.env;
19
+ process.env = { ...originalEnv };
20
+ delete process.env.MEXC_UID;
21
+ delete process.env.NODE_ENV;
22
+ delete process.env.LOG_LEVEL;
23
+ delete process.env.MEXC_API_KEY;
24
+ delete process.env.MEXC_SECRET;
25
+ delete process.env.GATEIO_API_KEY;
26
+ delete process.env.GATEIO_SECRET;
27
+ delete process.env.BITGET_API_KEY;
28
+ delete process.env.BITGET_SECRET;
29
+ delete process.env.BITGET_PASSPHRASE;
30
+ delete process.env.KRAKEN_API_KEY;
31
+ delete process.env.KRAKEN_SECRET;
32
+ mockProcessExit = jest.spyOn(process, 'exit').mockImplementation(() => {
33
+ throw new Error('process.exit called');
34
+ });
35
+ jest.resetModules();
36
+ });
37
+ afterEach(() => {
38
+ process.env = originalEnv;
39
+ mockProcessExit.mockRestore();
40
+ jest.resetModules();
41
+ });
42
+ describe('Environment validation', () => {
43
+ it('should validate and return config with required MEXC credentials', async () => {
44
+ delete process.env.MEXC_UID;
45
+ process.env.MEXC_API_KEY = 'test-api-key';
46
+ process.env.MEXC_SECRET = 'test-secret';
47
+ const { config } = await import('../../../config/environment.js');
48
+ expect(config.mexc.apiKey).toBe('test-api-key');
49
+ expect(config.mexc.secret).toBe('test-secret');
50
+ expect(config.mexc.uid).toBeUndefined();
51
+ });
52
+ it('should include optional MEXC UID when provided', async () => {
53
+ process.env.MEXC_API_KEY = 'test-api-key';
54
+ process.env.MEXC_SECRET = 'test-secret';
55
+ process.env.MEXC_UID = 'test-uid';
56
+ const { config } = await import('../../../config/environment.js');
57
+ expect(config.mexc.uid).toBe('test-uid');
58
+ });
59
+ it('should use default values for optional settings', async () => {
60
+ process.env.MEXC_API_KEY = 'test-api-key';
61
+ process.env.MEXC_SECRET = 'test-secret';
62
+ const { config } = await import('../../../config/environment.js');
63
+ expect(config.logLevel).toBe('info');
64
+ expect(config.nodeEnv).toBe('development');
65
+ });
66
+ it('should use environment values when provided', async () => {
67
+ process.env.MEXC_API_KEY = 'test-api-key';
68
+ process.env.MEXC_SECRET = 'test-secret';
69
+ process.env.LOG_LEVEL = 'debug';
70
+ process.env.NODE_ENV = 'production';
71
+ const { config } = await import('../../../config/environment.js');
72
+ expect(config.logLevel).toBe('debug');
73
+ expect(config.nodeEnv).toBe('production');
74
+ });
75
+ it('should include GateIO config when credentials are provided', async () => {
76
+ process.env.MEXC_API_KEY = 'test-api-key';
77
+ process.env.MEXC_SECRET = 'test-secret';
78
+ process.env.GATEIO_API_KEY = 'gateio-key';
79
+ process.env.GATEIO_SECRET = 'gateio-secret';
80
+ const { config } = await import('../../../config/environment.js');
81
+ expect(config.gateio).toEqual({
82
+ apiKey: 'gateio-key',
83
+ secret: 'gateio-secret'
84
+ });
85
+ });
86
+ it('should include Bitget config when all credentials are provided', async () => {
87
+ process.env.MEXC_API_KEY = 'test-api-key';
88
+ process.env.MEXC_SECRET = 'test-secret';
89
+ process.env.BITGET_API_KEY = 'bitget-key';
90
+ process.env.BITGET_SECRET = 'bitget-secret';
91
+ process.env.BITGET_PASSPHRASE = 'bitget-passphrase';
92
+ const { config } = await import('../../../config/environment.js');
93
+ expect(config.bitget).toEqual({
94
+ apiKey: 'bitget-key',
95
+ secret: 'bitget-secret',
96
+ passphrase: 'bitget-passphrase'
97
+ });
98
+ });
99
+ it('should include Kraken config when credentials are provided', async () => {
100
+ process.env.MEXC_API_KEY = 'test-api-key';
101
+ process.env.MEXC_SECRET = 'test-secret';
102
+ process.env.KRAKEN_API_KEY = 'kraken-key';
103
+ process.env.KRAKEN_SECRET = 'kraken-secret';
104
+ const { config } = await import('../../../config/environment.js');
105
+ expect(config.kraken).toEqual({
106
+ apiKey: 'kraken-key',
107
+ secret: 'kraken-secret'
108
+ });
109
+ });
110
+ it('should not include partial Bitget config', async () => {
111
+ process.env.MEXC_API_KEY = 'test-api-key';
112
+ process.env.MEXC_SECRET = 'test-secret';
113
+ process.env.BITGET_API_KEY = 'bitget-key';
114
+ process.env.BITGET_SECRET = 'bitget-secret';
115
+ const { config } = await import('../../../config/environment.js');
116
+ expect(config.bitget).toBeUndefined();
117
+ });
118
+ it('should accept all valid log levels', async () => {
119
+ const validLevels = ['error', 'warn', 'info', 'debug'];
120
+ for (const level of validLevels) {
121
+ jest.resetModules();
122
+ delete process.env.LOG_LEVEL;
123
+ process.env.MEXC_API_KEY = 'test-api-key';
124
+ process.env.MEXC_SECRET = 'test-secret';
125
+ process.env.LOG_LEVEL = level;
126
+ const { config } = await import('../../../config/environment.js');
127
+ expect(config.logLevel).toBe(level);
128
+ }
129
+ });
130
+ it('should handle trimmed values correctly', async () => {
131
+ process.env.MEXC_API_KEY = ' test-api-key ';
132
+ process.env.MEXC_SECRET = ' test-secret ';
133
+ process.env.MEXC_UID = ' test-uid ';
134
+ const { config } = await import('../../../config/environment.js');
135
+ expect(config.mexc.apiKey).toBe('test-api-key');
136
+ expect(config.mexc.secret).toBe('test-secret');
137
+ expect(config.mexc.uid).toBe('test-uid');
138
+ });
139
+ it('should handle empty optional values correctly', async () => {
140
+ process.env.MEXC_API_KEY = 'test-api-key';
141
+ process.env.MEXC_SECRET = 'test-secret';
142
+ process.env.MEXC_UID = '';
143
+ const { config } = await import('../../../config/environment.js');
144
+ expect(config.mexc.uid).toBeUndefined();
145
+ });
146
+ it('should contain the expected configuration structure', async () => {
147
+ process.env.MEXC_API_KEY = 'test-api-key';
148
+ process.env.MEXC_SECRET = 'test-secret';
149
+ const { config } = await import('../../../config/environment.js');
150
+ expect(config).toHaveProperty('mexc');
151
+ expect(config).toHaveProperty('logLevel');
152
+ expect(config).toHaveProperty('nodeEnv');
153
+ expect(config.mexc).toHaveProperty('apiKey');
154
+ expect(config.mexc).toHaveProperty('secret');
155
+ });
156
+ });
157
+ });
158
+ //# sourceMappingURL=environment.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/config/environment.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=launcher-config.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launcher-config.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/unit/config/launcher-config.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const launcher_config_1 = require("../../../config/launcher-config");
4
+ describe('Launcher Config', () => {
5
+ describe('LauncherConfig interface', () => {
6
+ it('should have the correct structure', () => {
7
+ const config = {
8
+ exchange: 'mexc',
9
+ strategy: 'grid',
10
+ symbol: 'BTCUSDT'
11
+ };
12
+ expect(config.exchange).toBe('mexc');
13
+ expect(config.strategy).toBe('grid');
14
+ expect(config.symbol).toBe('BTCUSDT');
15
+ });
16
+ });
17
+ describe('GridLauncherParams interface', () => {
18
+ it('should allow all optional parameters', () => {
19
+ const params = {
20
+ gridLevels: 10,
21
+ gridSpacing: 0.01,
22
+ orderSize: 100,
23
+ minConfidence: 0.8,
24
+ priceDeviationThreshold: 0.02,
25
+ adjustmentDebounce: 3000,
26
+ maxPositionSize: 0.9,
27
+ safetyReservePercentage: 0.1
28
+ };
29
+ expect(params.gridLevels).toBe(10);
30
+ expect(params.gridSpacing).toBe(0.01);
31
+ expect(params.orderSize).toBe(100);
32
+ expect(params.minConfidence).toBe(0.8);
33
+ expect(params.priceDeviationThreshold).toBe(0.02);
34
+ expect(params.adjustmentDebounce).toBe(3000);
35
+ expect(params.maxPositionSize).toBe(0.9);
36
+ expect(params.safetyReservePercentage).toBe(0.1);
37
+ });
38
+ it('should allow partial parameters', () => {
39
+ const params = {
40
+ gridLevels: 7,
41
+ orderSize: 75
42
+ };
43
+ expect(params.gridLevels).toBe(7);
44
+ expect(params.orderSize).toBe(75);
45
+ expect(params.gridSpacing).toBeUndefined();
46
+ expect(params.minConfidence).toBeUndefined();
47
+ });
48
+ it('should allow empty parameters object', () => {
49
+ const params = {};
50
+ expect(Object.keys(params)).toHaveLength(0);
51
+ });
52
+ });
53
+ describe('DEFAULT_GRID_PARAMS', () => {
54
+ it('should contain all expected default values', () => {
55
+ expect(launcher_config_1.DEFAULT_GRID_PARAMS).toEqual({
56
+ gridLevels: 5,
57
+ gridSpacing: 0.02,
58
+ orderSize: 50,
59
+ minConfidence: 0.6,
60
+ priceDeviationThreshold: 0.015,
61
+ adjustmentDebounce: 2000,
62
+ maxPositionSize: 0.8,
63
+ safetyReservePercentage: 0.2
64
+ });
65
+ });
66
+ it('should have reasonable default values', () => {
67
+ expect(launcher_config_1.DEFAULT_GRID_PARAMS.gridLevels).toBeGreaterThan(0);
68
+ expect(launcher_config_1.DEFAULT_GRID_PARAMS.gridSpacing).toBeGreaterThan(0);
69
+ expect(launcher_config_1.DEFAULT_GRID_PARAMS.gridSpacing).toBeLessThan(1);
70
+ expect(launcher_config_1.DEFAULT_GRID_PARAMS.orderSize).toBeGreaterThan(0);
71
+ expect(launcher_config_1.DEFAULT_GRID_PARAMS.minConfidence).toBeGreaterThan(0);
72
+ expect(launcher_config_1.DEFAULT_GRID_PARAMS.minConfidence).toBeLessThanOrEqual(1);
73
+ expect(launcher_config_1.DEFAULT_GRID_PARAMS.priceDeviationThreshold).toBeGreaterThan(0);
74
+ expect(launcher_config_1.DEFAULT_GRID_PARAMS.adjustmentDebounce).toBeGreaterThan(0);
75
+ expect(launcher_config_1.DEFAULT_GRID_PARAMS.maxPositionSize).toBeGreaterThan(0);
76
+ expect(launcher_config_1.DEFAULT_GRID_PARAMS.maxPositionSize).toBeLessThanOrEqual(1);
77
+ expect(launcher_config_1.DEFAULT_GRID_PARAMS.safetyReservePercentage).toBeGreaterThan(0);
78
+ expect(launcher_config_1.DEFAULT_GRID_PARAMS.safetyReservePercentage).toBeLessThan(1);
79
+ });
80
+ it('should be immutable (frozen)', () => {
81
+ const originalValue = launcher_config_1.DEFAULT_GRID_PARAMS.gridLevels;
82
+ expect(() => {
83
+ launcher_config_1.DEFAULT_GRID_PARAMS.gridLevels = 999;
84
+ }).not.toThrow();
85
+ const wasModified = launcher_config_1.DEFAULT_GRID_PARAMS.gridLevels !== originalValue;
86
+ if (!wasModified) {
87
+ expect(launcher_config_1.DEFAULT_GRID_PARAMS.gridLevels).toBe(originalValue);
88
+ }
89
+ });
90
+ it('should be compatible with GridLauncherParams interface', () => {
91
+ const params = launcher_config_1.DEFAULT_GRID_PARAMS;
92
+ expect(typeof params.gridLevels).toBe('number');
93
+ expect(typeof params.gridSpacing).toBe('number');
94
+ expect(typeof params.orderSize).toBe('number');
95
+ expect(typeof params.minConfidence).toBe('number');
96
+ expect(typeof params.priceDeviationThreshold).toBe('number');
97
+ expect(typeof params.adjustmentDebounce).toBe('number');
98
+ expect(typeof params.maxPositionSize).toBe('number');
99
+ expect(typeof params.safetyReservePercentage).toBe('number');
100
+ });
101
+ it('should allow merging with custom params', () => {
102
+ const customParams = {
103
+ gridLevels: 10,
104
+ orderSize: 100
105
+ };
106
+ const mergedParams = {
107
+ ...launcher_config_1.DEFAULT_GRID_PARAMS,
108
+ ...customParams
109
+ };
110
+ expect(mergedParams.gridLevels).toBe(10);
111
+ expect(mergedParams.orderSize).toBe(100);
112
+ expect(mergedParams.gridSpacing).toBe(launcher_config_1.DEFAULT_GRID_PARAMS.gridSpacing);
113
+ expect(mergedParams.minConfidence).toBe(launcher_config_1.DEFAULT_GRID_PARAMS.minConfidence);
114
+ });
115
+ });
116
+ });
117
+ //# sourceMappingURL=launcher-config.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launcher-config.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/config/launcher-config.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=price-aggregation.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"price-aggregation.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/unit/config/price-aggregation.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const price_aggregation_1 = require("../../../config/price-aggregation");
4
+ describe('Price Aggregation Config', () => {
5
+ describe('CEX_API_CONFIG', () => {
6
+ it('should contain all expected exchanges with proper structure', () => {
7
+ expect(price_aggregation_1.CEX_API_CONFIG.BINANCE).toEqual({
8
+ BASE_URL: 'https://api.binance.com/api/v3',
9
+ ENDPOINTS: {
10
+ TICKER_PRICE: '/ticker/price'
11
+ }
12
+ });
13
+ expect(price_aggregation_1.CEX_API_CONFIG.MEXC).toEqual({
14
+ BASE_URL: 'https://api.mexc.com/api/v3',
15
+ ENDPOINTS: {
16
+ TICKER_PRICE: '/ticker/price'
17
+ }
18
+ });
19
+ expect(price_aggregation_1.CEX_API_CONFIG.COINGECKO).toEqual({
20
+ BASE_URL: 'https://api.coingecko.com/api/v3',
21
+ ENDPOINTS: {
22
+ SIMPLE_PRICE: '/simple/price'
23
+ }
24
+ });
25
+ expect(price_aggregation_1.CEX_API_CONFIG.KRAKEN).toEqual({
26
+ BASE_URL: 'https://api.kraken.com/0/public',
27
+ ENDPOINTS: {
28
+ TICKER: '/Ticker'
29
+ }
30
+ });
31
+ });
32
+ });
33
+ describe('IRIS_CONFIG', () => {
34
+ it('should contain correct Iris configuration', () => {
35
+ expect(price_aggregation_1.IRIS_CONFIG).toEqual({
36
+ BASE_URL: 'https://iris.indigoprotocol.io',
37
+ TIMEOUT: 10000
38
+ });
39
+ });
40
+ });
41
+ describe('SUPPORTED_TOKENS', () => {
42
+ it('should contain expected token configurations', () => {
43
+ expect(price_aggregation_1.SUPPORTED_TOKENS.INDY).toEqual({
44
+ symbol: 'INDY',
45
+ policyId: '533bb94a8850ee3ccbe483106489399112b74c905342cb1792a797a0',
46
+ assetName: '494e4459',
47
+ minLiquidityThreshold: 100000
48
+ });
49
+ expect(price_aggregation_1.SUPPORTED_TOKENS.SNEK).toEqual({
50
+ symbol: 'SNEK',
51
+ policyId: '279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f',
52
+ assetName: '534e454b',
53
+ minLiquidityThreshold: 50000
54
+ });
55
+ expect(price_aggregation_1.SUPPORTED_TOKENS.NIGHT).toEqual({
56
+ symbol: 'NIGHT',
57
+ policyId: '0691b2fecca1ac4f53cb6dfb00b7013e561d1f34403b957cbb5af1fa4e49474854',
58
+ assetName: '4e49474854',
59
+ minLiquidityThreshold: 25000
60
+ });
61
+ expect(price_aggregation_1.SUPPORTED_TOKENS.MIN).toEqual({
62
+ symbol: 'MIN',
63
+ policyId: '29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6',
64
+ assetName: '4d494e',
65
+ minLiquidityThreshold: 100000
66
+ });
67
+ });
68
+ });
69
+ describe('getTokenConfig', () => {
70
+ it('should return correct config for valid token symbols', () => {
71
+ const indyConfig = (0, price_aggregation_1.getTokenConfig)('INDY');
72
+ expect(indyConfig).toEqual(price_aggregation_1.SUPPORTED_TOKENS.INDY);
73
+ const snekConfig = (0, price_aggregation_1.getTokenConfig)('SNEK');
74
+ expect(snekConfig).toEqual(price_aggregation_1.SUPPORTED_TOKENS.SNEK);
75
+ });
76
+ it('should handle case insensitive symbols', () => {
77
+ const indyConfig = (0, price_aggregation_1.getTokenConfig)('indy');
78
+ expect(indyConfig).toEqual(price_aggregation_1.SUPPORTED_TOKENS.INDY);
79
+ const snekConfig = (0, price_aggregation_1.getTokenConfig)('snek');
80
+ expect(snekConfig).toEqual(price_aggregation_1.SUPPORTED_TOKENS.SNEK);
81
+ const mixedConfig = (0, price_aggregation_1.getTokenConfig)('InDy');
82
+ expect(mixedConfig).toEqual(price_aggregation_1.SUPPORTED_TOKENS.INDY);
83
+ });
84
+ it('should throw error for unsupported tokens', () => {
85
+ expect(() => (0, price_aggregation_1.getTokenConfig)('UNSUPPORTED')).toThrow('Unsupported token: UNSUPPORTED');
86
+ expect(() => (0, price_aggregation_1.getTokenConfig)('BTC')).toThrow('Unsupported token: BTC');
87
+ expect(() => (0, price_aggregation_1.getTokenConfig)('')).toThrow('Unsupported token: ');
88
+ });
89
+ });
90
+ describe('isTokenSupported', () => {
91
+ it('should return true for supported tokens', () => {
92
+ expect((0, price_aggregation_1.isTokenSupported)('INDY')).toBe(true);
93
+ expect((0, price_aggregation_1.isTokenSupported)('SNEK')).toBe(true);
94
+ expect((0, price_aggregation_1.isTokenSupported)('NIGHT')).toBe(true);
95
+ expect((0, price_aggregation_1.isTokenSupported)('MIN')).toBe(true);
96
+ });
97
+ it('should handle case insensitive symbols', () => {
98
+ expect((0, price_aggregation_1.isTokenSupported)('indy')).toBe(true);
99
+ expect((0, price_aggregation_1.isTokenSupported)('snek')).toBe(true);
100
+ expect((0, price_aggregation_1.isTokenSupported)('InDy')).toBe(true);
101
+ expect((0, price_aggregation_1.isTokenSupported)('SNEK')).toBe(true);
102
+ });
103
+ it('should return false for unsupported tokens', () => {
104
+ expect((0, price_aggregation_1.isTokenSupported)('UNSUPPORTED')).toBe(false);
105
+ expect((0, price_aggregation_1.isTokenSupported)('BTC')).toBe(false);
106
+ expect((0, price_aggregation_1.isTokenSupported)('ETH')).toBe(false);
107
+ expect((0, price_aggregation_1.isTokenSupported)('')).toBe(false);
108
+ });
109
+ });
110
+ describe('getSupportedTokens', () => {
111
+ it('should return all supported token symbols', () => {
112
+ const supportedTokens = (0, price_aggregation_1.getSupportedTokens)();
113
+ expect(supportedTokens).toEqual(['INDY', 'SNEK', 'NIGHT', 'MIN']);
114
+ expect(supportedTokens).toHaveLength(4);
115
+ });
116
+ it('should return a new array each time', () => {
117
+ const tokens1 = (0, price_aggregation_1.getSupportedTokens)();
118
+ const tokens2 = (0, price_aggregation_1.getSupportedTokens)();
119
+ expect(tokens1).toEqual(tokens2);
120
+ expect(tokens1).not.toBe(tokens2);
121
+ });
122
+ it('should contain only string values', () => {
123
+ const supportedTokens = (0, price_aggregation_1.getSupportedTokens)();
124
+ supportedTokens.forEach(token => {
125
+ expect(typeof token).toBe('string');
126
+ });
127
+ });
128
+ });
129
+ describe('integration', () => {
130
+ it('should work together correctly', () => {
131
+ const supportedTokens = (0, price_aggregation_1.getSupportedTokens)();
132
+ supportedTokens.forEach(symbol => {
133
+ expect((0, price_aggregation_1.isTokenSupported)(symbol)).toBe(true);
134
+ expect(() => (0, price_aggregation_1.getTokenConfig)(symbol)).not.toThrow();
135
+ const config = (0, price_aggregation_1.getTokenConfig)(symbol);
136
+ expect(config.symbol).toBe(symbol);
137
+ expect(config.policyId).toBeTruthy();
138
+ expect(config.assetName).toBeTruthy();
139
+ expect(typeof config.minLiquidityThreshold).toBe('number');
140
+ });
141
+ });
142
+ });
143
+ });
144
+ //# sourceMappingURL=price-aggregation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"price-aggregation.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/config/price-aggregation.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=base-exchange-connector.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-exchange-connector.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/unit/core/exchange/base-exchange-connector.test.ts"],"names":[],"mappings":""}