@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
@@ -1,229 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const price_calculator_1 = require("../../../../core/price-aggregation/price-calculator");
4
- describe('PriceCalculator', () => {
5
- let calculator;
6
- beforeEach(() => {
7
- calculator = new price_calculator_1.PriceCalculator();
8
- });
9
- describe('calculateLiquidityWeightedPrice', () => {
10
- it('should calculate correct weighted price for multiple pools', () => {
11
- const pools = [
12
- {
13
- dex: 'MinswapV2',
14
- identifier: 'pool1',
15
- state: {
16
- tvl: 1000000,
17
- reserveA: 1000000,
18
- reserveB: 500000
19
- },
20
- isActive: true
21
- },
22
- {
23
- dex: 'SundaeSwap',
24
- identifier: 'pool2',
25
- state: {
26
- tvl: 500000,
27
- reserveA: 500000,
28
- reserveB: 300000
29
- },
30
- isActive: true
31
- }
32
- ];
33
- const result = calculator.calculateLiquidityWeightedPrice(pools);
34
- expect(result.price).toBeCloseTo(0.533, 3);
35
- expect(result.confidence).toBeGreaterThan(0.5);
36
- expect(result.poolsUsed).toBe(2);
37
- expect(result.totalLiquidity).toBe(1500000);
38
- expect(result.timestamp).toBeInstanceOf(Date);
39
- });
40
- it('should handle single pool correctly', () => {
41
- const pools = [
42
- {
43
- dex: 'MinswapV2',
44
- identifier: 'pool1',
45
- state: {
46
- tvl: 2000000,
47
- reserveA: 1000000,
48
- reserveB: 750000 // price = 0.75 ADA/token
49
- },
50
- isActive: true
51
- }
52
- ];
53
- const result = calculator.calculateLiquidityWeightedPrice(pools);
54
- expect(result.price).toBeCloseTo(0.75, 3);
55
- expect(result.confidence).toBe(0.7); // Single pool confidence
56
- expect(result.poolsUsed).toBe(1);
57
- expect(result.totalLiquidity).toBe(2000000);
58
- });
59
- it('should filter out invalid pools', () => {
60
- const pools = [
61
- {
62
- dex: 'ValidPool',
63
- identifier: 'pool1',
64
- state: {
65
- tvl: 1000000,
66
- reserveA: 1000000,
67
- reserveB: 500000
68
- },
69
- isActive: true
70
- },
71
- {
72
- dex: 'InvalidPool',
73
- identifier: 'pool2',
74
- state: {
75
- tvl: 0,
76
- reserveA: 0,
77
- reserveB: 0
78
- },
79
- isActive: true
80
- },
81
- {
82
- dex: 'AnotherInvalid',
83
- identifier: 'pool3'
84
- }
85
- ];
86
- const result = calculator.calculateLiquidityWeightedPrice(pools);
87
- expect(result.poolsUsed).toBe(1);
88
- expect(result.price).toBe(0.5);
89
- });
90
- it('should throw error for empty pools array', () => {
91
- expect(() => {
92
- calculator.calculateLiquidityWeightedPrice([]);
93
- }).toThrow('No pools provided for price calculation');
94
- });
95
- it('should throw error when no valid pools found', () => {
96
- const invalidPools = [
97
- {
98
- dex: 'InvalidPool',
99
- identifier: 'pool1',
100
- state: {
101
- tvl: 0,
102
- reserveA: 0,
103
- reserveB: 0
104
- }
105
- }
106
- ];
107
- expect(() => {
108
- calculator.calculateLiquidityWeightedPrice(invalidPools);
109
- }).toThrow('No valid pools found for price calculation');
110
- });
111
- it('should throw error when total liquidity is zero', () => {
112
- const pools = [
113
- {
114
- dex: 'ZeroLiquidity',
115
- identifier: 'pool1',
116
- state: {
117
- tvl: 0,
118
- reserveA: 1000000,
119
- reserveB: 500000
120
- }
121
- }
122
- ];
123
- expect(() => {
124
- calculator.calculateLiquidityWeightedPrice(pools);
125
- }).toThrow('No valid pools found for price calculation');
126
- });
127
- it('should calculate higher confidence for more diverse pools', () => {
128
- const singlePool = [
129
- {
130
- dex: 'MinswapV2',
131
- identifier: 'pool1',
132
- state: { tvl: 1000000, reserveA: 1000000, reserveB: 500000 }
133
- }
134
- ];
135
- const multiplePools = [
136
- {
137
- dex: 'MinswapV2',
138
- identifier: 'pool1',
139
- state: { tvl: 600000, reserveA: 1000000, reserveB: 500000 }
140
- },
141
- {
142
- dex: 'SundaeSwap',
143
- identifier: 'pool2',
144
- state: { tvl: 400000, reserveA: 500000, reserveB: 250000 }
145
- }
146
- ];
147
- const singleResult = calculator.calculateLiquidityWeightedPrice(singlePool);
148
- const multipleResult = calculator.calculateLiquidityWeightedPrice(multiplePools);
149
- expect(multipleResult.confidence).toBeGreaterThanOrEqual(singleResult.confidence);
150
- });
151
- it('should reduce confidence for high concentration pools', () => {
152
- const highConcentration = [
153
- {
154
- dex: 'DominantPool',
155
- identifier: 'pool1',
156
- state: { tvl: 9000000, reserveA: 1000000, reserveB: 500000 }
157
- },
158
- {
159
- dex: 'SmallPool',
160
- identifier: 'pool2',
161
- state: { tvl: 1000000, reserveA: 500000, reserveB: 250000 }
162
- }
163
- ];
164
- const balanced = [
165
- {
166
- dex: 'Pool1',
167
- identifier: 'pool1',
168
- state: { tvl: 5000000, reserveA: 1000000, reserveB: 500000 }
169
- },
170
- {
171
- dex: 'Pool2',
172
- identifier: 'pool2',
173
- state: { tvl: 5000000, reserveA: 500000, reserveB: 250000 }
174
- }
175
- ];
176
- const concentratedResult = calculator.calculateLiquidityWeightedPrice(highConcentration);
177
- const balancedResult = calculator.calculateLiquidityWeightedPrice(balanced);
178
- expect(balancedResult.confidence).toBeGreaterThan(concentratedResult.confidence);
179
- });
180
- });
181
- describe('private method validation', () => {
182
- it('should validate pool data correctly', () => {
183
- const validPool = {
184
- dex: 'MinswapV2',
185
- identifier: 'pool1',
186
- state: {
187
- tvl: 1000000,
188
- reserveA: 1000000,
189
- reserveB: 500000
190
- }
191
- };
192
- const invalidPools = [
193
- {
194
- dex: 'NoState',
195
- identifier: 'pool1'
196
- },
197
- {
198
- dex: 'ZeroTVL',
199
- identifier: 'pool2',
200
- state: { tvl: 0, reserveA: 1000000, reserveB: 500000 }
201
- },
202
- {
203
- dex: 'ZeroReserveA',
204
- identifier: 'pool3',
205
- state: { tvl: 1000000, reserveA: 0, reserveB: 500000 }
206
- },
207
- {
208
- dex: 'ZeroReserveB',
209
- identifier: 'pool4',
210
- state: { tvl: 1000000, reserveA: 1000000, reserveB: 0 }
211
- },
212
- {
213
- dex: 'InfiniteReserve',
214
- identifier: 'pool5',
215
- state: { tvl: 1000000, reserveA: Infinity, reserveB: 500000 }
216
- }
217
- ];
218
- expect(() => {
219
- calculator.calculateLiquidityWeightedPrice([validPool]);
220
- }).not.toThrow();
221
- invalidPools.forEach(pool => {
222
- expect(() => {
223
- calculator.calculateLiquidityWeightedPrice([pool]);
224
- }).toThrow();
225
- });
226
- });
227
- });
228
- });
229
- //# sourceMappingURL=price-calculator.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"price-calculator.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/core/price-aggregation/price-calculator.test.ts"],"names":[],"mappings":";;AAAA,0FAAsF;AAGtF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,UAA2B,CAAC;IAEhC,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,IAAI,kCAAe,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,KAAK,GAAoB;gBAC7B;oBACE,GAAG,EAAE,WAAW;oBAChB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE;wBACL,GAAG,EAAE,OAAO;wBACZ,QAAQ,EAAE,OAAO;wBACjB,QAAQ,EAAE,MAAM;qBACjB;oBACD,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,GAAG,EAAE,YAAY;oBACjB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE;wBACL,GAAG,EAAE,MAAM;wBACX,QAAQ,EAAE,MAAM;wBAChB,QAAQ,EAAE,MAAM;qBACjB;oBACD,QAAQ,EAAE,IAAI;iBACf;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,UAAU,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;YAEjE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,KAAK,GAAoB;gBAC7B;oBACE,GAAG,EAAE,WAAW;oBAChB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE;wBACL,GAAG,EAAE,OAAO;wBACZ,QAAQ,EAAE,OAAO;wBACjB,QAAQ,EAAE,MAAM,CAAE,yBAAyB;qBAC5C;oBACD,QAAQ,EAAE,IAAI;iBACf;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,UAAU,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;YAEjE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,yBAAyB;YAC9D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,KAAK,GAAoB;gBAC7B;oBACE,GAAG,EAAE,WAAW;oBAChB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE;wBACL,GAAG,EAAE,OAAO;wBACZ,QAAQ,EAAE,OAAO;wBACjB,QAAQ,EAAE,MAAM;qBACjB;oBACD,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,GAAG,EAAE,aAAa;oBAClB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE;wBACL,GAAG,EAAE,CAAC;wBACN,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,CAAC;qBACZ;oBACD,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,GAAG,EAAE,gBAAgB;oBACrB,UAAU,EAAE,OAAO;iBACpB;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,UAAU,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;YAEjE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,CAAC,GAAG,EAAE;gBACV,UAAU,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,YAAY,GAAoB;gBACpC;oBACE,GAAG,EAAE,aAAa;oBAClB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE;wBACL,GAAG,EAAE,CAAC;wBACN,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,CAAC;qBACZ;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,GAAG,EAAE;gBACV,UAAU,CAAC,+BAA+B,CAAC,YAAY,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,KAAK,GAAoB;gBAC7B;oBACE,GAAG,EAAE,eAAe;oBACpB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE;wBACL,GAAG,EAAE,CAAC;wBACN,QAAQ,EAAE,OAAO;wBACjB,QAAQ,EAAE,MAAM;qBACjB;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,GAAG,EAAE;gBACV,UAAU,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,UAAU,GAAoB;gBAClC;oBACE,GAAG,EAAE,WAAW;oBAChB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;iBAC7D;aACF,CAAC;YAEF,MAAM,aAAa,GAAoB;gBACrC;oBACE,GAAG,EAAE,WAAW;oBAChB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;iBAC5D;gBACD;oBACE,GAAG,EAAE,YAAY;oBACjB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;iBAC3D;aACF,CAAC;YAEF,MAAM,YAAY,GAAG,UAAU,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC;YAC5E,MAAM,cAAc,GAAG,UAAU,CAAC,+BAA+B,CAAC,aAAa,CAAC,CAAC;YAEjF,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,sBAAsB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,iBAAiB,GAAoB;gBACzC;oBACE,GAAG,EAAE,cAAc;oBACnB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;iBAC7D;gBACD;oBACE,GAAG,EAAE,WAAW;oBAChB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;iBAC5D;aACF,CAAC;YAEF,MAAM,QAAQ,GAAoB;gBAChC;oBACE,GAAG,EAAE,OAAO;oBACZ,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;iBAC7D;gBACD;oBACE,GAAG,EAAE,OAAO;oBACZ,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;iBAC5D;aACF,CAAC;YAEF,MAAM,kBAAkB,GAAG,UAAU,CAAC,+BAA+B,CAAC,iBAAiB,CAAC,CAAC;YACzF,MAAM,cAAc,GAAG,UAAU,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC;YAE5E,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,SAAS,GAAkB;gBAC/B,GAAG,EAAE,WAAW;gBAChB,UAAU,EAAE,OAAO;gBACnB,KAAK,EAAE;oBACL,GAAG,EAAE,OAAO;oBACZ,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,MAAM;iBACjB;aACF,CAAC;YAEF,MAAM,YAAY,GAAoB;gBACpC;oBACE,GAAG,EAAE,SAAS;oBACd,UAAU,EAAE,OAAO;iBACpB;gBACD;oBACE,GAAG,EAAE,SAAS;oBACd,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;iBACvD;gBACD;oBACE,GAAG,EAAE,cAAc;oBACnB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;iBACvD;gBACD;oBACE,GAAG,EAAE,cAAc;oBACnB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE;iBACxD;gBACD;oBACE,GAAG,EAAE,iBAAiB;oBACtB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE;iBAC9D;aACF,CAAC;YAEF,MAAM,CAAC,GAAG,EAAE;gBACV,UAAU,CAAC,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC1B,MAAM,CAAC,GAAG,EAAE;oBACV,UAAU,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=risk-manager.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"risk-manager.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/unit/core/risk-management/risk-manager.test.ts"],"names":[],"mappings":""}
@@ -1,194 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const risk_manager_1 = require("../../../../core/risk-management/risk-manager");
4
- describe('RiskManager', () => {
5
- let riskManager;
6
- beforeEach(() => {
7
- riskManager = new risk_manager_1.RiskManager({
8
- maxPositionSize: 0.8,
9
- safetyReservePercentage: 0.2,
10
- minConfidence: 0.6
11
- });
12
- });
13
- describe('validatePosition', () => {
14
- it('should allow orders within 80% position limit', () => {
15
- const order = {
16
- id: 'test-order',
17
- symbol: 'INDY/USDT',
18
- type: 'limit',
19
- side: 'buy',
20
- amount: 100,
21
- price: 0.42,
22
- filled: 0,
23
- remaining: 100,
24
- status: 'open',
25
- timestamp: Date.now()
26
- };
27
- const balance = {
28
- asset: 'USDT',
29
- free: 600,
30
- used: 200,
31
- total: 1000,
32
- available: 600
33
- };
34
- const isValid = riskManager.validatePosition(order, balance);
35
- expect(isValid).toBe(true);
36
- });
37
- it('should reject orders exceeding 80% position limit', () => {
38
- const order = {
39
- id: 'test-order',
40
- symbol: 'INDY/USDT',
41
- type: 'limit',
42
- side: 'buy',
43
- amount: 1000,
44
- price: 0.42,
45
- filled: 0,
46
- remaining: 1000,
47
- status: 'open',
48
- timestamp: Date.now()
49
- };
50
- const balance = {
51
- asset: 'USDT',
52
- free: 200,
53
- used: 400,
54
- total: 1000,
55
- available: 200
56
- };
57
- const isValid = riskManager.validatePosition(order, balance);
58
- expect(isValid).toBe(false);
59
- });
60
- });
61
- describe('checkPriceConfidence', () => {
62
- it('should accept price confidence above threshold', () => {
63
- const aggregatedPrice = {
64
- symbol: 'INDY/USDT',
65
- price: 0.42,
66
- confidence: 0.8,
67
- timestamp: new Date(),
68
- sources: []
69
- };
70
- const isValid = riskManager.checkPriceConfidence(aggregatedPrice);
71
- expect(isValid).toBe(true);
72
- });
73
- it('should reject price confidence below threshold', () => {
74
- const aggregatedPrice = {
75
- symbol: 'INDY/USDT',
76
- price: 0.42,
77
- confidence: 0.4,
78
- timestamp: new Date(),
79
- sources: []
80
- };
81
- const isValid = riskManager.checkPriceConfidence(aggregatedPrice);
82
- expect(isValid).toBe(false);
83
- });
84
- });
85
- describe('calculateAvailableBalance', () => {
86
- it('should calculate 80% of total balance as available', () => {
87
- const balance = {
88
- asset: 'USDT',
89
- free: 800,
90
- used: 200,
91
- total: 1000,
92
- available: 800
93
- };
94
- const available = riskManager.calculateAvailableBalance(balance);
95
- expect(available).toBe(800);
96
- });
97
- });
98
- describe('validateTrade', () => {
99
- it('should validate trade with good confidence and position size', () => {
100
- const order = {
101
- id: 'test-order',
102
- symbol: 'INDY/USDT',
103
- type: 'limit',
104
- side: 'buy',
105
- amount: 100,
106
- price: 0.42,
107
- filled: 0,
108
- remaining: 100,
109
- status: 'open',
110
- timestamp: Date.now()
111
- };
112
- const balance = {
113
- asset: 'USDT',
114
- free: 600,
115
- used: 200,
116
- total: 1000,
117
- available: 600
118
- };
119
- const aggregatedPrice = {
120
- symbol: 'INDY/USDT',
121
- price: 0.42,
122
- confidence: 0.8,
123
- timestamp: new Date(),
124
- sources: []
125
- };
126
- const result = riskManager.validateTrade(order, balance, aggregatedPrice);
127
- expect(result.valid).toBe(true);
128
- expect(result.reason).toBeUndefined();
129
- });
130
- it('should reject trade with low confidence', () => {
131
- const order = {
132
- id: 'test-order',
133
- symbol: 'INDY/USDT',
134
- type: 'limit',
135
- side: 'buy',
136
- amount: 100,
137
- price: 0.42,
138
- filled: 0,
139
- remaining: 100,
140
- status: 'open',
141
- timestamp: Date.now()
142
- };
143
- const balance = {
144
- asset: 'USDT',
145
- free: 600,
146
- used: 200,
147
- total: 1000,
148
- available: 600
149
- };
150
- const aggregatedPrice = {
151
- symbol: 'INDY/USDT',
152
- price: 0.42,
153
- confidence: 0.4,
154
- timestamp: new Date(),
155
- sources: []
156
- };
157
- const result = riskManager.validateTrade(order, balance, aggregatedPrice);
158
- expect(result.valid).toBe(false);
159
- expect(result.reason).toContain('Price confidence too low');
160
- });
161
- it('should reject trade exceeding position limit', () => {
162
- const order = {
163
- id: 'test-order',
164
- symbol: 'INDY/USDT',
165
- type: 'limit',
166
- side: 'buy',
167
- amount: 2000,
168
- price: 0.42,
169
- filled: 0,
170
- remaining: 2000,
171
- status: 'open',
172
- timestamp: Date.now()
173
- };
174
- const balance = {
175
- asset: 'USDT',
176
- free: 200,
177
- used: 600,
178
- total: 1000,
179
- available: 200
180
- };
181
- const aggregatedPrice = {
182
- symbol: 'INDY/USDT',
183
- price: 0.42,
184
- confidence: 0.8,
185
- timestamp: new Date(),
186
- sources: []
187
- };
188
- const result = riskManager.validateTrade(order, balance, aggregatedPrice);
189
- expect(result.valid).toBe(false);
190
- expect(result.reason).toContain('Position size would exceed 80% limit');
191
- });
192
- });
193
- });
194
- //# sourceMappingURL=risk-manager.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"risk-manager.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/core/risk-management/risk-manager.test.ts"],"names":[],"mappings":";;AAAA,gFAA4E;AAK5E,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,WAAwB,CAAC;IAE7B,UAAU,CAAC,GAAG,EAAE;QACd,WAAW,GAAG,IAAI,0BAAW,CAAC;YAC5B,eAAe,EAAE,GAAG;YACpB,uBAAuB,EAAE,GAAG;YAC5B,aAAa,EAAE,GAAG;SACnB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,KAAK,GAAU;gBACnB,EAAE,EAAE,YAAY;gBAChB,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,GAAG;gBACd,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,MAAM,OAAO,GAAY;gBACvB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,GAAG;aACf,CAAC;YAEF,MAAM,OAAO,GAAG,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAE7D,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,KAAK,GAAU;gBACnB,EAAE,EAAE,YAAY;gBAChB,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,MAAM,OAAO,GAAY;gBACvB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,GAAG;aACf,CAAC;YAEF,MAAM,OAAO,GAAG,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAE7D,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,eAAe,GAAoB;gBACvC,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,OAAO,EAAE,EAAE;aACZ,CAAC;YAEF,MAAM,OAAO,GAAG,WAAW,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAElE,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,eAAe,GAAoB;gBACvC,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,OAAO,EAAE,EAAE;aACZ,CAAC;YAEF,MAAM,OAAO,GAAG,WAAW,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAElE,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,OAAO,GAAY;gBACvB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,GAAG;aACf,CAAC;YAEF,MAAM,SAAS,GAAG,WAAW,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;YAEjE,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACtE,MAAM,KAAK,GAAU;gBACnB,EAAE,EAAE,YAAY;gBAChB,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,GAAG;gBACd,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,MAAM,OAAO,GAAY;gBACvB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,GAAG;aACf,CAAC;YAEF,MAAM,eAAe,GAAoB;gBACvC,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,OAAO,EAAE,EAAE;aACZ,CAAC;YAEF,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;YAE1E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,KAAK,GAAU;gBACnB,EAAE,EAAE,YAAY;gBAChB,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,GAAG;gBACd,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,MAAM,OAAO,GAAY;gBACvB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,GAAG;aACf,CAAC;YAEF,MAAM,eAAe,GAAoB;gBACvC,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,OAAO,EAAE,EAAE;aACZ,CAAC;YAEF,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;YAE1E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,KAAK,GAAU;gBACnB,EAAE,EAAE,YAAY;gBAChB,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,MAAM,OAAO,GAAY;gBACvB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,GAAG;aACf,CAAC;YAEF,MAAM,eAAe,GAAoB;gBACvC,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,OAAO,EAAE,EAAE;aACZ,CAAC;YAEF,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;YAE1E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=base-strategy.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-strategy.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/unit/core/strategy/base-strategy.test.ts"],"names":[],"mappings":""}