genius-intents 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 (252) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/LICENSE +21 -0
  3. package/README.md +376 -0
  4. package/dist/src/index.d.ts +27 -0
  5. package/dist/src/index.d.ts.map +1 -0
  6. package/dist/src/index.js +62 -0
  7. package/dist/src/index.js.map +1 -0
  8. package/dist/src/intents-protocols.d.ts +69 -0
  9. package/dist/src/intents-protocols.d.ts.map +1 -0
  10. package/dist/src/intents-protocols.js +371 -0
  11. package/dist/src/intents-protocols.js.map +1 -0
  12. package/dist/src/interfaces/intent-protocol.d.ts +21 -0
  13. package/dist/src/interfaces/intent-protocol.d.ts.map +1 -0
  14. package/dist/src/interfaces/intent-protocol.js +3 -0
  15. package/dist/src/interfaces/intent-protocol.js.map +1 -0
  16. package/dist/src/protocols/aftermath/aftermath.service.d.ts +28 -0
  17. package/dist/src/protocols/aftermath/aftermath.service.d.ts.map +1 -0
  18. package/dist/src/protocols/aftermath/aftermath.service.js +162 -0
  19. package/dist/src/protocols/aftermath/aftermath.service.js.map +1 -0
  20. package/dist/src/protocols/aftermath/aftermath.types.d.ts +100 -0
  21. package/dist/src/protocols/aftermath/aftermath.types.d.ts.map +1 -0
  22. package/dist/src/protocols/aftermath/aftermath.types.js +3 -0
  23. package/dist/src/protocols/aftermath/aftermath.types.js.map +1 -0
  24. package/dist/src/protocols/aftermath/index.d.ts +3 -0
  25. package/dist/src/protocols/aftermath/index.d.ts.map +1 -0
  26. package/dist/src/protocols/aftermath/index.js +7 -0
  27. package/dist/src/protocols/aftermath/index.js.map +1 -0
  28. package/dist/src/protocols/debridge/debridge.service.d.ts +157 -0
  29. package/dist/src/protocols/debridge/debridge.service.d.ts.map +1 -0
  30. package/dist/src/protocols/debridge/debridge.service.js +462 -0
  31. package/dist/src/protocols/debridge/debridge.service.js.map +1 -0
  32. package/dist/src/protocols/debridge/debridge.types.d.ts +82 -0
  33. package/dist/src/protocols/debridge/debridge.types.d.ts.map +1 -0
  34. package/dist/src/protocols/debridge/debridge.types.js +3 -0
  35. package/dist/src/protocols/debridge/debridge.types.js.map +1 -0
  36. package/dist/src/protocols/debridge/index.d.ts +3 -0
  37. package/dist/src/protocols/debridge/index.d.ts.map +1 -0
  38. package/dist/src/protocols/debridge/index.js +7 -0
  39. package/dist/src/protocols/debridge/index.js.map +1 -0
  40. package/dist/src/protocols/genius-bridge/genius-bridge.service.d.ts +36 -0
  41. package/dist/src/protocols/genius-bridge/genius-bridge.service.d.ts.map +1 -0
  42. package/dist/src/protocols/genius-bridge/genius-bridge.service.js +312 -0
  43. package/dist/src/protocols/genius-bridge/genius-bridge.service.js.map +1 -0
  44. package/dist/src/protocols/genius-bridge/genius-bridge.types.d.ts +100 -0
  45. package/dist/src/protocols/genius-bridge/genius-bridge.types.d.ts.map +1 -0
  46. package/dist/src/protocols/genius-bridge/genius-bridge.types.js +3 -0
  47. package/dist/src/protocols/genius-bridge/genius-bridge.types.js.map +1 -0
  48. package/dist/src/protocols/genius-bridge/index.d.ts +3 -0
  49. package/dist/src/protocols/genius-bridge/index.d.ts.map +1 -0
  50. package/dist/src/protocols/genius-bridge/index.js +7 -0
  51. package/dist/src/protocols/genius-bridge/index.js.map +1 -0
  52. package/dist/src/protocols/jupiter/index.d.ts +3 -0
  53. package/dist/src/protocols/jupiter/index.d.ts.map +1 -0
  54. package/dist/src/protocols/jupiter/index.js +7 -0
  55. package/dist/src/protocols/jupiter/index.js.map +1 -0
  56. package/dist/src/protocols/jupiter/jupiter.service.d.ts +37 -0
  57. package/dist/src/protocols/jupiter/jupiter.service.d.ts.map +1 -0
  58. package/dist/src/protocols/jupiter/jupiter.service.js +188 -0
  59. package/dist/src/protocols/jupiter/jupiter.service.js.map +1 -0
  60. package/dist/src/protocols/jupiter/jupiter.types.d.ts +272 -0
  61. package/dist/src/protocols/jupiter/jupiter.types.d.ts.map +1 -0
  62. package/dist/src/protocols/jupiter/jupiter.types.js +3 -0
  63. package/dist/src/protocols/jupiter/jupiter.types.js.map +1 -0
  64. package/dist/src/protocols/kyberswap/index.d.ts +3 -0
  65. package/dist/src/protocols/kyberswap/index.d.ts.map +1 -0
  66. package/dist/src/protocols/kyberswap/index.js +7 -0
  67. package/dist/src/protocols/kyberswap/index.js.map +1 -0
  68. package/dist/src/protocols/kyberswap/kyberswap.service.d.ts +34 -0
  69. package/dist/src/protocols/kyberswap/kyberswap.service.d.ts.map +1 -0
  70. package/dist/src/protocols/kyberswap/kyberswap.service.js +218 -0
  71. package/dist/src/protocols/kyberswap/kyberswap.service.js.map +1 -0
  72. package/dist/src/protocols/kyberswap/kyberswap.types.d.ts +114 -0
  73. package/dist/src/protocols/kyberswap/kyberswap.types.d.ts.map +1 -0
  74. package/dist/src/protocols/kyberswap/kyberswap.types.js +3 -0
  75. package/dist/src/protocols/kyberswap/kyberswap.types.js.map +1 -0
  76. package/dist/src/protocols/odos/index.d.ts +3 -0
  77. package/dist/src/protocols/odos/index.d.ts.map +1 -0
  78. package/dist/src/protocols/odos/index.js +7 -0
  79. package/dist/src/protocols/odos/index.js.map +1 -0
  80. package/dist/src/protocols/odos/odos.service.d.ts +39 -0
  81. package/dist/src/protocols/odos/odos.service.d.ts.map +1 -0
  82. package/dist/src/protocols/odos/odos.service.js +207 -0
  83. package/dist/src/protocols/odos/odos.service.js.map +1 -0
  84. package/dist/src/protocols/odos/odos.types.d.ts +114 -0
  85. package/dist/src/protocols/odos/odos.types.d.ts.map +1 -0
  86. package/dist/src/protocols/odos/odos.types.js +3 -0
  87. package/dist/src/protocols/odos/odos.types.js.map +1 -0
  88. package/dist/src/protocols/okx/index.d.ts +3 -0
  89. package/dist/src/protocols/okx/index.d.ts.map +1 -0
  90. package/dist/src/protocols/okx/index.js +7 -0
  91. package/dist/src/protocols/okx/index.js.map +1 -0
  92. package/dist/src/protocols/okx/okx.service.d.ts +36 -0
  93. package/dist/src/protocols/okx/okx.service.d.ts.map +1 -0
  94. package/dist/src/protocols/okx/okx.service.js +281 -0
  95. package/dist/src/protocols/okx/okx.service.js.map +1 -0
  96. package/dist/src/protocols/okx/okx.types.d.ts +119 -0
  97. package/dist/src/protocols/okx/okx.types.d.ts.map +1 -0
  98. package/dist/src/protocols/okx/okx.types.js +4 -0
  99. package/dist/src/protocols/okx/okx.types.js.map +1 -0
  100. package/dist/src/protocols/okx-bridge/okx-bridge.service.d.ts +1 -0
  101. package/dist/src/protocols/okx-bridge/okx-bridge.service.d.ts.map +1 -0
  102. package/dist/src/protocols/okx-bridge/okx-bridge.service.js +2 -0
  103. package/dist/src/protocols/okx-bridge/okx-bridge.service.js.map +1 -0
  104. package/dist/src/protocols/okx-bridge/okx-bridge.types.d.ts +1 -0
  105. package/dist/src/protocols/okx-bridge/okx-bridge.types.d.ts.map +1 -0
  106. package/dist/src/protocols/okx-bridge/okx-bridge.types.js +2 -0
  107. package/dist/src/protocols/okx-bridge/okx-bridge.types.js.map +1 -0
  108. package/dist/src/protocols/openocean/index.d.ts +3 -0
  109. package/dist/src/protocols/openocean/index.d.ts.map +1 -0
  110. package/dist/src/protocols/openocean/index.js +7 -0
  111. package/dist/src/protocols/openocean/index.js.map +1 -0
  112. package/dist/src/protocols/openocean/openocean.service.d.ts +29 -0
  113. package/dist/src/protocols/openocean/openocean.service.d.ts.map +1 -0
  114. package/dist/src/protocols/openocean/openocean.service.js +181 -0
  115. package/dist/src/protocols/openocean/openocean.service.js.map +1 -0
  116. package/dist/src/protocols/openocean/openocean.types.d.ts +68 -0
  117. package/dist/src/protocols/openocean/openocean.types.d.ts.map +1 -0
  118. package/dist/src/protocols/openocean/openocean.types.js +3 -0
  119. package/dist/src/protocols/openocean/openocean.types.js.map +1 -0
  120. package/dist/src/protocols/pumpfun/index.d.ts +3 -0
  121. package/dist/src/protocols/pumpfun/index.d.ts.map +1 -0
  122. package/dist/src/protocols/pumpfun/index.js +7 -0
  123. package/dist/src/protocols/pumpfun/index.js.map +1 -0
  124. package/dist/src/protocols/pumpfun/pumpfun.service.d.ts +45 -0
  125. package/dist/src/protocols/pumpfun/pumpfun.service.d.ts.map +1 -0
  126. package/dist/src/protocols/pumpfun/pumpfun.service.js +217 -0
  127. package/dist/src/protocols/pumpfun/pumpfun.service.js.map +1 -0
  128. package/dist/src/protocols/pumpfun/pumpfun.types.d.ts +14 -0
  129. package/dist/src/protocols/pumpfun/pumpfun.types.d.ts.map +1 -0
  130. package/dist/src/protocols/pumpfun/pumpfun.types.js +3 -0
  131. package/dist/src/protocols/pumpfun/pumpfun.types.js.map +1 -0
  132. package/dist/src/protocols/raydium/index.d.ts +3 -0
  133. package/dist/src/protocols/raydium/index.d.ts.map +1 -0
  134. package/dist/src/protocols/raydium/index.js +7 -0
  135. package/dist/src/protocols/raydium/index.js.map +1 -0
  136. package/dist/src/protocols/raydium/raydium-v2.service.d.ts +35 -0
  137. package/dist/src/protocols/raydium/raydium-v2.service.d.ts.map +1 -0
  138. package/dist/src/protocols/raydium/raydium-v2.service.js +301 -0
  139. package/dist/src/protocols/raydium/raydium-v2.service.js.map +1 -0
  140. package/dist/src/protocols/raydium/raydium-v2.types.d.ts +96 -0
  141. package/dist/src/protocols/raydium/raydium-v2.types.d.ts.map +1 -0
  142. package/dist/src/protocols/raydium/raydium-v2.types.js +3 -0
  143. package/dist/src/protocols/raydium/raydium-v2.types.js.map +1 -0
  144. package/dist/src/protocols/zeroX/index.d.ts +3 -0
  145. package/dist/src/protocols/zeroX/index.d.ts.map +1 -0
  146. package/dist/src/protocols/zeroX/index.js +7 -0
  147. package/dist/src/protocols/zeroX/index.js.map +1 -0
  148. package/dist/src/protocols/zeroX/zeroX.service.d.ts +37 -0
  149. package/dist/src/protocols/zeroX/zeroX.service.d.ts.map +1 -0
  150. package/dist/src/protocols/zeroX/zeroX.service.js +209 -0
  151. package/dist/src/protocols/zeroX/zeroX.service.js.map +1 -0
  152. package/dist/src/protocols/zeroX/zeroX.types.d.ts +120 -0
  153. package/dist/src/protocols/zeroX/zeroX.types.d.ts.map +1 -0
  154. package/dist/src/protocols/zeroX/zeroX.types.js +3 -0
  155. package/dist/src/protocols/zeroX/zeroX.types.js.map +1 -0
  156. package/dist/src/types/enums.d.ts +42 -0
  157. package/dist/src/types/enums.d.ts.map +1 -0
  158. package/dist/src/types/enums.js +49 -0
  159. package/dist/src/types/enums.js.map +1 -0
  160. package/dist/src/types/intents-protocols.d.ts +89 -0
  161. package/dist/src/types/intents-protocols.d.ts.map +1 -0
  162. package/dist/src/types/intents-protocols.js +3 -0
  163. package/dist/src/types/intents-protocols.js.map +1 -0
  164. package/dist/src/types/price-response.d.ts +26 -0
  165. package/dist/src/types/price-response.d.ts.map +1 -0
  166. package/dist/src/types/price-response.js +3 -0
  167. package/dist/src/types/price-response.js.map +1 -0
  168. package/dist/src/types/quote-response.d.ts +31 -0
  169. package/dist/src/types/quote-response.d.ts.map +1 -0
  170. package/dist/src/types/quote-response.js +3 -0
  171. package/dist/src/types/quote-response.js.map +1 -0
  172. package/dist/src/utils/address-validation.d.ts +9 -0
  173. package/dist/src/utils/address-validation.d.ts.map +1 -0
  174. package/dist/src/utils/address-validation.js +42 -0
  175. package/dist/src/utils/address-validation.js.map +1 -0
  176. package/dist/src/utils/address.d.ts +9 -0
  177. package/dist/src/utils/address.d.ts.map +1 -0
  178. package/dist/src/utils/address.js +74 -0
  179. package/dist/src/utils/address.js.map +1 -0
  180. package/dist/src/utils/base64-to-base58.d.ts +2 -0
  181. package/dist/src/utils/base64-to-base58.d.ts.map +1 -0
  182. package/dist/src/utils/base64-to-base58.js +22 -0
  183. package/dist/src/utils/base64-to-base58.js.map +1 -0
  184. package/dist/src/utils/chain-id-name.d.ts +3 -0
  185. package/dist/src/utils/chain-id-name.d.ts.map +1 -0
  186. package/dist/src/utils/chain-id-name.js +23 -0
  187. package/dist/src/utils/chain-id-name.js.map +1 -0
  188. package/dist/src/utils/check-vm.d.ts +8 -0
  189. package/dist/src/utils/check-vm.d.ts.map +1 -0
  190. package/dist/src/utils/check-vm.js +39 -0
  191. package/dist/src/utils/check-vm.js.map +1 -0
  192. package/dist/src/utils/constants.d.ts +7 -0
  193. package/dist/src/utils/constants.d.ts.map +1 -0
  194. package/dist/src/utils/constants.js +10 -0
  195. package/dist/src/utils/constants.js.map +1 -0
  196. package/dist/src/utils/create-error-message.d.ts +5 -0
  197. package/dist/src/utils/create-error-message.d.ts.map +1 -0
  198. package/dist/src/utils/create-error-message.js +42 -0
  199. package/dist/src/utils/create-error-message.js.map +1 -0
  200. package/dist/src/utils/fetch-spl-metadata.d.ts +4 -0
  201. package/dist/src/utils/fetch-spl-metadata.d.ts.map +1 -0
  202. package/dist/src/utils/fetch-spl-metadata.js +108 -0
  203. package/dist/src/utils/fetch-spl-metadata.js.map +1 -0
  204. package/dist/src/utils/is-native.d.ts +2 -0
  205. package/dist/src/utils/is-native.d.ts.map +1 -0
  206. package/dist/src/utils/is-native.js +23 -0
  207. package/dist/src/utils/is-native.js.map +1 -0
  208. package/dist/src/utils/logger.d.ts +56 -0
  209. package/dist/src/utils/logger.d.ts.map +1 -0
  210. package/dist/src/utils/logger.js +108 -0
  211. package/dist/src/utils/logger.js.map +1 -0
  212. package/dist/src/utils/throw-error.d.ts +3 -0
  213. package/dist/src/utils/throw-error.d.ts.map +1 -0
  214. package/dist/src/utils/throw-error.js +8 -0
  215. package/dist/src/utils/throw-error.js.map +1 -0
  216. package/dist/tests/core/intent-protocol-suite.test.d.ts +2 -0
  217. package/dist/tests/core/intent-protocol-suite.test.d.ts.map +1 -0
  218. package/dist/tests/core/intent-protocol-suite.test.js +485 -0
  219. package/dist/tests/core/intent-protocol-suite.test.js.map +1 -0
  220. package/dist/tests/core/intents-protocols.test.d.ts +2 -0
  221. package/dist/tests/core/intents-protocols.test.d.ts.map +1 -0
  222. package/dist/tests/core/intents-protocols.test.js +307 -0
  223. package/dist/tests/core/intents-protocols.test.js.map +1 -0
  224. package/dist/tests/core/protocol-test-runner.d.ts +62 -0
  225. package/dist/tests/core/protocol-test-runner.d.ts.map +1 -0
  226. package/dist/tests/core/protocol-test-runner.js +260 -0
  227. package/dist/tests/core/protocol-test-runner.js.map +1 -0
  228. package/dist/tests/core/setup.test.d.ts +1 -0
  229. package/dist/tests/core/setup.test.d.ts.map +1 -0
  230. package/dist/tests/core/setup.test.js +13 -0
  231. package/dist/tests/core/setup.test.js.map +1 -0
  232. package/dist/tests/fixtures/test-data.d.ts +84 -0
  233. package/dist/tests/fixtures/test-data.d.ts.map +1 -0
  234. package/dist/tests/fixtures/test-data.js +142 -0
  235. package/dist/tests/fixtures/test-data.js.map +1 -0
  236. package/dist/tests/integration/cross-chain.test.d.ts +2 -0
  237. package/dist/tests/integration/cross-chain.test.d.ts.map +1 -0
  238. package/dist/tests/integration/cross-chain.test.js +44 -0
  239. package/dist/tests/integration/cross-chain.test.js.map +1 -0
  240. package/dist/tests/protocols/simple-protocol.test.d.ts +2 -0
  241. package/dist/tests/protocols/simple-protocol.test.d.ts.map +1 -0
  242. package/dist/tests/protocols/simple-protocol.test.js +77 -0
  243. package/dist/tests/protocols/simple-protocol.test.js.map +1 -0
  244. package/dist/tests/setup.d.ts +24 -0
  245. package/dist/tests/setup.d.ts.map +1 -0
  246. package/dist/tests/setup.js +48 -0
  247. package/dist/tests/setup.js.map +1 -0
  248. package/dist/tests/utils/test-generator.d.ts +30 -0
  249. package/dist/tests/utils/test-generator.d.ts.map +1 -0
  250. package/dist/tests/utils/test-generator.js +153 -0
  251. package/dist/tests/utils/test-generator.js.map +1 -0
  252. package/package.json +102 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-test-runner.js","sourceRoot":"","sources":["../../../tests/core/protocol-test-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=setup.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.test.d.ts","sourceRoot":"","sources":["../../../tests/core/setup.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ describe('Test Setup Validation', () => {
3
+ test('should validate Jest configuration', () => {
4
+ expect(true).toBe(true);
5
+ });
6
+ test('should have access to global test utilities', () => {
7
+ expect(jest).toBeDefined();
8
+ expect(describe).toBeDefined();
9
+ expect(test).toBeDefined();
10
+ expect(expect).toBeDefined();
11
+ });
12
+ });
13
+ //# sourceMappingURL=setup.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.test.js","sourceRoot":"","sources":["../../../tests/core/setup.test.ts"],"names":[],"mappings":";AAAA,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { ChainIdEnum } from '../../src/types/enums';
2
+ import { IntentPriceParams } from '../../src/types/price-params';
3
+ import { IntentQuoteParams } from '../../src/types/quote-params';
4
+ export declare const TEST_TOKENS: {
5
+ readonly 1: {
6
+ readonly ETH: "0x0000000000000000000000000000000000000000";
7
+ readonly USDC: "0xa0b86a33e6c3b3f4ac24b8b6e95e80e1e5c2d68e";
8
+ readonly WETH: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2";
9
+ };
10
+ readonly 1399811149: {
11
+ readonly SOL: "So11111111111111111111111111111111111111112";
12
+ readonly USDC: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
13
+ readonly WRAPPED_SOL: "So11111111111111111111111111111111111111112";
14
+ };
15
+ readonly 56: {
16
+ readonly BNB: "0x0000000000000000000000000000000000000000";
17
+ readonly USDT: "0x55d398326f99059ff775485246999027b3197955";
18
+ };
19
+ readonly 101: {
20
+ readonly USDC: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC";
21
+ readonly WAL: "0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal::WAL";
22
+ };
23
+ };
24
+ export declare const TEST_WALLETS: {
25
+ readonly EVM: "0x742d35cc6641c2344c2db5c9c7db0e5d5b0f7e2b";
26
+ readonly SOLANA: "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM";
27
+ readonly SUI: "0x1234567890abcdef1234567890abcdef12345678";
28
+ };
29
+ export declare const createPriceParams: (overrides?: Partial<IntentPriceParams>) => IntentPriceParams;
30
+ export declare const createQuoteParams: (overrides?: Partial<IntentQuoteParams>) => IntentQuoteParams;
31
+ export declare const CROSS_CHAIN_SCENARIOS: readonly [{
32
+ readonly name: "ETH to BSC USDT";
33
+ readonly params: IntentPriceParams;
34
+ }, {
35
+ readonly name: "SOL to ETH USDC";
36
+ readonly params: IntentPriceParams;
37
+ }];
38
+ export declare const PROTOCOL_EXPECTATIONS: {
39
+ readonly jupiter: {
40
+ readonly supportedChains: readonly [ChainIdEnum.SOLANA];
41
+ readonly singleChain: true;
42
+ readonly multiChain: false;
43
+ readonly requiresApprovals: false;
44
+ };
45
+ readonly odos: {
46
+ readonly supportedChains: readonly [ChainIdEnum.ETHEREUM, ChainIdEnum.ARBITRUM, ChainIdEnum.OPTIMISM, ChainIdEnum.POLYGON, ChainIdEnum.BSC, ChainIdEnum.AVALANCHE, ChainIdEnum.BASE, ChainIdEnum.SONIC];
47
+ readonly singleChain: true;
48
+ readonly multiChain: false;
49
+ readonly requiresApprovals: true;
50
+ };
51
+ readonly OpenOcean: {
52
+ readonly supportedChains: readonly [ChainIdEnum.ETHEREUM, ChainIdEnum.ARBITRUM, ChainIdEnum.OPTIMISM, ChainIdEnum.POLYGON, ChainIdEnum.BSC, ChainIdEnum.AVALANCHE, ChainIdEnum.BASE, ChainIdEnum.SOLANA, ChainIdEnum.SONIC];
53
+ readonly singleChain: true;
54
+ readonly multiChain: false;
55
+ readonly requiresApprovals: true;
56
+ };
57
+ };
58
+ export declare const MOCK_RESPONSES: {
59
+ readonly JUPITER_PRICE: {
60
+ readonly inputMint: "So11111111111111111111111111111111111111112";
61
+ readonly inAmount: "1000000000";
62
+ readonly outputMint: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
63
+ readonly outAmount: "180000000";
64
+ readonly otherAmountThreshold: "178200000";
65
+ readonly swapMode: "ExactIn";
66
+ readonly slippageBps: 100;
67
+ readonly platformFee: null;
68
+ readonly priceImpactPct: "0.01";
69
+ readonly routePlan: readonly [];
70
+ };
71
+ readonly ODOS_PRICE: {
72
+ readonly pathId: "test-path-id-123";
73
+ readonly inAmounts: readonly ["1000000000000000000"];
74
+ readonly outAmounts: readonly ["1800000000"];
75
+ readonly gasEstimate: 150000;
76
+ readonly dataGasEstimate: 21000;
77
+ readonly gweiPerGas: 20;
78
+ readonly gasEstimateValue: 0.00003;
79
+ readonly inTokens: readonly ["0x0000000000000000000000000000000000000000"];
80
+ readonly outTokens: readonly ["0xa0b86a33e6c3b3f4ac24b8b6e95e80e1e5c2d68e"];
81
+ readonly netOutValue: 1800;
82
+ };
83
+ };
84
+ //# sourceMappingURL=test-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-data.d.ts","sourceRoot":"","sources":["../../../tests/fixtures/test-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGjE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;CAmBd,CAAC;AAGX,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAGX,eAAO,MAAM,iBAAiB,GAAI,YAAW,OAAO,CAAC,iBAAiB,CAAM,KAAG,iBAS7E,CAAC;AAGH,eAAO,MAAM,iBAAiB,GAAI,YAAW,OAAO,CAAC,iBAAiB,CAAM,KAAG,iBAM7E,CAAC;AAGH,eAAO,MAAM,qBAAqB;;;;;;EAoBxB,CAAC;AAGX,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;CAsCxB,CAAC;AAGX,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;CAyBjB,CAAC"}
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MOCK_RESPONSES = exports.PROTOCOL_EXPECTATIONS = exports.CROSS_CHAIN_SCENARIOS = exports.createQuoteParams = exports.createPriceParams = exports.TEST_WALLETS = exports.TEST_TOKENS = void 0;
4
+ const enums_1 = require("../../src/types/enums");
5
+ // Common token addresses for testing
6
+ exports.TEST_TOKENS = {
7
+ [enums_1.ChainIdEnum.ETHEREUM]: {
8
+ ETH: '0x0000000000000000000000000000000000000000',
9
+ USDC: '0xa0b86a33e6c3b3f4ac24b8b6e95e80e1e5c2d68e',
10
+ WETH: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
11
+ },
12
+ [enums_1.ChainIdEnum.SOLANA]: {
13
+ SOL: 'So11111111111111111111111111111111111111112',
14
+ USDC: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
15
+ WRAPPED_SOL: 'So11111111111111111111111111111111111111112',
16
+ },
17
+ [enums_1.ChainIdEnum.BSC]: {
18
+ BNB: '0x0000000000000000000000000000000000000000',
19
+ USDT: '0x55d398326f99059ff775485246999027b3197955',
20
+ },
21
+ [enums_1.ChainIdEnum.SUI]: {
22
+ USDC: '0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC',
23
+ WAL: '0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal::WAL',
24
+ },
25
+ };
26
+ // Test wallets (non-private, for testing only)
27
+ exports.TEST_WALLETS = {
28
+ EVM: '0x742d35cc6641c2344c2db5c9c7db0e5d5b0f7e2b',
29
+ SOLANA: '9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM',
30
+ SUI: '0x1234567890abcdef1234567890abcdef12345678',
31
+ };
32
+ // Standard test parameters for price requests
33
+ const createPriceParams = (overrides = {}) => ({
34
+ networkIn: enums_1.ChainIdEnum.ETHEREUM,
35
+ networkOut: enums_1.ChainIdEnum.ETHEREUM,
36
+ tokenIn: exports.TEST_TOKENS[enums_1.ChainIdEnum.ETHEREUM].ETH,
37
+ tokenOut: exports.TEST_TOKENS[enums_1.ChainIdEnum.ETHEREUM].USDC,
38
+ amountIn: '1000000000000000000', // 1 ETH in wei
39
+ slippage: 100, // 1% in BPS
40
+ from: exports.TEST_WALLETS.EVM,
41
+ ...overrides,
42
+ });
43
+ exports.createPriceParams = createPriceParams;
44
+ // Standard test parameters for quote requests
45
+ const createQuoteParams = (overrides = {}) => ({
46
+ ...(0, exports.createPriceParams)(),
47
+ from: exports.TEST_WALLETS.EVM,
48
+ receiver: exports.TEST_WALLETS.EVM,
49
+ priceResponse: undefined,
50
+ ...overrides,
51
+ });
52
+ exports.createQuoteParams = createQuoteParams;
53
+ // Cross-chain test scenarios
54
+ exports.CROSS_CHAIN_SCENARIOS = [
55
+ {
56
+ name: 'ETH to BSC USDT',
57
+ params: (0, exports.createPriceParams)({
58
+ networkIn: enums_1.ChainIdEnum.ETHEREUM,
59
+ networkOut: enums_1.ChainIdEnum.BSC,
60
+ tokenIn: exports.TEST_TOKENS[enums_1.ChainIdEnum.ETHEREUM].ETH,
61
+ tokenOut: exports.TEST_TOKENS[enums_1.ChainIdEnum.BSC].USDT,
62
+ }),
63
+ },
64
+ {
65
+ name: 'SOL to ETH USDC',
66
+ params: (0, exports.createPriceParams)({
67
+ networkIn: enums_1.ChainIdEnum.SOLANA,
68
+ networkOut: enums_1.ChainIdEnum.ETHEREUM,
69
+ tokenIn: exports.TEST_TOKENS[enums_1.ChainIdEnum.SOLANA].SOL,
70
+ tokenOut: exports.TEST_TOKENS[enums_1.ChainIdEnum.ETHEREUM].USDC,
71
+ from: exports.TEST_WALLETS.SOLANA,
72
+ }),
73
+ },
74
+ ];
75
+ // Protocol-specific expected behaviors
76
+ exports.PROTOCOL_EXPECTATIONS = {
77
+ [enums_1.ProtocolEnum.JUPITER]: {
78
+ supportedChains: [enums_1.ChainIdEnum.SOLANA],
79
+ singleChain: true,
80
+ multiChain: false,
81
+ requiresApprovals: false,
82
+ },
83
+ [enums_1.ProtocolEnum.ODOS]: {
84
+ supportedChains: [
85
+ enums_1.ChainIdEnum.ETHEREUM,
86
+ enums_1.ChainIdEnum.ARBITRUM,
87
+ enums_1.ChainIdEnum.OPTIMISM,
88
+ enums_1.ChainIdEnum.POLYGON,
89
+ enums_1.ChainIdEnum.BSC,
90
+ enums_1.ChainIdEnum.AVALANCHE,
91
+ enums_1.ChainIdEnum.BASE,
92
+ enums_1.ChainIdEnum.SONIC,
93
+ ],
94
+ singleChain: true,
95
+ multiChain: false,
96
+ requiresApprovals: true,
97
+ },
98
+ [enums_1.ProtocolEnum.OPEN_OCEAN]: {
99
+ supportedChains: [
100
+ enums_1.ChainIdEnum.ETHEREUM,
101
+ enums_1.ChainIdEnum.ARBITRUM,
102
+ enums_1.ChainIdEnum.OPTIMISM,
103
+ enums_1.ChainIdEnum.POLYGON,
104
+ enums_1.ChainIdEnum.BSC,
105
+ enums_1.ChainIdEnum.AVALANCHE,
106
+ enums_1.ChainIdEnum.BASE,
107
+ enums_1.ChainIdEnum.SOLANA,
108
+ enums_1.ChainIdEnum.SONIC,
109
+ ],
110
+ singleChain: true,
111
+ multiChain: false,
112
+ requiresApprovals: true,
113
+ },
114
+ };
115
+ // Mock API responses for different protocols
116
+ exports.MOCK_RESPONSES = {
117
+ JUPITER_PRICE: {
118
+ inputMint: 'So11111111111111111111111111111111111111112',
119
+ inAmount: '1000000000',
120
+ outputMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
121
+ outAmount: '180000000',
122
+ otherAmountThreshold: '178200000',
123
+ swapMode: 'ExactIn',
124
+ slippageBps: 100,
125
+ platformFee: null,
126
+ priceImpactPct: '0.01',
127
+ routePlan: [],
128
+ },
129
+ ODOS_PRICE: {
130
+ pathId: 'test-path-id-123',
131
+ inAmounts: ['1000000000000000000'],
132
+ outAmounts: ['1800000000'],
133
+ gasEstimate: 150000,
134
+ dataGasEstimate: 21000,
135
+ gweiPerGas: 20,
136
+ gasEstimateValue: 0.00003,
137
+ inTokens: ['0x0000000000000000000000000000000000000000'],
138
+ outTokens: ['0xa0b86a33e6c3b3f4ac24b8b6e95e80e1e5c2d68e'],
139
+ netOutValue: 1800,
140
+ },
141
+ };
142
+ //# sourceMappingURL=test-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-data.js","sourceRoot":"","sources":["../../../tests/fixtures/test-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cross-chain.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-chain.test.d.ts","sourceRoot":"","sources":["../../../tests/integration/cross-chain.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const enums_1 = require("../../src/types/enums");
4
+ const test_data_1 = require("../fixtures/test-data");
5
+ describe('Cross-Chain Integration Tests', () => {
6
+ describe('Bridge Protocol Compatibility', () => {
7
+ // These tests would be implemented once bridge protocols are added
8
+ test.skip('should handle cross-chain swaps via bridges', async () => {
9
+ // Test cross-chain functionality when bridge protocols are implemented
10
+ const scenario = test_data_1.CROSS_CHAIN_SCENARIOS[0];
11
+ // This would test that multi-chain protocols can handle cross-chain swaps
12
+ expect(scenario.params.networkIn).not.toBe(scenario.params.networkOut);
13
+ });
14
+ test.skip('should validate cross-chain parameters', async () => {
15
+ // Test parameter validation for cross-chain scenarios
16
+ const params = (0, test_data_1.createPriceParams)({
17
+ networkIn: enums_1.ChainIdEnum.ETHEREUM,
18
+ networkOut: enums_1.ChainIdEnum.BSC,
19
+ });
20
+ expect(params.networkIn).toBe(enums_1.ChainIdEnum.ETHEREUM);
21
+ expect(params.networkOut).toBe(enums_1.ChainIdEnum.BSC);
22
+ });
23
+ });
24
+ describe('Multi-Chain Protocol Support', () => {
25
+ test.skip('should identify multi-chain protocols', () => {
26
+ // Test protocols that support multiple chains
27
+ // This will be useful when OpenOcean, OKX, etc. are fully tested
28
+ });
29
+ test.skip('should handle chain-specific token formats', () => {
30
+ // Test that protocols handle different token address formats correctly
31
+ // EVM: 0x addresses
32
+ // Solana: Base58 addresses
33
+ // Sui: 0x with longer format
34
+ });
35
+ });
36
+ describe('Fee Estimation Across Chains', () => {
37
+ test.skip('should estimate gas costs for different chains', () => {
38
+ // Test gas estimation for EVM chains
39
+ // Test transaction fees for Solana
40
+ // Test gas costs for Move-based chains
41
+ });
42
+ });
43
+ });
44
+ //# sourceMappingURL=cross-chain.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-chain.test.js","sourceRoot":"","sources":["../../../tests/integration/cross-chain.test.ts"],"names":[],"mappings":";;AAAA,iDAAoD;AACpD,qDAAiF;AAEjF,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,mEAAmE;QACnE,IAAI,CAAC,IAAI,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAClE,uEAAuE;YACvE,MAAM,QAAQ,GAAG,iCAAqB,CAAC,CAAC,CAAC,CAAC;YAE1C,0EAA0E;YAC1E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YAC7D,sDAAsD;YACtD,MAAM,MAAM,GAAG,IAAA,6BAAiB,EAAC;gBAC/B,SAAS,EAAE,mBAAW,CAAC,QAAQ;gBAC/B,UAAU,EAAE,mBAAW,CAAC,GAAG;aAC5B,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,mBAAW,CAAC,QAAQ,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,mBAAW,CAAC,GAAG,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,IAAI,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;YACtD,8CAA8C;YAC9C,iEAAiE;QACnE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;YAC3D,uEAAuE;YACvE,oBAAoB;YACpB,2BAA2B;YAC3B,6BAA6B;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,IAAI,CAAC,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;YAC/D,qCAAqC;YACrC,mCAAmC;YACnC,uCAAuC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=simple-protocol.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-protocol.test.d.ts","sourceRoot":"","sources":["../../../tests/protocols/simple-protocol.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jupiter_service_1 = require("../../src/protocols/jupiter/jupiter.service");
4
+ const test_data_1 = require("../fixtures/test-data");
5
+ const enums_1 = require("../../src/types/enums");
6
+ describe('Protocol Interface Tests', () => {
7
+ let jupiterService;
8
+ beforeEach(() => {
9
+ jupiterService = new jupiter_service_1.JupiterService();
10
+ });
11
+ describe('Interface Compliance', () => {
12
+ test('should implement IIntentProtocol interface', () => {
13
+ expect(jupiterService).toBeDefined();
14
+ expect(typeof jupiterService.fetchPrice).toBe('function');
15
+ expect(typeof jupiterService.fetchQuote).toBe('function');
16
+ });
17
+ test('should have required protocol properties', () => {
18
+ expect(jupiterService.protocol).toBe(enums_1.ProtocolEnum.JUPITER);
19
+ expect(Array.isArray(jupiterService.chains)).toBe(true);
20
+ expect(typeof jupiterService.singleChain).toBe('boolean');
21
+ expect(typeof jupiterService.multiChain).toBe('boolean');
22
+ });
23
+ test('should have correct chain configuration', () => {
24
+ const expectedBehavior = test_data_1.PROTOCOL_EXPECTATIONS[enums_1.ProtocolEnum.JUPITER];
25
+ expect(jupiterService.singleChain).toBe(expectedBehavior.singleChain);
26
+ expect(jupiterService.multiChain).toBe(expectedBehavior.multiChain);
27
+ });
28
+ });
29
+ describe('Chain Support', () => {
30
+ test('should support expected chains', () => {
31
+ const expectedChains = test_data_1.PROTOCOL_EXPECTATIONS[enums_1.ProtocolEnum.JUPITER].supportedChains;
32
+ expectedChains.forEach(chain => {
33
+ expect(jupiterService.chains).toContain(chain);
34
+ });
35
+ });
36
+ test('should only support Solana', () => {
37
+ expect(jupiterService.chains).toEqual([enums_1.ChainIdEnum.SOLANA]);
38
+ });
39
+ });
40
+ describe('Configuration', () => {
41
+ test('should allow price parameter overrides', () => {
42
+ const configuredService = new jupiter_service_1.JupiterService({});
43
+ expect(configuredService).toBeDefined();
44
+ });
45
+ test('should handle private URL configuration', () => {
46
+ const jupiterPrivateUrl = 'https://private-jupiter-api.example.com';
47
+ const configuredService = new jupiter_service_1.JupiterService({
48
+ jupiterPrivateUrl,
49
+ });
50
+ expect(configuredService.baseUrl).toBe(jupiterPrivateUrl);
51
+ });
52
+ });
53
+ describe('Parameter Validation', () => {
54
+ test('should reject non-Solana networks without making API calls', async () => {
55
+ const params = (0, test_data_1.createPriceParams)({
56
+ networkIn: enums_1.ChainIdEnum.ETHEREUM,
57
+ networkOut: enums_1.ChainIdEnum.ETHEREUM,
58
+ });
59
+ await expect(jupiterService.fetchPrice(params)).rejects.toThrow('Jupiter only supports Solana network');
60
+ });
61
+ test('should create valid Solana price parameters', () => {
62
+ const params = (0, test_data_1.createPriceParams)({
63
+ networkIn: enums_1.ChainIdEnum.SOLANA,
64
+ networkOut: enums_1.ChainIdEnum.SOLANA,
65
+ tokenIn: test_data_1.TEST_TOKENS[enums_1.ChainIdEnum.SOLANA].SOL,
66
+ tokenOut: test_data_1.TEST_TOKENS[enums_1.ChainIdEnum.SOLANA].USDC,
67
+ from: test_data_1.TEST_WALLETS.SOLANA,
68
+ });
69
+ expect(params.networkIn).toBe(enums_1.ChainIdEnum.SOLANA);
70
+ expect(params.networkOut).toBe(enums_1.ChainIdEnum.SOLANA);
71
+ expect(params.tokenIn).toBe(test_data_1.TEST_TOKENS[enums_1.ChainIdEnum.SOLANA].SOL);
72
+ expect(params.tokenOut).toBe(test_data_1.TEST_TOKENS[enums_1.ChainIdEnum.SOLANA].USDC);
73
+ expect(params.from).toBe(test_data_1.TEST_WALLETS.SOLANA);
74
+ });
75
+ });
76
+ });
77
+ //# sourceMappingURL=simple-protocol.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-protocol.test.js","sourceRoot":"","sources":["../../../tests/protocols/simple-protocol.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ declare const mockAxios: {
2
+ get: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
3
+ post: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
4
+ };
5
+ export declare const mockAxiosResponse: <T>(data: T) => {
6
+ data: T;
7
+ status: number;
8
+ statusText: string;
9
+ headers: {};
10
+ config: {};
11
+ };
12
+ export declare const mockAxiosError: (message: string, status?: number) => {
13
+ response: {
14
+ data: {
15
+ error: string;
16
+ };
17
+ status: number;
18
+ statusText: string;
19
+ };
20
+ message: string;
21
+ isAxiosError: boolean;
22
+ };
23
+ export { mockAxios };
24
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../tests/setup.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,SAAS;;;CAGd,CAAC;AAyBF,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,MAAM,CAAC;;;;;;CAM1C,CAAC;AAEH,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,EAAE,SAAQ,MAAY;;;;;;;;;;CAQlE,CAAC;AAGH,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mockAxios = exports.mockAxiosError = exports.mockAxiosResponse = void 0;
4
+ const globals_1 = require("@jest/globals");
5
+ // Mock axios at the module level first
6
+ const mockAxios = {
7
+ get: globals_1.jest.fn(),
8
+ post: globals_1.jest.fn(),
9
+ };
10
+ exports.mockAxios = mockAxios;
11
+ globals_1.jest.mock('axios', () => ({
12
+ default: mockAxios,
13
+ }));
14
+ // Global test setup
15
+ beforeAll(() => {
16
+ // Set test timeout
17
+ globals_1.jest.setTimeout(30000);
18
+ // Suppress console logs during tests unless debugging
19
+ if (!process.env['DEBUG_TESTS']) {
20
+ console.log = globals_1.jest.fn();
21
+ console.warn = globals_1.jest.fn();
22
+ console.error = globals_1.jest.fn();
23
+ }
24
+ });
25
+ // Global test teardown
26
+ afterAll(() => {
27
+ // Clean up any resources
28
+ });
29
+ // Export commonly used test utilities
30
+ const mockAxiosResponse = (data) => ({
31
+ data,
32
+ status: 200,
33
+ statusText: 'OK',
34
+ headers: {},
35
+ config: {},
36
+ });
37
+ exports.mockAxiosResponse = mockAxiosResponse;
38
+ const mockAxiosError = (message, status = 400) => ({
39
+ response: {
40
+ data: { error: message },
41
+ status,
42
+ statusText: 'Error',
43
+ },
44
+ message,
45
+ isAxiosError: true,
46
+ });
47
+ exports.mockAxiosError = mockAxiosError;
48
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../tests/setup.ts"],"names":[],"mappings":";;;AAAA,2CAAqC;AAErC,uCAAuC;AACvC,MAAM,SAAS,GAAG;IAChB,GAAG,EAAE,cAAI,CAAC,EAAE,EAAE;IACd,IAAI,EAAE,cAAI,CAAC,EAAE,EAAE;CAChB,CAAC;AA4CO,8BAAS;AA1ClB,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,OAAO,EAAE,SAAS;CACnB,CAAC,CAAC,CAAC;AAEJ,oBAAoB;AACpB,SAAS,CAAC,GAAG,EAAE;IACb,mBAAmB;IACnB,cAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAEvB,sDAAsD;IACtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,GAAG,cAAI,CAAC,EAAE,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,GAAG,cAAI,CAAC,EAAE,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,GAAG,cAAI,CAAC,EAAE,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,uBAAuB;AACvB,QAAQ,CAAC,GAAG,EAAE;IACZ,yBAAyB;AAC3B,CAAC,CAAC,CAAC;AAEH,sCAAsC;AAC/B,MAAM,iBAAiB,GAAG,CAAI,IAAO,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI;IACJ,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,EAAE;CACX,CAAC,CAAC;AANU,QAAA,iBAAiB,qBAM3B;AAEI,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,SAAiB,GAAG,EAAE,EAAE,CAAC,CAAC;IACxE,QAAQ,EAAE;QACR,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;QACxB,MAAM;QACN,UAAU,EAAE,OAAO;KACpB;IACD,OAAO;IACP,YAAY,EAAE,IAAI;CACnB,CAAC,CAAC;AARU,QAAA,cAAc,kBAQxB"}
@@ -0,0 +1,30 @@
1
+ import { ChainIdEnum } from '../../src/types/enums';
2
+ import { IIntentProtocol } from '../../src/interfaces/intent-protocol';
3
+ export type ProtocolTestTemplate = {
4
+ protocolName: string;
5
+ className: string;
6
+ supportedChains: ChainIdEnum[];
7
+ singleChain: boolean;
8
+ multiChain: boolean;
9
+ requiresApprovals?: boolean;
10
+ customTestCases?: string[];
11
+ };
12
+ export declare class TestGenerator {
13
+ /**
14
+ * Generates a test file template for a new protocol
15
+ */
16
+ static generateProtocolTest(template: ProtocolTestTemplate): string;
17
+ /**
18
+ * Generates test expectations for protocol expectations fixture
19
+ */
20
+ static generateProtocolExpectations(template: ProtocolTestTemplate): string;
21
+ /**
22
+ * Analyzes a protocol implementation to suggest test templates
23
+ */
24
+ static analyzeProtocol(protocol: IIntentProtocol): ProtocolTestTemplate;
25
+ /**
26
+ * Generates a complete test suite for all protocols
27
+ */
28
+ static generateTestSuite(protocols: IIntentProtocol[]): string;
29
+ }
30
+ //# sourceMappingURL=test-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-generator.d.ts","sourceRoot":"","sources":["../../../tests/utils/test-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,WAAW,EAAE,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,qBAAa,aAAa;IACxB;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM;IAkHnE;;OAEG;IACH,MAAM,CAAC,4BAA4B,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM;IAW3E;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,oBAAoB;IAiBvE;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,MAAM;CAQ/D"}