@recoillink/aleo-sdk 0.0.0-stage → 45.0.1

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 (259) hide show
  1. package/LICENSE.md +193 -0
  2. package/README.md +56 -2
  3. package/dist/artifacts.d.ts +14 -0
  4. package/dist/artifacts.d.ts.map +1 -0
  5. package/dist/artifacts.js +23 -0
  6. package/dist/artifacts.js.map +1 -0
  7. package/dist/clients/base.d.ts +27 -0
  8. package/dist/clients/base.d.ts.map +1 -0
  9. package/dist/clients/base.js +105 -0
  10. package/dist/clients/base.js.map +1 -0
  11. package/dist/clients/protocol.d.ts +26 -0
  12. package/dist/clients/protocol.d.ts.map +1 -0
  13. package/dist/clients/protocol.js +104 -0
  14. package/dist/clients/protocol.js.map +1 -0
  15. package/dist/clients/provider.d.ts +42 -0
  16. package/dist/clients/provider.d.ts.map +1 -0
  17. package/dist/clients/provider.js +460 -0
  18. package/dist/clients/provider.js.map +1 -0
  19. package/dist/clients/provider.node.d.ts +7 -0
  20. package/dist/clients/provider.node.d.ts.map +1 -0
  21. package/dist/clients/provider.node.js +20 -0
  22. package/dist/clients/provider.node.js.map +1 -0
  23. package/dist/clients/signer.d.ts +32 -0
  24. package/dist/clients/signer.d.ts.map +1 -0
  25. package/dist/clients/signer.js +137 -0
  26. package/dist/clients/signer.js.map +1 -0
  27. package/dist/constants.d.ts +8 -0
  28. package/dist/constants.d.ts.map +1 -0
  29. package/dist/constants.js +8 -0
  30. package/dist/constants.js.map +1 -0
  31. package/dist/hook/base.d.ts +19 -0
  32. package/dist/hook/base.d.ts.map +1 -0
  33. package/dist/hook/base.js +29 -0
  34. package/dist/hook/base.js.map +1 -0
  35. package/dist/hook/hook-artifact-manager.d.ts +25 -0
  36. package/dist/hook/hook-artifact-manager.d.ts.map +1 -0
  37. package/dist/hook/hook-artifact-manager.js +62 -0
  38. package/dist/hook/hook-artifact-manager.js.map +1 -0
  39. package/dist/hook/hook-query.d.ts +44 -0
  40. package/dist/hook/hook-query.d.ts.map +1 -0
  41. package/dist/hook/hook-query.js +103 -0
  42. package/dist/hook/hook-query.js.map +1 -0
  43. package/dist/hook/hook-tx.d.ts +46 -0
  44. package/dist/hook/hook-tx.d.ts.map +1 -0
  45. package/dist/hook/hook-tx.js +89 -0
  46. package/dist/hook/hook-tx.js.map +1 -0
  47. package/dist/hook/igp-hook.d.ts +21 -0
  48. package/dist/hook/igp-hook.d.ts.map +1 -0
  49. package/dist/hook/igp-hook.js +145 -0
  50. package/dist/hook/igp-hook.js.map +1 -0
  51. package/dist/hook/merkle-tree-hook.d.ts +21 -0
  52. package/dist/hook/merkle-tree-hook.d.ts.map +1 -0
  53. package/dist/hook/merkle-tree-hook.js +58 -0
  54. package/dist/hook/merkle-tree-hook.js.map +1 -0
  55. package/dist/index.d.ts +15 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +14 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/ism/base.d.ts +15 -0
  60. package/dist/ism/base.d.ts.map +1 -0
  61. package/dist/ism/base.js +25 -0
  62. package/dist/ism/base.js.map +1 -0
  63. package/dist/ism/ism-artifact-manager.d.ts +12 -0
  64. package/dist/ism/ism-artifact-manager.d.ts.map +1 -0
  65. package/dist/ism/ism-artifact-manager.js +62 -0
  66. package/dist/ism/ism-artifact-manager.js.map +1 -0
  67. package/dist/ism/ism-query.d.ts +51 -0
  68. package/dist/ism/ism-query.d.ts.map +1 -0
  69. package/dist/ism/ism-query.js +155 -0
  70. package/dist/ism/ism-query.js.map +1 -0
  71. package/dist/ism/ism-tx.d.ts +14 -0
  72. package/dist/ism/ism-tx.d.ts.map +1 -0
  73. package/dist/ism/ism-tx.js +77 -0
  74. package/dist/ism/ism-tx.js.map +1 -0
  75. package/dist/ism/multisig-ism.d.ts +20 -0
  76. package/dist/ism/multisig-ism.d.ts.map +1 -0
  77. package/dist/ism/multisig-ism.js +56 -0
  78. package/dist/ism/multisig-ism.js.map +1 -0
  79. package/dist/ism/routing-ism.d.ts +20 -0
  80. package/dist/ism/routing-ism.d.ts.map +1 -0
  81. package/dist/ism/routing-ism.js +108 -0
  82. package/dist/ism/routing-ism.js.map +1 -0
  83. package/dist/ism/test-ism.d.ts +20 -0
  84. package/dist/ism/test-ism.d.ts.map +1 -0
  85. package/dist/ism/test-ism.js +50 -0
  86. package/dist/ism/test-ism.js.map +1 -0
  87. package/dist/mailbox/mailbox-artifact-manager.d.ts +21 -0
  88. package/dist/mailbox/mailbox-artifact-manager.d.ts.map +1 -0
  89. package/dist/mailbox/mailbox-artifact-manager.js +36 -0
  90. package/dist/mailbox/mailbox-artifact-manager.js.map +1 -0
  91. package/dist/mailbox/mailbox-query.d.ts +12 -0
  92. package/dist/mailbox/mailbox-query.d.ts.map +1 -0
  93. package/dist/mailbox/mailbox-query.js +33 -0
  94. package/dist/mailbox/mailbox-query.js.map +1 -0
  95. package/dist/mailbox/mailbox-tx.d.ts +42 -0
  96. package/dist/mailbox/mailbox-tx.d.ts.map +1 -0
  97. package/dist/mailbox/mailbox-tx.js +94 -0
  98. package/dist/mailbox/mailbox-tx.js.map +1 -0
  99. package/dist/mailbox/mailbox.d.ts +29 -0
  100. package/dist/mailbox/mailbox.d.ts.map +1 -0
  101. package/dist/mailbox/mailbox.js +165 -0
  102. package/dist/mailbox/mailbox.js.map +1 -0
  103. package/dist/programs.d.ts +3 -0
  104. package/dist/programs.d.ts.map +1 -0
  105. package/dist/programs.js +14 -0
  106. package/dist/programs.js.map +1 -0
  107. package/dist/runtime/mainnet.d.ts +3 -0
  108. package/dist/runtime/mainnet.d.ts.map +1 -0
  109. package/dist/runtime/mainnet.js +5 -0
  110. package/dist/runtime/mainnet.js.map +1 -0
  111. package/dist/runtime/provider.d.ts +10 -0
  112. package/dist/runtime/provider.d.ts.map +1 -0
  113. package/dist/runtime/provider.js +18 -0
  114. package/dist/runtime/provider.js.map +1 -0
  115. package/dist/runtime/provider.test.d.ts +2 -0
  116. package/dist/runtime/provider.test.d.ts.map +1 -0
  117. package/dist/runtime/provider.test.js +45 -0
  118. package/dist/runtime/provider.test.js.map +1 -0
  119. package/dist/runtime/testnet.d.ts +3 -0
  120. package/dist/runtime/testnet.d.ts.map +1 -0
  121. package/dist/runtime/testnet.js +8 -0
  122. package/dist/runtime/testnet.js.map +1 -0
  123. package/dist/runtime.d.ts +5 -0
  124. package/dist/runtime.d.ts.map +1 -0
  125. package/dist/runtime.js +4 -0
  126. package/dist/runtime.js.map +1 -0
  127. package/dist/testing/constants.d.ts +58 -0
  128. package/dist/testing/constants.d.ts.map +1 -0
  129. package/dist/testing/constants.js +60 -0
  130. package/dist/testing/constants.js.map +1 -0
  131. package/dist/testing/index.d.ts +4 -0
  132. package/dist/testing/index.d.ts.map +1 -0
  133. package/dist/testing/index.js +7 -0
  134. package/dist/testing/index.js.map +1 -0
  135. package/dist/testing/node.d.ts +10 -0
  136. package/dist/testing/node.d.ts.map +1 -0
  137. package/dist/testing/node.js +39 -0
  138. package/dist/testing/node.js.map +1 -0
  139. package/dist/testing/utils.d.ts +19 -0
  140. package/dist/testing/utils.d.ts.map +1 -0
  141. package/dist/testing/utils.js +23 -0
  142. package/dist/testing/utils.js.map +1 -0
  143. package/dist/tests/5_ism_artifacts.e2e-test.d.ts +2 -0
  144. package/dist/tests/5_ism_artifacts.e2e-test.d.ts.map +1 -0
  145. package/dist/tests/5_ism_artifacts.e2e-test.js +415 -0
  146. package/dist/tests/5_ism_artifacts.e2e-test.js.map +1 -0
  147. package/dist/tests/6_hook_artifacts.e2e-test.d.ts +2 -0
  148. package/dist/tests/6_hook_artifacts.e2e-test.d.ts.map +1 -0
  149. package/dist/tests/6_hook_artifacts.e2e-test.js +306 -0
  150. package/dist/tests/6_hook_artifacts.e2e-test.js.map +1 -0
  151. package/dist/tests/7a_warp_native_artifacts.e2e-test.d.ts +2 -0
  152. package/dist/tests/7a_warp_native_artifacts.e2e-test.d.ts.map +1 -0
  153. package/dist/tests/7a_warp_native_artifacts.e2e-test.js +105 -0
  154. package/dist/tests/7a_warp_native_artifacts.e2e-test.js.map +1 -0
  155. package/dist/tests/7b_warp_collateral_artifacts.e2e-test.d.ts +2 -0
  156. package/dist/tests/7b_warp_collateral_artifacts.e2e-test.d.ts.map +1 -0
  157. package/dist/tests/7b_warp_collateral_artifacts.e2e-test.js +144 -0
  158. package/dist/tests/7b_warp_collateral_artifacts.e2e-test.js.map +1 -0
  159. package/dist/tests/7c_warp_synthetic_artifacts.e2e-test.d.ts +2 -0
  160. package/dist/tests/7c_warp_synthetic_artifacts.e2e-test.d.ts.map +1 -0
  161. package/dist/tests/7c_warp_synthetic_artifacts.e2e-test.js +99 -0
  162. package/dist/tests/7c_warp_synthetic_artifacts.e2e-test.js.map +1 -0
  163. package/dist/tests/8_mailbox_artifacts.e2e-test.d.ts +2 -0
  164. package/dist/tests/8_mailbox_artifacts.e2e-test.d.ts.map +1 -0
  165. package/dist/tests/8_mailbox_artifacts.e2e-test.js +395 -0
  166. package/dist/tests/8_mailbox_artifacts.e2e-test.js.map +1 -0
  167. package/dist/tests/9_validator_announce_artifacts.e2e-test.d.ts +2 -0
  168. package/dist/tests/9_validator_announce_artifacts.e2e-test.d.ts.map +1 -0
  169. package/dist/tests/9_validator_announce_artifacts.e2e-test.js +138 -0
  170. package/dist/tests/9_validator_announce_artifacts.e2e-test.js.map +1 -0
  171. package/dist/tests/e2e-test.setup.d.ts +2 -0
  172. package/dist/tests/e2e-test.setup.d.ts.map +1 -0
  173. package/dist/tests/e2e-test.setup.js +33 -0
  174. package/dist/tests/e2e-test.setup.js.map +1 -0
  175. package/dist/tests/warp-artifact-test-suite.d.ts +34 -0
  176. package/dist/tests/warp-artifact-test-suite.d.ts.map +1 -0
  177. package/dist/tests/warp-artifact-test-suite.js +672 -0
  178. package/dist/tests/warp-artifact-test-suite.js.map +1 -0
  179. package/dist/utils/base-query.d.ts +50 -0
  180. package/dist/utils/base-query.d.ts.map +1 -0
  181. package/dist/utils/base-query.js +72 -0
  182. package/dist/utils/base-query.js.map +1 -0
  183. package/dist/utils/helper.crypto.d.ts +4 -0
  184. package/dist/utils/helper.crypto.d.ts.map +1 -0
  185. package/dist/utils/helper.crypto.js +12 -0
  186. package/dist/utils/helper.crypto.js.map +1 -0
  187. package/dist/utils/helper.d.ts +63 -0
  188. package/dist/utils/helper.d.ts.map +1 -0
  189. package/dist/utils/helper.js +291 -0
  190. package/dist/utils/helper.js.map +1 -0
  191. package/dist/utils/helper.node.d.ts +9 -0
  192. package/dist/utils/helper.node.d.ts.map +1 -0
  193. package/dist/utils/helper.node.js +159 -0
  194. package/dist/utils/helper.node.js.map +1 -0
  195. package/dist/utils/helper.test.d.ts +2 -0
  196. package/dist/utils/helper.test.d.ts.map +1 -0
  197. package/dist/utils/helper.test.js +22 -0
  198. package/dist/utils/helper.test.js.map +1 -0
  199. package/dist/utils/provable.d.ts +4 -0
  200. package/dist/utils/provable.d.ts.map +1 -0
  201. package/dist/utils/provable.js +2 -0
  202. package/dist/utils/provable.js.map +1 -0
  203. package/dist/utils/types.d.ts +104 -0
  204. package/dist/utils/types.d.ts.map +1 -0
  205. package/dist/utils/types.js +64 -0
  206. package/dist/utils/types.js.map +1 -0
  207. package/dist/validator-announce/validator-announce-artifact-manager.d.ts +21 -0
  208. package/dist/validator-announce/validator-announce-artifact-manager.d.ts.map +1 -0
  209. package/dist/validator-announce/validator-announce-artifact-manager.js +27 -0
  210. package/dist/validator-announce/validator-announce-artifact-manager.js.map +1 -0
  211. package/dist/validator-announce/validator-announce-query.d.ts +15 -0
  212. package/dist/validator-announce/validator-announce-query.d.ts.map +1 -0
  213. package/dist/validator-announce/validator-announce-query.js +32 -0
  214. package/dist/validator-announce/validator-announce-query.js.map +1 -0
  215. package/dist/validator-announce/validator-announce-tx.d.ts +11 -0
  216. package/dist/validator-announce/validator-announce-tx.d.ts.map +1 -0
  217. package/dist/validator-announce/validator-announce-tx.js +20 -0
  218. package/dist/validator-announce/validator-announce-tx.js.map +1 -0
  219. package/dist/validator-announce/validator-announce.d.ts +29 -0
  220. package/dist/validator-announce/validator-announce.d.ts.map +1 -0
  221. package/dist/validator-announce/validator-announce.js +71 -0
  222. package/dist/validator-announce/validator-announce.js.map +1 -0
  223. package/dist/warp/collateral-token.d.ts +21 -0
  224. package/dist/warp/collateral-token.d.ts.map +1 -0
  225. package/dist/warp/collateral-token.js +108 -0
  226. package/dist/warp/collateral-token.js.map +1 -0
  227. package/dist/warp/native-token.d.ts +21 -0
  228. package/dist/warp/native-token.d.ts.map +1 -0
  229. package/dist/warp/native-token.js +114 -0
  230. package/dist/warp/native-token.js.map +1 -0
  231. package/dist/warp/provider-query.d.ts +22 -0
  232. package/dist/warp/provider-query.d.ts.map +1 -0
  233. package/dist/warp/provider-query.js +89 -0
  234. package/dist/warp/provider-query.js.map +1 -0
  235. package/dist/warp/synthetic-token.d.ts +21 -0
  236. package/dist/warp/synthetic-token.d.ts.map +1 -0
  237. package/dist/warp/synthetic-token.js +108 -0
  238. package/dist/warp/synthetic-token.js.map +1 -0
  239. package/dist/warp/warp-artifact-manager.d.ts +15 -0
  240. package/dist/warp/warp-artifact-manager.d.ts.map +1 -0
  241. package/dist/warp/warp-artifact-manager.js +48 -0
  242. package/dist/warp/warp-artifact-manager.js.map +1 -0
  243. package/dist/warp/warp-query.d.ts +76 -0
  244. package/dist/warp/warp-query.d.ts.map +1 -0
  245. package/dist/warp/warp-query.js +321 -0
  246. package/dist/warp/warp-query.js.map +1 -0
  247. package/dist/warp/warp-query.test.d.ts +2 -0
  248. package/dist/warp/warp-query.test.d.ts.map +1 -0
  249. package/dist/warp/warp-query.test.js +270 -0
  250. package/dist/warp/warp-query.test.js.map +1 -0
  251. package/dist/warp/warp-tx.d.ts +58 -0
  252. package/dist/warp/warp-tx.d.ts.map +1 -0
  253. package/dist/warp/warp-tx.js +229 -0
  254. package/dist/warp/warp-tx.js.map +1 -0
  255. package/dist/warp/warp-tx.test.d.ts +2 -0
  256. package/dist/warp/warp-tx.test.d.ts.map +1 -0
  257. package/dist/warp/warp-tx.test.js +44 -0
  258. package/dist/warp/warp-tx.test.js.map +1 -0
  259. package/package.json +91 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-artifact-test-suite.js","sourceRoot":"","sources":["../../src/tests/warp-artifact-test-suite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { type AnyAleoNetworkClient } from '../clients/base.js';
2
+ /**
3
+ * Retrieves the expected nonce for the next artifact to be created by an artifact manager.
4
+ *
5
+ * This function queries an artifact manager's `nonce` mapping to get the current count of
6
+ * created artifacts. This nonce value must be retrieved BEFORE submitting the artifact creation
7
+ * transaction, as it will be used to look up the newly created artifact's address from the
8
+ * manager's address registry after the transaction is confirmed.
9
+ *
10
+ * The typical usage pattern for any artifact manager (ISM manager, hook manager, etc.) is:
11
+ * 1. Call this function to get the expected nonce
12
+ * 2. Submit the artifact creation transaction
13
+ * 3. Use the nonce with `getNewIsmAddress()` or similar to retrieve the new artifact's address
14
+ *
15
+ * @param aleoClient - The Aleo network client for querying contract state
16
+ * @param ismManagerProgramId - The program ID of the artifact manager contract
17
+ * @returns The nonce as an Aleo u32 string (e.g., "0u32", "1u32"), defaulting to "0u32" if no artifacts have been created yet
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * // Works with any artifact manager (ISM, hook, etc.)
22
+ * const expectedNonce = await getNewContractExpectedNonce(client, managerProgramId);
23
+ * const receipt = await signer.sendAndConfirmTransaction(createArtifactTx);
24
+ * const artifactAddress = await getNewArtifactAddress(client, managerProgramId, expectedNonce);
25
+ * ```
26
+ */
27
+ export declare function getNewContractExpectedNonce(aleoClient: AnyAleoNetworkClient, ismManagerProgramId: string): Promise<string>;
28
+ /**
29
+ * Helper function to query a mapping value from an Aleo program.
30
+ *
31
+ * @param aleoClient - The Aleo network client
32
+ * @param programId - The program ID to query
33
+ * @param mappingName - The name of the mapping
34
+ * @param key - The key to look up in the mapping
35
+ * @param formatter - Parsing function to transform the raw result into type T
36
+ * @returns The parsed mapping value, or undefined if not found
37
+ */
38
+ export declare function tryQueryMappingValue<T>(aleoClient: AnyAleoNetworkClient, programId: string, mappingName: string, key: string, formatter: (raw: unknown) => T): Promise<T | undefined>;
39
+ /**
40
+ * Helper function to query a mapping value from an Aleo program.
41
+ *
42
+ * @param aleoClient - The Aleo network client
43
+ * @param programId - The program ID to query
44
+ * @param mappingName - The name of the mapping
45
+ * @param key - The key to look up in the mapping
46
+ * @param formatter - Parsing function to transform the raw result into type T
47
+ * @returns The parsed mapping value
48
+ */
49
+ export declare function queryMappingValue<T>(aleoClient: AnyAleoNetworkClient, programId: string, mappingName: string, key: string, formatter: (raw: unknown) => T): Promise<T>;
50
+ //# sourceMappingURL=base-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-query.d.ts","sourceRoot":"","sources":["../../src/utils/base-query.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAI/D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,oBAAoB,EAChC,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC,CAajB;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,UAAU,EAAE,oBAAoB,EAChC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,GAC7B,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAgBxB;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,UAAU,EAAE,oBAAoB,EAChC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC,CAeZ"}
@@ -0,0 +1,72 @@
1
+ import { Plaintext } from '@provablehq/sdk';
2
+ import { assert, isNullish, retryAsync } from '@recoillink/utils';
3
+ import { RETRY_ATTEMPTS, RETRY_DELAY_MS } from './helper.js';
4
+ /**
5
+ * Retrieves the expected nonce for the next artifact to be created by an artifact manager.
6
+ *
7
+ * This function queries an artifact manager's `nonce` mapping to get the current count of
8
+ * created artifacts. This nonce value must be retrieved BEFORE submitting the artifact creation
9
+ * transaction, as it will be used to look up the newly created artifact's address from the
10
+ * manager's address registry after the transaction is confirmed.
11
+ *
12
+ * The typical usage pattern for any artifact manager (ISM manager, hook manager, etc.) is:
13
+ * 1. Call this function to get the expected nonce
14
+ * 2. Submit the artifact creation transaction
15
+ * 3. Use the nonce with `getNewIsmAddress()` or similar to retrieve the new artifact's address
16
+ *
17
+ * @param aleoClient - The Aleo network client for querying contract state
18
+ * @param ismManagerProgramId - The program ID of the artifact manager contract
19
+ * @returns The nonce as an Aleo u32 string (e.g., "0u32", "1u32"), defaulting to "0u32" if no artifacts have been created yet
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * // Works with any artifact manager (ISM, hook, etc.)
24
+ * const expectedNonce = await getNewContractExpectedNonce(client, managerProgramId);
25
+ * const receipt = await signer.sendAndConfirmTransaction(createArtifactTx);
26
+ * const artifactAddress = await getNewArtifactAddress(client, managerProgramId, expectedNonce);
27
+ * ```
28
+ */
29
+ export async function getNewContractExpectedNonce(aleoClient, ismManagerProgramId) {
30
+ let nonce = await retryAsync(() => aleoClient.getProgramMappingValue(ismManagerProgramId, 'nonce', 'true'), RETRY_ATTEMPTS, RETRY_DELAY_MS);
31
+ if (nonce === null) {
32
+ nonce = '0u32';
33
+ }
34
+ return nonce;
35
+ }
36
+ /**
37
+ * Helper function to query a mapping value from an Aleo program.
38
+ *
39
+ * @param aleoClient - The Aleo network client
40
+ * @param programId - The program ID to query
41
+ * @param mappingName - The name of the mapping
42
+ * @param key - The key to look up in the mapping
43
+ * @param formatter - Parsing function to transform the raw result into type T
44
+ * @returns The parsed mapping value, or undefined if not found
45
+ */
46
+ export async function tryQueryMappingValue(aleoClient, programId, mappingName, key, formatter) {
47
+ try {
48
+ const result = await aleoClient.getProgramMappingValue(programId, mappingName, key);
49
+ return !isNullish(result)
50
+ ? formatter(Plaintext.fromString(result).toObject())
51
+ : undefined;
52
+ }
53
+ catch (err) {
54
+ throw new Error(`Failed to query mapping value for program ${programId}/${mappingName}/${key}: ${err}`);
55
+ }
56
+ }
57
+ /**
58
+ * Helper function to query a mapping value from an Aleo program.
59
+ *
60
+ * @param aleoClient - The Aleo network client
61
+ * @param programId - The program ID to query
62
+ * @param mappingName - The name of the mapping
63
+ * @param key - The key to look up in the mapping
64
+ * @param formatter - Parsing function to transform the raw result into type T
65
+ * @returns The parsed mapping value
66
+ */
67
+ export async function queryMappingValue(aleoClient, programId, mappingName, key, formatter) {
68
+ const result = await tryQueryMappingValue(aleoClient, programId, mappingName, key, formatter);
69
+ assert(!isNullish(result), `Value not found in mapping ${programId}/${mappingName}/${key}`);
70
+ return result;
71
+ }
72
+ //# sourceMappingURL=base-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-query.js","sourceRoot":"","sources":["../../src/utils/base-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIlE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,UAAgC,EAChC,mBAA2B;IAE3B,IAAI,KAAK,GAAG,MAAM,UAAU,CAC1B,GAAG,EAAE,CACH,UAAU,CAAC,sBAAsB,CAAC,mBAAmB,EAAE,OAAO,EAAE,MAAM,CAAC,EACzE,cAAc,EACd,cAAc,CACf,CAAC;IAEF,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,KAAK,GAAG,MAAM,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAAgC,EAChC,SAAiB,EACjB,WAAmB,EACnB,GAAW,EACX,SAA8B;IAE9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAkB,MAAM,UAAU,CAAC,sBAAsB,CACnE,SAAS,EACT,WAAW,EACX,GAAG,CACJ,CAAC;QAEF,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;YACvB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,6CAA6C,SAAS,IAAI,WAAW,IAAI,GAAG,KAAK,GAAG,EAAE,CACvF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAgC,EAChC,SAAiB,EACjB,WAAmB,EACnB,GAAW,EACX,SAA8B;IAE9B,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,UAAU,EACV,SAAS,EACT,WAAW,EACX,GAAG,EACH,SAAS,CACV,CAAC;IAEF,MAAM,CACJ,CAAC,SAAS,CAAC,MAAM,CAAC,EAClB,8BAA8B,SAAS,IAAI,WAAW,IAAI,GAAG,EAAE,CAChE,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function getAddressFromProgramId(programId: string): string;
2
+ export declare function toAleoAddress(programId: string): string;
3
+ export declare function toKeyId(programId: string, mappingName: string, key: string): string;
4
+ //# sourceMappingURL=helper.crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.crypto.d.ts","sourceRoot":"","sources":["../../src/utils/helper.crypto.ts"],"names":[],"mappings":"AAIA,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,OAAO,CACrB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GACV,MAAM,CAER"}
@@ -0,0 +1,12 @@
1
+ import * as mainnetSdk from '@provablehq/sdk/mainnet.js';
2
+ import * as helper from './helper.js';
3
+ export function getAddressFromProgramId(programId) {
4
+ return helper.getAddressFromProgramId(mainnetSdk, programId);
5
+ }
6
+ export function toAleoAddress(programId) {
7
+ return helper.toAleoAddress(mainnetSdk, programId);
8
+ }
9
+ export function toKeyId(programId, mappingName, key) {
10
+ return helper.toKeyId(mainnetSdk, programId, mappingName, key);
11
+ }
12
+ //# sourceMappingURL=helper.crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.crypto.js","sourceRoot":"","sources":["../../src/utils/helper.crypto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AAEzD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,MAAM,UAAU,uBAAuB,CAAC,SAAiB;IACvD,OAAO,MAAM,CAAC,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,OAAO,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,SAAiB,EACjB,WAAmB,EACnB,GAAW;IAEX,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;AACjE,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { TokenType } from '@recoillink/provider-sdk/warp';
2
+ import { type AnyAleoNetworkClient } from '../clients/base.js';
3
+ import { type AleoProgram } from '../programs.js';
4
+ import { AleoNetworkId, AleoTokenType } from './types.js';
5
+ import type { AleoSdk } from './provable.js';
6
+ export declare const MAINNET_PREFIX = "hyp";
7
+ export declare const TESTNET_PREFIX = "test_hyp";
8
+ export declare function getNetworkPrefix(aleoNetworkId: AleoNetworkId): string;
9
+ export declare const RETRY_ATTEMPTS = 10;
10
+ export declare const RETRY_DELAY_MS = 100;
11
+ export declare const SUFFIX_LENGTH_LONG = 6;
12
+ export declare const SUFFIX_LENGTH_SHORT = 3;
13
+ export { ALEO_NATIVE_DENOM, ALEO_NULL_ADDRESS } from '../constants.js';
14
+ export declare function formatAddress(address: string): string;
15
+ export declare function fillArray(array: any[], length: number, fillValue: any): any[];
16
+ export declare function arrayToPlaintext(array: string[]): string;
17
+ export declare function programIdToPlaintext(programId: string): string;
18
+ export declare function getAddressFromProgramId(sdk: AleoSdk, programId: string): string;
19
+ export declare function toAleoAddress(sdk: AleoSdk, programId: string): string;
20
+ export declare function fromAleoAddress(aleoAddress: string): {
21
+ programId: string;
22
+ address: string;
23
+ };
24
+ export declare function getProgramSuffix(address: string): string;
25
+ export declare function getProgramPrefix(programId: string): string;
26
+ export declare function getProgramIdFromSuffix(prefix: string, program: AleoProgram, suffix: string): string;
27
+ export declare function stringToU128(str: string, littleEndian?: boolean): bigint;
28
+ export declare function U128ToString(value: bigint, littleEndian?: boolean): string;
29
+ export declare function bytes32ToU128String(input: string): string;
30
+ export declare function bytesLeToU128String(bytes: Uint8Array): string;
31
+ export declare function u128PairToBytes32(u128PairStr: string): string;
32
+ export declare function getBalanceKey(sdk: AleoSdk, address: string, denom: string): string;
33
+ export declare function toKeyId(sdk: AleoSdk, programId: string, mappingName: string, key: string): string;
34
+ /**
35
+ * Convert AleoTokenType to provider-sdk TokenType
36
+ */
37
+ export declare function providerWarpTokenTypeFromAleoTokenType(aleoType: AleoTokenType): TokenType;
38
+ /**
39
+ * Generate a random suffix of length n using alphanumeric characters
40
+ */
41
+ export declare function generateSuffix(n: number): string;
42
+ /**
43
+ * Check if a program is already deployed on chain.
44
+ */
45
+ export declare function isProgramDeployed(aleoClient: AnyAleoNetworkClient, programId: string): Promise<boolean>;
46
+ /**
47
+ * Generate a random suffix and verify it is not already deployed on chain.
48
+ */
49
+ export declare function getUnusedSuffix(aleoClient: AnyAleoNetworkClient, prefix: string, programName: AleoProgram, length: number, maxAttempts?: number): Promise<string>;
50
+ /**
51
+ * Format ISM address by combining manager program ID with plain address.
52
+ * Returns null address for zeroish addresses.
53
+ */
54
+ export declare function formatIsmAddress(ismAddress: string, ismManagerProgramId: string): string;
55
+ /**
56
+ * Format Hook address by combining manager program ID with plain address.
57
+ * Returns null address for zeroish addresses.
58
+ *
59
+ */
60
+ export declare function formatHookAddress(hookAddress: string, mailboxProgramId: string): string;
61
+ export declare function isV2WarpToken(programId: string): boolean;
62
+ export declare function isArc20ProgramId(denom: string): boolean;
63
+ //# sourceMappingURL=helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/utils/helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,291 @@
1
+ import { TokenType } from '@recoillink/provider-sdk/warp';
2
+ import { assert, isValidAddressAleo, isZeroishAddress, strip0x, toHexString, } from '@recoillink/utils';
3
+ import { ALEO_NULL_ADDRESS } from '../constants.js';
4
+ import { ALEO_PROGRAMS } from '../programs.js';
5
+ import { AleoNetworkId, AleoTokenType } from './types.js';
6
+ const skipSuffixes = JSON.parse(process.env['ALEO_SKIP_SUFFIXES'] || 'false');
7
+ export const MAINNET_PREFIX = 'hyp';
8
+ export const TESTNET_PREFIX = 'test_hyp';
9
+ export function getNetworkPrefix(aleoNetworkId) {
10
+ return aleoNetworkId === AleoNetworkId.TESTNET
11
+ ? TESTNET_PREFIX
12
+ : MAINNET_PREFIX;
13
+ }
14
+ export const RETRY_ATTEMPTS = 10;
15
+ export const RETRY_DELAY_MS = 100;
16
+ export const SUFFIX_LENGTH_LONG = 6;
17
+ export const SUFFIX_LENGTH_SHORT = 3;
18
+ export { ALEO_NATIVE_DENOM, ALEO_NULL_ADDRESS } from '../constants.js';
19
+ export function formatAddress(address) {
20
+ return isZeroishAddress(address) ? '' : address;
21
+ }
22
+ export function fillArray(array, length, fillValue) {
23
+ return array.length < length
24
+ ? [...array, ...Array(length - array.length).fill(fillValue)]
25
+ : array.slice(0, length);
26
+ }
27
+ export function arrayToPlaintext(array) {
28
+ return `[${array.join(',')}]`;
29
+ }
30
+ export function programIdToPlaintext(programId) {
31
+ const bytes = Array.from(programId).map((c) => `${c.charCodeAt(0)}u8`);
32
+ return arrayToPlaintext(fillArray(bytes, 128, `0u8`));
33
+ }
34
+ export function getAddressFromProgramId(sdk, programId) {
35
+ return sdk.Plaintext.fromString(programId).toString();
36
+ }
37
+ export function toAleoAddress(sdk, programId) {
38
+ return `${programId}/${getAddressFromProgramId(sdk, programId)}`;
39
+ }
40
+ export function fromAleoAddress(aleoAddress) {
41
+ if (!isValidAddressAleo(aleoAddress)) {
42
+ throw new Error(`address ${aleoAddress} is no valid aleo address`);
43
+ }
44
+ const [programId, address] = aleoAddress.split('/');
45
+ // If address is not defined, then it means that the address
46
+ // does not have a programId prefix but it is still a valid aleo address
47
+ // because it passed validation
48
+ if (!address) {
49
+ return {
50
+ // FIXME, change this function return type signature to make it explicit
51
+ // that the programId might not be found
52
+ programId: '',
53
+ address: aleoAddress,
54
+ };
55
+ }
56
+ assert(programId, `address ${aleoAddress} has no program id`);
57
+ return {
58
+ programId,
59
+ address,
60
+ };
61
+ }
62
+ export function getProgramSuffix(address) {
63
+ let suffix = address;
64
+ for (const prefix of [`${TESTNET_PREFIX}_`, `${MAINNET_PREFIX}_`]) {
65
+ suffix = suffix.replaceAll(prefix, '');
66
+ }
67
+ for (const key of ALEO_PROGRAMS) {
68
+ suffix = suffix.replaceAll(key, '');
69
+ }
70
+ suffix = suffix.replaceAll('.aleo', '');
71
+ suffix = suffix.replaceAll('_', '');
72
+ return suffix;
73
+ }
74
+ export function getProgramPrefix(programId) {
75
+ for (const programIdPrefix of [TESTNET_PREFIX, MAINNET_PREFIX]) {
76
+ if (programId.startsWith(programIdPrefix)) {
77
+ return programIdPrefix;
78
+ }
79
+ }
80
+ throw new Error(`Provided program address did not include a valid prefix`);
81
+ }
82
+ export function getProgramIdFromSuffix(prefix, program, suffix) {
83
+ if (skipSuffixes || !suffix) {
84
+ return `${prefix}_${program}.aleo`;
85
+ }
86
+ return `${prefix}_${program}_${suffix}.aleo`;
87
+ }
88
+ export function stringToU128(str, littleEndian = false) {
89
+ if (str.length > 16) {
90
+ throw new RangeError('String must not exceed 16 bytes for u128');
91
+ }
92
+ const inputBytes = Uint8Array.from(str, (c) => c.charCodeAt(0));
93
+ const bytes = new Uint8Array(16);
94
+ bytes.set(inputBytes, 0);
95
+ let value = 0n;
96
+ if (!littleEndian) {
97
+ for (const byte of bytes) {
98
+ value = (value << 8n) | BigInt(byte);
99
+ }
100
+ }
101
+ else {
102
+ for (const byte of Array.from(bytes).reverse()) {
103
+ value = (value << 8n) | BigInt(byte);
104
+ }
105
+ }
106
+ return value;
107
+ }
108
+ export function U128ToString(value, littleEndian = false) {
109
+ if (value < 0n || value >= 1n << 128n) {
110
+ throw new RangeError('Value out of range for u128');
111
+ }
112
+ const bytes = new Uint8Array(16);
113
+ let temp = value;
114
+ for (let i = 0; i < 16; i++) {
115
+ const byte = Number(temp & 0xffn);
116
+ bytes[littleEndian ? i : 15 - i] = byte;
117
+ temp >>= 8n;
118
+ }
119
+ return String.fromCharCode(...bytes.filter((b) => b > 0));
120
+ }
121
+ export function bytes32ToU128String(input) {
122
+ const bytes = Buffer.from(strip0x(input), 'hex');
123
+ // Split into two 128-bit chunks
124
+ const lowBytes = Uint8Array.from(bytes.subarray(0, 16));
125
+ const highBytes = Uint8Array.from(bytes.subarray(16, 32));
126
+ return `[${bytesLeToU128String(lowBytes)},${bytesLeToU128String(highBytes)}]`;
127
+ }
128
+ export function bytesLeToU128String(bytes) {
129
+ assert(bytes.length <= 16, `bytesLeToU128String: expected at most 16 bytes`);
130
+ let value = 0n;
131
+ for (const byte of Array.from(bytes).reverse()) {
132
+ value = (value << 8n) | BigInt(byte);
133
+ }
134
+ return `${value}u128`;
135
+ }
136
+ // Inverse of bytes32ToU128String: parses "[lowU128u128, highU128u128]" from dispatch_id_events
137
+ // and converts back to a 0x-prefixed 32-byte hex string.
138
+ export function u128PairToBytes32(u128PairStr) {
139
+ assert(u128PairStr.startsWith('[') && u128PairStr.endsWith(']'), `u128PairToBytes32: expected "[low,high]" format, got: ${u128PairStr}`);
140
+ const inner = u128PairStr.slice(1, -1);
141
+ const parts = inner.split(',').map((s) => s.trim().replace(/u128$/, ''));
142
+ assert(parts.length === 2, `u128PairToBytes32: expected exactly 2 comma-separated parts, got ${parts.length}: ${inner}`);
143
+ const [lowPart, highPart] = parts;
144
+ assert(lowPart !== undefined && highPart !== undefined, `u128PairToBytes32: expected two defined parts`);
145
+ const low = BigInt(lowPart);
146
+ const high = BigInt(highPart);
147
+ const u128Max = 2n ** 128n;
148
+ assert(low >= 0n && low < u128Max, `u128PairToBytes32: low value out of u128 range: ${low}`);
149
+ assert(high >= 0n && high < u128Max, `u128PairToBytes32: high value out of u128 range: ${high}`);
150
+ const bytes = new Uint8Array(32);
151
+ let tempLow = low;
152
+ for (let i = 0; i < 16; i++) {
153
+ bytes[i] = Number(tempLow & 0xffn);
154
+ tempLow >>= 8n;
155
+ }
156
+ let tempHigh = high;
157
+ for (let i = 0; i < 16; i++) {
158
+ bytes[16 + i] = Number(tempHigh & 0xffn);
159
+ tempHigh >>= 8n;
160
+ }
161
+ return toHexString(Buffer.from(bytes));
162
+ }
163
+ export function getBalanceKey(sdk, address, denom) {
164
+ return new sdk.BHP256()
165
+ .hash(sdk.Plaintext.fromString(`{account:${address},token_id:${denom}}`).toBitsLe())
166
+ .toString();
167
+ }
168
+ // Aleo scalar field (BLS12-377 Fr) is 253 bits.
169
+ const ALEO_FIELD_BITS = 253;
170
+ // Encodes an Aleo Identifier to its snarkVM LE bit representation.
171
+ // Identifier stores ASCII bytes packed into a field element: chars → LE bits → zero-padded to 253 bits.
172
+ function identifierToBitsLe(name) {
173
+ const bits = [];
174
+ for (let i = 0; i < name.length; i++) {
175
+ const byte = name.charCodeAt(i);
176
+ for (let b = 0; b < 8; b++)
177
+ bits.push(((byte >> b) & 1) === 1);
178
+ }
179
+ while (bits.length < ALEO_FIELD_BITS)
180
+ bits.push(false);
181
+ return bits;
182
+ }
183
+ // Encodes an Aleo ProgramID (e.g., "mailbox.aleo") as LE bits.
184
+ // ProgramID serializes as: name identifier bits || network identifier bits.
185
+ function programIdToBitsLe(programId) {
186
+ const dot = programId.lastIndexOf('.');
187
+ return [
188
+ ...identifierToBitsLe(programId.slice(0, dot)),
189
+ ...identifierToBitsLe(programId.slice(dot + 1)),
190
+ ];
191
+ }
192
+ // Computes the Aleo mapping key_id used in FinalizeJSON.
193
+ // Matches the Rust `to_key_id` in hyperlane-aleo/src/utils.rs:
194
+ // BHP1024(programId_bits | false | mappingName_bits | false | plaintextKey_bits)
195
+ // key must be a valid Aleo plaintext string, e.g. "0u32".
196
+ export function toKeyId(sdk, programId, mappingName, key) {
197
+ const bits = [
198
+ ...programIdToBitsLe(programId),
199
+ false,
200
+ ...identifierToBitsLe(mappingName),
201
+ false,
202
+ ...sdk.Plaintext.fromString(key).toBitsLe(),
203
+ ];
204
+ return new sdk.BHP1024().hash(bits).toString();
205
+ }
206
+ /**
207
+ * Convert AleoTokenType to provider-sdk TokenType
208
+ */
209
+ export function providerWarpTokenTypeFromAleoTokenType(aleoType) {
210
+ switch (aleoType) {
211
+ case AleoTokenType.NATIVE:
212
+ return TokenType.native;
213
+ case AleoTokenType.SYNTHETIC:
214
+ return TokenType.synthetic;
215
+ case AleoTokenType.COLLATERAL:
216
+ return TokenType.collateral;
217
+ default:
218
+ throw new Error(`Unknown AleoTokenType: ${aleoType}`);
219
+ }
220
+ }
221
+ /**
222
+ * Generate a random suffix of length n using alphanumeric characters
223
+ */
224
+ export function generateSuffix(n) {
225
+ const characters = '0123456789abcdefghijklmnopqrstuvwxyz';
226
+ let result = '';
227
+ for (let i = 0; i < n; i++) {
228
+ const randomIndex = Math.floor(Math.random() * characters.length);
229
+ result += characters[randomIndex];
230
+ }
231
+ return result;
232
+ }
233
+ /**
234
+ * Check if a program is already deployed on chain.
235
+ */
236
+ export async function isProgramDeployed(aleoClient, programId) {
237
+ try {
238
+ await aleoClient.getProgram(programId);
239
+ return true;
240
+ }
241
+ catch {
242
+ return false;
243
+ }
244
+ }
245
+ /**
246
+ * Generate a random suffix and verify it is not already deployed on chain.
247
+ */
248
+ export async function getUnusedSuffix(aleoClient, prefix, programName, length, maxAttempts = 20) {
249
+ for (let i = 0; i < maxAttempts; i++) {
250
+ const suffix = generateSuffix(length);
251
+ const programId = getProgramIdFromSuffix(prefix, programName, suffix);
252
+ if (!(await isProgramDeployed(aleoClient, programId))) {
253
+ return suffix;
254
+ }
255
+ }
256
+ throw new Error(`Could not find an unused suffix for ${programName} after ${maxAttempts} attempts`);
257
+ }
258
+ /**
259
+ * Format ISM address by combining manager program ID with plain address.
260
+ * Returns null address for zeroish addresses.
261
+ */
262
+ export function formatIsmAddress(ismAddress, ismManagerProgramId) {
263
+ if (isZeroishAddress(ismAddress)) {
264
+ return ALEO_NULL_ADDRESS;
265
+ }
266
+ return `${ismManagerProgramId}/${ismAddress}`;
267
+ }
268
+ /**
269
+ * Format Hook address by combining manager program ID with plain address.
270
+ * Returns null address for zeroish addresses.
271
+ *
272
+ */
273
+ export function formatHookAddress(hookAddress,
274
+ // The mailboxProgramId is required as in the current deployment
275
+ // flow the hook address is generated based on the mailbox address
276
+ mailboxProgramId) {
277
+ if (isZeroishAddress(hookAddress)) {
278
+ return ALEO_NULL_ADDRESS;
279
+ }
280
+ const mailboxPrefix = getProgramPrefix(mailboxProgramId);
281
+ const mailboxSuffix = getProgramSuffix(mailboxProgramId);
282
+ const hookManagerProgramId = getProgramIdFromSuffix(mailboxPrefix, 'hook_manager', mailboxSuffix);
283
+ return `${hookManagerProgramId}/${hookAddress}`;
284
+ }
285
+ export function isV2WarpToken(programId) {
286
+ return programId.endsWith('_v2.aleo');
287
+ }
288
+ export function isArc20ProgramId(denom) {
289
+ return denom.endsWith('.aleo');
290
+ }
291
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/utils/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,EACP,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAoB,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,OAAO,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;AACpC,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AAEzC,MAAM,UAAU,gBAAgB,CAAC,aAA4B;IAC3D,OAAO,aAAa,KAAK,aAAa,CAAC,OAAO;QAC5C,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,cAAc,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAElC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAY,EAAE,MAAc,EAAE,SAAc;IACpE,OAAO,KAAK,CAAC,MAAM,GAAG,MAAM;QAC1B,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAe;IAC9C,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvE,OAAO,gBAAgB,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,GAAY,EACZ,SAAiB;IAEjB,OAAO,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAY,EAAE,SAAiB;IAC3D,OAAO,GAAG,SAAS,IAAI,uBAAuB,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAmB;IAIjD,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,2BAA2B,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAA2B,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE5E,4DAA4D;IAC5D,wEAAwE;IACxE,+BAA+B;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,wEAAwE;YACxE,wCAAwC;YACxC,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,WAAW;SACrB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,SAAS,EAAE,WAAW,WAAW,oBAAoB,CAAC,CAAC;IAE9D,OAAO;QACL,SAAS;QACT,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,IAAI,MAAM,GAAG,OAAO,CAAC;IAErB,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,cAAc,GAAG,EAAE,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEpC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,KAAK,MAAM,eAAe,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE,CAAC;QAC/D,IAAI,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAC1C,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,OAAoB,EACpB,MAAc;IAEd,IAAI,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,GAAG,MAAM,IAAI,OAAO,OAAO,CAAC;IACrC,CAAC;IAED,OAAO,GAAG,MAAM,IAAI,OAAO,IAAI,MAAM,OAAO,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,YAAY,GAAG,KAAK;IAC5D,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,UAAU,CAAC,0CAA0C,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAEzB,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,YAAY,GAAG,KAAK;IAC9D,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QACtC,MAAM,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,IAAI,IAAI,GAAG,KAAK,CAAC;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;QAClC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QACxC,IAAI,KAAK,EAAE,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IAEjD,gCAAgC;IAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAE1D,OAAO,IAAI,mBAAmB,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAiB;IACnD,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,gDAAgD,CAAC,CAAC;IAC7E,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,GAAG,KAAK,MAAM,CAAC;AACxB,CAAC;AAED,+FAA+F;AAC/F,yDAAyD;AACzD,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,MAAM,CACJ,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EACxD,yDAAyD,WAAW,EAAE,CACvE,CAAC;IACF,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACzE,MAAM,CACJ,KAAK,CAAC,MAAM,KAAK,CAAC,EAClB,oEAAoE,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAC7F,CAAC;IACF,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC;IAClC,MAAM,CACJ,OAAO,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAC/C,+CAA+C,CAChD,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,EAAE,IAAI,IAAI,CAAC;IAC3B,MAAM,CACJ,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG,OAAO,EAC1B,mDAAmD,GAAG,EAAE,CACzD,CAAC;IACF,MAAM,CACJ,IAAI,IAAI,EAAE,IAAI,IAAI,GAAG,OAAO,EAC5B,oDAAoD,IAAI,EAAE,CAC3D,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,IAAI,OAAO,GAAG,GAAG,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;QACnC,OAAO,KAAK,EAAE,CAAC;IACjB,CAAC;IACD,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;QACzC,QAAQ,KAAK,EAAE,CAAC;IAClB,CAAC;IACD,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,GAAY,EACZ,OAAe,EACf,KAAa;IAEb,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE;SACpB,IAAI,CACH,GAAG,CAAC,SAAS,CAAC,UAAU,CACtB,YAAY,OAAO,aAAa,KAAK,GAAG,CACzC,CAAC,QAAQ,EAAE,CACb;SACA,QAAQ,EAAE,CAAC;AAChB,CAAC;AAED,gDAAgD;AAChD,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,mEAAmE;AACnE,wGAAwG;AACxG,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,GAAG,eAAe;QAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+DAA+D;AAC/D,4EAA4E;AAC5E,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO;QACL,GAAG,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9C,GAAG,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,yDAAyD;AACzD,+DAA+D;AAC/D,mFAAmF;AACnF,0DAA0D;AAC1D,MAAM,UAAU,OAAO,CACrB,GAAY,EACZ,SAAiB,EACjB,WAAmB,EACnB,GAAW;IAEX,MAAM,IAAI,GAAc;QACtB,GAAG,iBAAiB,CAAC,SAAS,CAAC;QAC/B,KAAK;QACL,GAAG,kBAAkB,CAAC,WAAW,CAAC;QAClC,KAAK;QACL,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;KAC5C,CAAC;IACF,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sCAAsC,CACpD,QAAuB;IAEvB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,aAAa,CAAC,MAAM;YACvB,OAAO,SAAS,CAAC,MAAM,CAAC;QAC1B,KAAK,aAAa,CAAC,SAAS;YAC1B,OAAO,SAAS,CAAC,SAAS,CAAC;QAC7B,KAAK,aAAa,CAAC,UAAU;YAC3B,OAAO,SAAS,CAAC,UAAU,CAAC;QAC9B;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,MAAM,UAAU,GAAG,sCAAsC,CAAC;IAC1D,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAgC,EAChC,SAAiB;IAEjB,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAgC,EAChC,MAAc,EACd,WAAwB,EACxB,MAAc,EACd,WAAW,GAAG,EAAE;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,CAAC,MAAM,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;YACtD,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,uCAAuC,WAAW,UAAU,WAAW,WAAW,CACnF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAkB,EAClB,mBAA2B;IAE3B,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,OAAO,GAAG,mBAAmB,IAAI,UAAU,EAAE,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAAmB;AACnB,gEAAgE;AAChE,kEAAkE;AAClE,gBAAwB;IAExB,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACzD,MAAM,oBAAoB,GAAG,sBAAsB,CACjD,aAAa,EACb,cAAc,EACd,aAAa,CACd,CAAC;IAEF,OAAO,GAAG,oBAAoB,IAAI,WAAW,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,OAAO,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type AleoProgram } from '../programs.js';
2
+ export declare const PROGRAM_FILE_ENV: Partial<Record<AleoProgram, string>>;
3
+ export declare function getFileOverrideProgramId(programName: AleoProgram): string | undefined;
4
+ export declare function loadProgramsInDeployOrder(prefix: string, programName: AleoProgram, coreSuffix: string, warpSuffix?: string): {
5
+ id: string;
6
+ name: string;
7
+ program: string;
8
+ }[];
9
+ //# sourceMappingURL=helper.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.node.d.ts","sourceRoot":"","sources":["../../src/utils/helper.node.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAOlD,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAWjE,CAAC;AA4BF,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,WAAW,GACvB,MAAM,GAAG,SAAS,CAEpB;AAMD,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAiKjD"}